10月17日、18日,公司在北京开展了为期两天的敏捷培训,经过系统的前期调研,结合公司现有敏捷项目的实际特点,邀请来自公司各团队的50多位参与过敏捷项目的技术人员和项目经理参与本次培训。
敏捷培训旨在系统化导入国内先进敏捷经验与知识,学习国内外优秀公司的经典敏捷案例,使公司在敏捷项目实施过程中更系统、更专业,让技术研发团队的项目管理过程更高效、更敏捷、更科学。
本次外聘了国内资深敏捷教练杨老师,系统、全面地带大家认识了“敏捷”。随着移动互联网、大数据、云计算、人工智能等诸多创新科技的不断涌现,经济环境呈现出越来越大的易变性、不确定性、复杂性以及模糊性,使我们迎来了乌卡(VUCA)时代。在这个机遇与挑战同在,拥抱变化、快速学习的时代,迭代演进、快速交付成为了企业发展的必然要求,敏捷应运而生并迅速发展。
一、什么是敏捷?
敏捷软件开发是指一组基于迭代开发的软件开发方法,其中需求和解决方案是通过自组织的跨功能团队之间的协作来开发的。
在本次培训中,老师主要对敏捷的价值观、原则、方法论等内容进行了讲解,同时指出使用敏捷软件开发最关键的点就是认同敏捷价值观。在这种价值观下,团队才能一直在实践中探寻更好地软件开发方法,同时又能身体力行的帮助他人达到共赢,并为企业带来长足的发展。
在授课过程中,杨老师用说文解字的方式详细讲解了敏+捷、管+理。敏是思维的敏,可以借鉴优秀者的思维模型;捷是行为的捷,即做事的效率,推荐集中精力整段时间做事。管,包含管人、管事、管物;理,包含法理、情理、数理。敏捷管理是在做事中注入敏捷思维,提升管理效率。
二、简单解读敏捷原则
● 没有单一确定的方法保证团队一定能开发出完美的软件,但是在不断摸索的过程中,衍生了一系列原则来帮助敏捷团队。
● 我们最重要的目标,是通过持续不断地及早交付有价值的软件使客户满意。
● 欣然面对需求变化,即使在开发后期也一样。为了客户的竞争优势,敏捷过程掌控变化。
● 经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。
● 业务人员和开发人员必须相互合作,项目中的每一天都不例外。
● 激发个体的斗志,以他们为核心搭建项目。提供所需的环境和支援,辅以信任,从而达成目标。
● 不论团队内外,传递信息效果最好效率也最高的方式是面对面的交谈。
● 可工作的软件是进度的首要度量标准。
● 敏捷过程倡导可持续开发。责任人、开发人员和用户要能够共同维持其步调稳定延续。
● 坚持不懈地追求技术卓越和良好设计,敏捷能力由此增强。
● 以简洁为本,它是极力减少不必要工作量的艺术。
● 最好的架构、需求和设计出自“自组织团队”。
● 团队定期地反思如何能提高成效,并依此调整自身的举止表现。
三、敏捷开发
目前敏捷开发方法流派众多,主流的敏捷开发方法有:Scrum、XP、精益看板、TDD、SAFe、Less等等。老师在培训中融入了多家公司的敏捷开发相关案例,帮助大家深入理解敏捷具体实践。
四、敏捷的好处
● 为客户带来好处
客户发现开发团队对需求的响应能力更快更强,与经典的“瀑布式”较长的开发周期相比,使用较短的开发周期来交付高价值的功能。
● 为企业带来好处
开发团队通过将开发工作集中在高价值的功能上来减少内耗和开销,并且提高了效率,缩短了交付时间,提高了客户满意度意味着保留了客户信任值以及得到客户的推荐。
● 为开发团队带来好处
敏捷会让团队成员喜欢开发工作,喜欢看到他们的工作成果得到使用和重视。给团队更多的时间去做他们喜欢的工作,从而使团队成员受益。团队成员知道他们的工作是有价值的,因为选择需求是为了让客户的利益最大化。
培训最后,老师为大家推荐了《阿米巴经营》《用户故事地图》《请不要让我思考》《领域驱动设计》《Design Thinking》 《重构——改善既有代码设计》《整洁代码》《ICONIX》《番茄钟工作法》等关于敏捷的相关书籍和文档协同编写工具wiki、Jira Confluence、代码行统计工具MS TFS、代码检查工具Sonar、业务建模工具ERP5、UI原型绘制工具Pdtools等相关工具,帮助大家拓展学习,强化技能,在团队工作中发挥更大的能量。
五、课堂互动环节
学员反馈
● 无论是敏捷管理,还是其他的各种管理方式,做产品和做系统,质量都是第一个要推崇的底线。
● 敏捷管理的实施是有层次的,着眼于效率的提升,通过不断持续改进的过程,促进个体、团队、项目、产品、组织等一系列实体效率的提升和质量的提高。
● 敏捷管理实践和其他管理实践是相互补充、辩证统一的,都是人们在工作活动中不断优化管理实践的活动,要因地制宜,根据自己行业和公司的实际情况做裁剪和改变,适应自己的组织和团队。
● 文档是水到渠成的,后补的文档是没有用的;学习借鉴可复制的优秀者的做事过程;估算的方式,与我们现有推行的估算有差别,感觉老师讲的方法更容易被团队接受;讲述用户故事,从开发、测试的角度描述了各自都需要什么信息。