软件开发周期需闯16关 开发人员应有心理准备
问题的要点是,当混战发生并且不能控制和裁决时,混战会削弱开发团队和有关人员的毅力。测试团队要非常努力地工作,测试系统的全部路径。如果这个系统在测试之后能够迅速部署完毕,这将给疲惫的团队带来支持。
【IT专家网独家】在软件开发这个冒险的领域,我们都经历了经验、批评并且采用了许多软件生命周期的方法(如RUP、Agile、Scrum、XP等)。这些方法的核心是确定软件流程中的各个阶段,并通过各种重复的技术优化这些方法。Gregory Bohmer根据他对许多项目的咨询经验指出,软件开发过程中有一套略有不同的“阶段”。扩展这些传统的软件开发阶段,这种演化的软件周期将给管理者和开发人员带来令人难以置信的负担,经常导致人员消耗、流程下降或者耗尽资源。了解演化周期,软件专业人员就能够做好应付那些冷酷无情的影响的心理准备。
软件专业人员通常在做了如下事情之后会感到很骄傲:
·获取和体验最新的软件方法/技术(如,JPA、PMP、Spring JMS、Ruby、AJAX等)并且让这些技术更容易出售(有利于增加自己的工资!)
·创建能够被其他技术人员再使用的软件产品和库(包括开源软件)
·构建和部署被其商业用户成功地使用的软件项目。
随着我们日益成熟起来,我们要把更多的努力放在第三项上,主要原因有两条:
1)因为我们获得的报酬就是让我们做这个事情的
2)我们有义务为我们的商业用户把这个事情进行到底。演化周期和缺乏战斗毅力对于这个事情是不利的。
演化周期
软件项目的演化周期一般包括离散的若干阶段。重要的是需要指出,这些阶段能够发生多次(并不是因为采用了重复的方法),而且没有任何停顿地强行地从一个阶段过渡到下一个阶段。演化周期超越了方法和重复,但是,可以包括在重复过程中。这里说明的是演化周期的一般顺序,具体的顺序可以变化或者重叠。
1) 计划
计划阶段是所有软件方法中的一个不言而喻的阶段。计划包括考虑资金、资源、优先次序和时间安排。计划阶段的失败是常见的,不过,我们不能直接把失败的原因归咎于缺乏毅力。
2)重新开始
演化周期通常包括在某些点上重新开始。这个点可以是重做已经重新设计的东西,也可以是重做一个选择的技术,或者因为客户对结果不满意辞退主要承包商。重新做一遍事情需要人们付出代价。
3)要求
这是一个传统的阶段,包括详细审查客户的需求和希望。这经常会导致对商务流程管理软件的需求以便影响关心成本效率的用户。
4)设计
在另一个传统的阶段,设计的重点是已经计划的重复/发布范围内的项目。这包括专业协作、白板(在某些商店中,如果你站在那里很长时间不动,他们就会给你戴上一个白板)、使用选择的工具正式制作产品。一般来说,设计资源是新鲜的。然而,在后来的重复制作中,由于疏忽或者过分自信,设计的质量可能会下降。
5)实施
我们都知道这个阶段,也就是过去所说的“车轮上路”的阶段。软件开发人员和专业顾问在这个阶段的重点是开发计划范围内的要求。这个阶段经常需要加班(有时候有加班费,有时候没有加班费)。这个阶段的大量工作和协作的最终结果是值得一顿庆祝宴会和正式承认的,或者至少应该拍拍后背鼓励一下。现实是,这个阶段经常没有获得承认,因为还有更艰巨的任务在后头。
- 本文关键词:

