敏捷开发与程序员

 
敏捷开发与程序员
 
项目为什么失败?
 
1)对用户需求理解得不清楚,甚至有错误;
2)用户需求变化;
3)软件很难维护或扩展;
4)在项目后期阶段发现很严重的设计缺陷;
5)软件质量或性能不合格;
6)Test - Build - Release过程的可操作性、可维护性很差;
7)人员流动;

   
软件工程试图解决这些问题:
1)为了规范化开发过程,引进传统工程的概念(瀑布型);
2)为了理解需求,提出原型法;
3)为了提高设计开发的效率和扩展性,提出重用和面向对象等思想;
4)为了让开发过程更灵活,提出了开发框架的概念;
5)为了降低风险,提出了风险评估、成本控制和增量开发等思想;

 
软件工程的应用现状:
 1)国内因为资源限制,软件工程的实施流于形式;
2)国内软件工程的研究及推广工作,和实践脱钩;
3)旧的软件工程方法一直不能有效地支持变化。
4)在北美,虽然软件工程提高了项目成功率,但耗费巨大资源;
5)以前的软件工程方法无法摆脱传统工程方法的束缚。

 
特色问题还是难以解决:
1)需求难以量化;
2)软件从开发到维护及扩展,需求都有可能发生大变化;
3)编程对设计的反馈非常重要;
4)项目中的设计可能会经常变化;
5)代码的可读性和可维护性;
      ……

 
§公司
      1) 培养团队合作精神,稳定开发队伍;
      2) 提高开发人员的水平;
      3) 提高项目成功率,降低开发成本。
§项目经理
      1) 更好地和用户沟通,更清晰地理解用户需求;
      2) 更充分地使用资源,更科学地调配资源,更精确地掌握开发进度。
§Team LeadArchitect
      1) 设计更加完善;
      2) 更有效地更新知识,得到其他成员更多的尊重。
§程序员
      1) 学习系统设计和项目管理;
      2) 提高学习和工作效率,受到重视,减少加班时间。

 
 
谁在用XP

 
§Fortune 500 公司中成功应用XP的公司包括FordDaimler-ChryslerFirst Union National BankIBMHP等等。
§2-10人的小规模开发队伍(小规模开发队伍   小规模项目)。
§越来越多的公司开始使用敏捷开发过程,或者将其与RUP等开发过程结合使用。


  
什么是XP
XP is a lightweight methodology for small to medium sized teams developing software in the face of vague or rapidly changing requirements.
                                                                        -- Kent Beck.
XP是勇气,交流,反馈和简单。
XP是软件开发过程中的纪律,它规定你:必须在编程前些测试,必须两个人一起编程,必须遵守编程规范……
XP是把最好的实践经验提取出来,形成了一个崭新的开发方法。
posted @ 2006-03-24 11:35  斌哥  阅读(400)  评论(0编辑  收藏  举报