在上篇文章中,我讨论了使用“单件流”的理念来提高软件开发的效率。相对于一个人负责一摊的“批量生产”模式组织软件开发的方法,使用团队合作的“单件流”模式会有以下优点:
- 更高的研发效率
相比“批量生产”,“单件流”会有更高的研发效率,这是因为“单件流”会减少库存,运输,移动等浪费。 - 提前交付
做完一个功能就可以交付一个功能,客户可以立即得到收益。 - 尽早发现问题
单件流要求持续集成,以交付为最后完成标准,所以问题会提前发现,而不是等到所有功能开发完毕以后的集成测试阶段才发现问题
但是,很多开发者认为单件流就需要“全栈”,这不是回到了远古时代,现代社会应该分工协作才对啊。笔者下面尝试回答这些问题。
单件流必然要求“全栈”工程师吗?
单件流不是在开发一个软件功能时,开发者一个人完成前端、后端、测试、集成等所有的开发工作,而是根据要开发的功能,团队把任务拆分成一个人 1 天以内就能完成的小任务,组员自己认领任务,先完成任务的组员认领下一个任务直到完成所有的任务,软件功能可以被交付为止。
所以使用单件流来开发软件,团队成员应该:
-
积极主动
组员需要在做完一个任务以后,主动领取下一个任务,这样就可以减少组员的等待时间,提高效率。 -
一专多能
一个可以被交付的功能通常包括 API 设计、前端开发、后端开发、UI 测试、API 测试、集成测试等任务,组员不一定要精通所有的技能&#