敏捷开发框架下的软件工程/第一阶段
外观
经过近两年的具体指导下的作业,学生们来到软件工程的二年级课程,期望得到详细的简报。当他们没有从我们这里得到简报时,他们转向客户,希望在那里找到简报。通常他们也不会在那里得到简报。
在 2008 年,我们的软件工程课程正在努力开发“活生生的校园信息基础设施”。这意味着什么?这是一个好问题,也是学生一直在向我们和他们的客户 Paula 提问的问题。
在这个项目中,我们并不是故意含糊其辞,我们真的不知道这个项目将走向何方。这使得教授这门课程变得有趣,在采用敏捷概念拥抱变化的同时,我们也体验着勇气、简单性、反馈和尊重的价值观。这同样适用于学生和学者,从而形成了一种共同的学习体验。
我们也遵循宣言,更重视左边的那些,而不是右边的那些
- 个人和迭代胜过流程和任务
- 可工作的软件胜过全面文档
- 客户合作胜过合同谈判
- 响应变化胜过遵循计划。
我们将这种敏捷方法与一个框架相结合——三个迭代。每个迭代都有里程碑交付成果,第一个是理解和沟通,第二个是功能交付,第三个是健壮交付。
因此,第一次迭代的目标都是关于建立理解——而不是项目将要产生的结果,甚至它必须做什么。相反,重点在于为什么——为什么这是一个需要他们帮助的项目。换句话说——什么是商业机会。
第一次迭代也是关于建立信心和沟通(在团队内部和与利益相关者之间)。
在第一次迭代中,目标是建立对商业机会的理解,以及团队如何利用他们在信息技术方面的技能来努力实现这一机会。
他们做的第一件事之一就是与客户会面。这次会议的目的是与客户建立联系。现在还不是期待详细的功能需求的时候。
在第一次迭代结束时,我们将拥有
- 建立一个开发团队
- 与客户建立牢固的沟通渠道
- 确认我们与客户在项目的高级需求方面达成共识
- 建立一种方法和工作实践。
第一次迭代很快。对于为期一年的顶点项目,这应该最多需要两周时间。两周,这太短了!没错。在每章中描述的每个任务中,一个信息框指示每个任务应该花费多长时间。如果花费的时间比这更长,那么你做错了什么。