SEP18

敏捷团队中软件开发人员每天必做的事情

2012-09-18信息来源:raythonsoft

敏捷软件开发理念推广的十年来,越来越受软件开发团队甚至是其他知识型团队的追崇。但实践敏捷理念的团队很多,真正做到并成为敏捷团队的却很少。而导致不能成功建立敏捷式的软件开发团队,人是其中一个原因。所以必须要以人为本,持续优化知识工作人员每天必做的事情。

 

1、专注:在发现问题的警觉和解决问题的行动上。
敏捷开发绝对不是一套一成不变的标准化流程。而更多的是一种角色互动的自适应、持续改进的流程优化理念。需要敏捷团队中各类角色人员对工作中任何不对的、不确定的、有困难的、效率低下等影响项目进度和质量的事情有高度警觉性,和将察觉到的问题提出来并专注解决问题的行动力。

 

 

2、记住:不要传统式协作,而要敏捷式协作。
在传统的瀑布式软件开发过程中,协作主要是按角色定义来的,每个职位角色被赋予一系列特定的职责,每个职位角色通过流程来驱动,每个阶段有明确的输入和输出。流程过程的工作结果以大量的文档为载体,信息单方向流动。而敏捷团队的协作是在信息不断被成员加工并交换的过程中完成的。信息的加工与交换过程不受成员角色、流程与文档的限制,在各种不确定性中激荡信息,让团队各个成员能够更快地对新的信息进行理解、分析并做出解决问题的决定,最后加工成工作成果价值。

 

3、唤醒:提升客户价值和用户体验的质量意识。
一些软件开发公司人员在早期只关注功能实现,到交付后期才开始对质量进行修补,这种情况很常见,特别是在项目时间工期压力大的情况下更是如此。而睿森软件公司提倡要在每天的工作细节中持续完善产品的质量管理,每一天都不仅仅是完成功能,而要完成以客户价值、用户体验为目标的任务。

 

 

4、实践:需求推动沟通,有效沟通是关键第一步。
在敏捷团队中,需要有效沟通,及时反馈。对外的客户沟通,通过需求调研、需求分析、设计需求原型等方式来实现对客户需求的持续性研究完善。对内的成员沟通,需要先把对外沟通获取的信息及要求准确传达,然后开发人员进行内部需求讨论、分解故事、沟通设计、估算时间、控制进度与质量、整理知识等“琐碎事”, 编写“用户故事”、“测试用例”、“任务”、“检查点”、“验收反馈”等文档工具来更有效地推动沟通工作。

 

5、实践:测试驱动开发,就是首先快速有效地实现客户需求。
我们一般的顺序是先开发后测试,然而敏捷开发实践要求我们要“面向任务对象”。这个思路其实就是目标驱动法则,先假设任务目标已达到,写出达到这个任务目标有效的解决方法(即测试用例),然后我们编写的开发代码应该能通过这些测试用例。这样思路的好处就是能让我们想清楚目标,所有的开发都是有针对性的,减少无用功,提高工作效率,同时因为测试已经写好了,代码的质量会更加有保障。

 

6、实践:思维超越技术,软件开发最重要的就是思维方式
软件开发人员大都会逛技术论坛/博客,把认为有用的技术实现方法和代码整理成自己的知识库。这种学习技术的方法效果如何暂且不说,然信息化技术发展到现在,某个需求的技术实现方式可能有很多种,也可能暂时没有很好的实现方案。这需要平衡需求的很多方面:其他需求关联性、时间人力成本、用户体验、延展需求等,这都要求能全面性思考、逻辑化分析。