软件开发时,需求调研,计划,排版,需求变更,代码质量问题,导致软件开发延期甚至停滞不前,交付软件完全不为客户所接受,这样看起来是令人极度伤心的事情,当然这是采用传统方法有可能的最坏结果,不排除传统方法也有成功的时候,比如需求固定或变更很少的时候。那么有没有一种让我们避开这些坑的理想方法呢?比如以下理想场景:
1.团队成员对构建产品充满了激情,了解其他软件的痛点,积极采取措施客服之。
2.开发团队成员有关键客户或可以接触到关键客户,能确保程序以正确的方式运行。
3.没有计划,只有一个功能列表,直接从核心功能入手,能保证软件用起来,后期再开发锦上添花的功能。
4.团队构建产品的流程会不断进行完善,会不断检查产品质量,有严格的质量检查。
以上场景就是软件开发行业厌倦了传统方法的累赘,兴起了所谓的敏捷革命的运动,以一种灵活、反馈及时的方式来开发软件。这项运动还有以下宣言:
1.个人和交互胜于流程和工具
强调沟通,不局囿于固化的流程和工具
2.可以工作的软件胜于复杂的文档
高效的交付软件强过冗长复杂的文档,不过于依赖文档,文档不及时维护,会腐烂
3.客户合作胜于合同谈判
客户配合总比各种合同条款扯皮要好
4.拥抱变化胜于固守流程
不断变化才是这个世界发展的主题,拥抱变化,积极应对才是王道,有的流程接着走就是往错误的方向走,无异于飞蛾扑火
以上后者也有一定价值,但是前者价值更大。