您的位置:首页 > 其它

敏捷开发一千零一问系列之二十一:怎样写设计?(教育软件案例)

2012-07-01 10:25 246 查看

问题

这个问题来自于QQ聊天记录。

早期的对话大致是:

问: 12:50:06

敏捷开发 提倡的是简单设计是吧?

那么是不是就弱化了 设计文档了呢?

陈勇-咨询-北京(139107533) 12:54:06

弱化设计是相对的,敏捷的目的只有一个:强化最后的可用产品。

对于本来设计有点过头的团队而言,需要弱化设计来省出时间强化产品;对于本来设计文档都不写的团队而言,则要强化设计来避免返工强化产品。

可能多数公司都属于设计过头的,所以感觉上是弱化了设计。

问: 12:56:52

那么设计文档还是需要正常的完善是吧

分析

这个一个常见的“无住”场景,就是人们非常期待有一种方法,是超过其他方法的,只要学习这种方法,开发过程就万事大吉了。而实际上,因环境的不同,“最佳方法”在不断变化,必须具体情况具体分析

当然还有另外一个反面的极端,是认为任何方法都不是好方法,因此宁愿随波逐流,或到时候再说,而不去追求这种情况下的普世价值。这会造成很大的浪费和失误,因为在“具体场景”到来的时候,如果没有事先的思考和积累,常常觉得无从下手。因此,对于特定的环境,应该事先思考和总结出可行的“最佳”方法,并基于这个方法进行变通和改进。

下面就是后来的具体案例分析。

案例

这是后来在实际场景中的对话(语序有调整):
陈勇-咨询-北京(139107533) 13:03:22

你们是什么行业,什么产品?自己做产品,还是项目?

这个三个问题如果无法回答,而去找敏捷的答案,会比较麻烦。

问:13:09:33

教育软件的开发,项目

陈勇-咨询-北京(139107533) 13:10:56

好,到现在为止,应该是提前做设计好一些,不需要做太深,但肯定有。有比没有好。

项目一般而言,人员的流动会大一些,因为长期回报低。

另外由于个体产出低,所以人员的工资和水平都会低一些

所以,应该有一个主心骨的骨干人员,来帮助大家确认一下整个项目的需求、设计,而不是让大家自由发挥。

否则大家本来水平就不高,发挥失败了一走人,就白忙了。

但是,教育软件不属于生命攸关或重大财产的产品,所以,也不用做太多的严谨设计,以能指导大家做出来为宜。

……
敏捷开发没要求一定如何什么,但是要求面对某个场景,要找到这个场景下适合的方法。

分析

由于多数情况下,人们很少跨行业工作,尤其是有些人长期在一家企业工作,所以很难意识到自己的行业、项目、团队是有“特点”的,所以常常会认为一定有一种普适的方法来解决普遍的问题;但事实不是如此。

不过话又说回来,对于一个问题的答案,其实最重要的不是答案本身,而是分析过程中的思路。因为多数情况下,其实问问题的人比回答问题的人更真切地理解实际环境,而无论这个“分析过程中的思路”有多么正确,如果建立在“不很真切的环境假设”的基础上,就只能推出“不很恰当的答案”。

因此,问问题的人,应该学会分析过程思路,自己继续去精化答案,而不是死守答案本身。

这就是火星人谚语中的问问题的人负责找答案
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  软件 教育 开发
相关文章推荐