总有一些书,让你一看就停不下来,看完之后热血沸腾,激动不已,犹如醍醐灌顶,如饮甘霖。
有些事,自己领悟三五年,不如别人三五句话点得通透。
本来,开篇应该是介绍技术的,但是我决定将技术的放在后面讲,开篇先讲领导艺术。就算你是架构师,事情做的再漂亮,然而失去人心,那么最终的结果也是失败的。
架构师职责简介:
架构师是软件开发组织中一个比较特殊的角色,除了架构设计,软件开发等技术类工作,通常还需要承担一些管理职能:规划产品路线、估算人力资源和时间资源、安排人员职责分工、确定计划里程碑点、指导工程师工作、过程风险评估和控制等。这些管理事务需要对产品技术架构、功能模块划分、技术风险都熟悉的架构师参与或直接负责。
在软件开发过程中,架构师除了实现技术架构,完成产品技术实现外,还需要和项目组内外各种角色沟通协调。可以说架构师相当多的时间用在和人沟通上,处理好人的关系对架构和项目至关重要。
架构师作为项目组最资深的专业技术人员,是项目组开发和测试工程师的前辈。从架构师身上,工程师可以看到自己的未来,因此架构师在做人做事方面必须严格要求自己,做好表率。
一 关注人而不是产品
一定要坚信:一群优秀的人做他们热爱的事,一定能取得成功。不管过程多么曲折,不管外人看起来多么不可思议不靠谱。
所以最好的软件项目管理不是制定计划,组织资源,跟踪和修正项目进展,对成员进行激励和惩罚,而是发掘项目组每个成员的优秀潜能,让大家理解并热爱软件产品最终的蓝图和愿景。每个人都为实现自我价值而努力,而不是为了领工资而工作。
一旦做到这一点,项目组成员会自我驱动,自觉合作,寻找达成目标的最优路径并坚韧不拔的潜行,整个过程中,不需要拙劣的胡萝卜和大棒。最好的奖励就是要达成的目标本身。最大的惩罚就是这个美好的目标没有实现。
这也是领导的真谛:寻找一个值得共同奋斗的目标,营造一个大家都能最大限度发挥自我价值的工作氛围。
没有懒惰的员工,只要没被激发出来的激情。所有强迫员工加班的管理者都应该为自己的无能感到羞愧。
二 发掘人的优秀
指望优秀的人来帮自己成事,不如做成一件事让自己和参与的人都变得优秀。优秀需要合适的环境才能被激发出来。比如做一些有挑战的事,和更优秀的人合作,抑或拥有超越自我的勇气。
三 共享美好的蓝图
架构师要和项目组全体成员共同描绘一个蓝图,这个蓝图是整个团队能够认同的,是团队共同奋斗的目标。
蓝图应该是表述清楚的:产品要做什么,不做什么,要达到什么业务目标,都需要描述清楚。
蓝图应该是形象的:产品能为用户创造什么价值,能实现什么样的市场目标,产品最终会长什么样,都需要形象的想象出来。
蓝图应该是简单的:不管是内部还是外部沟通,都能一句话说明白:我们在做什么。
蓝图应该写在软架构设计文档的首页,写在邮件的签名档,写在内部即时通讯群的公告上。
在项目过程中,架构师要保存对目标蓝图的关注,对任何偏离蓝图的设计和决定保持警惕,错误的偏离要及时修正,必要的变更要经过大家讨论,并且需要重新获得大家的认同。
当软件开发者闭上眼睛就能看到软件实现价值的那一刻,这就是蓝图的力量。
青春总是会逝去,人总是会死的。但愿我白发苍苍回首往事时,不会为自己碌碌无为无所事事而遗憾后悔。
四 共同参与架构
架构师不要把架构当作自己的私有财产,为了维护架构的纯洁和架构师的微信而不让他人染指架构。让项目参与者对架构充分争论,大家越是觉得自己是项目架构的重要贡献者,就越是原意对开发过程承担责任,越是愿意共同维护架构和改善软件。
五 学会妥协
架构师对于意见,应该坦率的分享自己设计思路,让别人理解自己的想法并努力理解别人的想法,求同存异。
六 成就他人
每个人活着的意义不一样。但对大多数男人来讲,意义总是差不多的,那就是:成就自己。而要想成就自己,就必须要成就他人。
每个人都有自己成就的目标。而工作是达成自我成就的一种手段:通过工作的挑战,发掘自我的潜能,重新认知自我和世界。
做成一个项目不但要给客户创造价值,为公司盈利,还要让项目成员获得成长。要让他们觉得通过这个项目,自己的知识技能和业务水平都得到了提高。让每个人都认为自己在项目中至关重要,不要或缺。
架构师作为团队的技术领导者,在项目过程中不要试图去控制什么,带着一个弹性的计划和蓝图推进,团队会管好他们自己的。你越是加强禁令,队伍就越是没有纪律。你越是强制,队伍就越是不能独立自主,你越是从外面寻找帮助,队伍就越是没有信心。
而一旦打造出了一个优秀的团队,往后遇到困难,你都可以从容应对了,因为你不是一个人在战斗。同时一个优秀的团队内部也会产生化学反应,制造出超越工作本身的机会,创造更好的未来蓝图。
后记:这本书我两天看完的,根本停不下来。实在是好书一本,强烈推荐。