设计开发流程是敏捷开发的关键起始点。开发流程把开发工作分解成具体的阶段。每一个阶段包含具体的工作和任务。清晰的流程框架可以帮助团队更好的开发软件。软件开发流程需要持续的状况评估和问题决策。
软件生命期是从最开始的产品设计到最后产品下架。这门课集中于如何设计开发流程来管理项目,以方便把客户的想法转化为可使用的软件。
一个流程可以被分解成很多阶段。对于软件开发,比较经典的阶段划分是,明确要求,设计开发,测试检验。阶段包含的任务是小的,可管理的项目工作量。
构造一个合理的流程计划是完成出色项目的关键。三种常见的流程模型如下:
1.顺序流程模型---每个阶段一个接一个顺序完成
2.迭代流程模型---阶段工作循环前进
3.并行流程模型---不同类型的工作同时进行
任务是可管理的最小工作量,消耗一定资源。任务具有依赖性:有些任务必须等待另一些任务的完成。这种依赖性决定了任务的完成顺序。我们必须明晰所有任务的依赖关系,避免流程混乱和资源浪费。
理想的说,特定工作人员完成特定任务。但是,更好的实践方法是,把任务分配给特定工作角色,而不是工作人员。因为,首先团队的人员组织经常变化,把任务分配给工作角色能更好的保持稳定的进度;其次,这种任务分配方法可以避免主观个人偏好。工作角色,一般来说,是工作职位,比如软件工程师,交互设计师。团队中的每一个工作角色拥有特定的技能在完成相应的任务。
任务输出是一项任务完成的结果。一些任务依赖别的任务的完成。因此,一项任务的输出可能是另一项任务的输入。
实践策略帮助流程计划运转流畅,提高开发效率。比如,一个经理经常采用以下策略促进产品开发:分配任务,最小化资源浪费,跟踪进度,定期开会,加强沟通等等。实践策略又被称为方法论。Scrum是一种敏捷开发的方法。它是一种迭代前进式软件开发方法。
不同的开发阶段有不同实践策略。不过有些实践策略通用于整个项目开发。好的实践策略减少资源浪费,帮助项目遵循时间和预算的安排。实践策略和流程计划相辅相成,需要根据不同的软件项目特别设计。保持一个开放态度有益于制定出更适合软件项目的流程计划和实践策略。
原文来自:简书/数纫