博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
需要大量设计的软件如何进行敏捷开发
阅读量:4943 次
发布时间:2019-06-11

本文共 861 字,大约阅读时间需要 2 分钟。

最近被两次问到同一个问题:如果一个软件需要大量密集的设计工作,导致存在独立的设计和开发团队,应如何实施敏捷开发?

整体上讲,敏捷开发不希望存在设计和开发的分离,因为这样就会产生“设计文档”这种东西,而且因为两个团队分离,设计文档一定相当详尽,而且在交接的时候多半要进行评审,否则很难保证开发团队能理解并按其编写代码,最终还可能会导致两个团队的矛盾。

在敏捷开发中一般这样处理这种情况:将设计人员下放到开发团队中,由于他们一般技术水平高于开发人员,所以可以作为139团队的骨干(请参考“139团队”相关的博文),一方面继续自己的设计工作,另一方面带领自己的小组进行开发。由于两者关系拉近,设计文档即使不能被取消,也不会需要编写得过于详尽,尤其可以忽略那些“没有就开发不出来产品,而产品开发出来后就没用了”的内容。此外设计人员的高水平也会在日常工作中带动开发人员的设计意识,达到“设计人员在设计的同时考虑到如何开发,开发人员在开发的同时理解为何如此设计”的水乳交融的状态。

对于真的需要多个人碰头才能完成的架构设计工作,则需要这几个负责设计的人员共同完成(就是139中的13人员)。这里顺便说另外一个刚刚被问到的问题:倘若敏捷团队是一个新建的项目人员还在扩张,应如何计划人力资源?答案是应该优先选择和招募骨干人员,让他们先把需求分析/架构设计这些困难的工作做起来(在Sprint0里边打基础,之后每个Sprint完善),之后在迭代中逐步吸纳初级人员,做过游戏开发的一定对这个过程不陌生。

另一个相关的问题是:不要把一堆新手凑一个开发团队来独自做低级编码工作。这个喜欢玩球类运动的人一定知道:如果团队中没有高手带着,大家的水平并不会因为工作经验积累而有实质性的提升,相反引入若干高手指导其工作,才是让团队尽快成长的良策。这一点也支持将设计与编码团队合并的方案。

 

点击下载免费的敏捷开发教材:《》

 

转载于:https://www.cnblogs.com/JPAORM/archive/2011/03/29/2510525.html

你可能感兴趣的文章
数组转集合踩坑
查看>>
node.js的异步I/O、事件驱动、单线程
查看>>
vue cli3 子目录问题
查看>>
github.com访问慢解决
查看>>
微服务架构最强详解
查看>>
转:哈夫曼树详解
查看>>
.Net Core Identity外面使用Cookie中间件
查看>>
【坐在马桶上看算法】算法1:最快最简单的排序——桶排序
查看>>
C#中泛型之Dictionary
查看>>
强连通分量
查看>>
使用Code First模式开发如何更新数据库(转载)
查看>>
sqoop导出工具
查看>>
Codeforces Round #376 (Div. 2)
查看>>
Codeforces 607D Power Tree 线段树 (看题解)
查看>>
写在人生的路上——2016年上半年总结
查看>>
员工选票系统-java
查看>>
C语言、C语言的起源以及类似C语言的编程语言的历史简直不要太漫长,我简单总结列表如下:...
查看>>
sp1.3-1.4 Neural Networks and Deep Learning
查看>>
JavaScript易错知识点整理
查看>>
Biological Clocks
查看>>