针对《构建之法》提出的五个问题。
1.开发什么样的软件适合瀑布模型?
瀑布模型提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。
在我看来我做的项目都不太适合用瀑布模型开发,因为瀑布模型已不再适合现代的软件开发模式,几乎被业界抛弃。
(1) 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量;
(2) 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险;
(3) 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
2.软件开发团队中各部门人员的分配比例是多少最恰当?
软件团队有各种形式,使用于不同的人员与需求。基于直觉形成的团队模式未必是最适合的。
主治医师模式、明星模式、社区模式、业余剧团模式、秘密团队、特工团队、交响乐团模式、爵士乐模式、功能团队模式、官僚模式,这些软件团队模式都适合开发什么样的软件?
3.什么样的软件开发团队要开发什么样的软件才适合敏捷流程?
“敏捷流程”是一系列价值观和方法论的集合。
敏捷开发的原则是:
(1)尽早并持续地交付有价值的软件以满足顾客需求
(2)敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势
(3)经常发布可用的软件,发布间隔能短则短
(4)业务人员和开发人员在项目开发过程中应该每天共同工作
(5)以有进取心的人为项目核心
(6)要面对面交流
(7)可用的软件是衡量项目进展的主要指标
(8)敏捷流程应保持可持续的发展
(9)只有不断关注技术和设计才能越来越敏捷
(10)保持简明尽可量简化工作量
4.MSF 敏捷开发模式与MSF CMMI开发模式的区别?
MSF敏捷开发模式吸收了近几年来在软件行业界流行的各种“敏捷”开发模式的优点,认识到大部分的软件是以网络应用相联系的,强调和用户更紧密的交流,快速迭代,避免不必要的等待和流程。
5.如何成为一名优秀的软件需求分析人员,做好开发人员和用户之间的桥梁?
准确而全面地找到软件需求的步骤:
(1)获取和引导需求
(2)分析和定义需求
(3)验证需求
(4)在软件产品的生命周期中管理需求