用户名 密码 联盟服务 关于我们 联系方式 收藏本站
返回网站首页 PgMP认证,美国项目管理协会高端项目管理认证!大型项目与项目群管理Program Management全球权威认证


网站登录:会员 企业 专家 服务商
企业服务:PMP培训  内训课 公开课
工 具 箱:发表文章 提问题 发案例
首页动态 | 文库 | 下载 | 书架 | 访谈 | 专栏 | 专题 | 人才 | 培训 | 软件 | PMC 互动:活动 | 案例 | 问答 | 论坛 | 博客 | 圈子 
应用:基础工程软件制造活动研发  认证:PMPNPDPACPPgMPIPMPP2ISPMPIMCP建造师MPM  特色:热点奖项

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

敏捷项目管理ACP认证培训
国际产品经理NPDP认证

软件开发项目的最佳实践

作者:Mike Perks   提交人:XO[Mike Perks]   属性:提交人转载   发布时间:2005/4/4   点击:2094   【收藏本文

引言

大多数软件项目都是失败的。事实上,Standish group 的报告显示 80% 多的项目是不成功的,原因是超出了预算、未能按时完成、遗漏功能或者因为一个项目中同时出现了这些问题中的其中几个。此外,30% 的软件项目执行得很糟糕以至于半途而废。根据我们的经验,使用现代技术(例如 Java、J2EE、XML 以及 Web 服务)的软件项目都逃不出这个规则。talent.mypm.net

本文概述了软件开发项目的最佳实践。一些业界泰斗,如 Scott Ambler、Martin Fowler、Steve McConnell 和 Karl Wiegers,已经在因特网上写了许多这样的最佳实践,本文也引用了这些最佳实践。另请参阅本文末尾的相关信息部分。附带的文章软件开发项目实施指南描述了有助于提高项目成功率的十条最重要的因素。service.mypm.net

最佳实践

1. 开发流程(Development process)- 为手头的项目选择适当的开发生命周期流程很重要,因为其他的所有活动都是从这个流程派生出来的。现代的软件开发项目多数都是在瀑布式流程的基础上采用某种螺旋式方法。有几种方法可供选择,包括 Rational 统一流程(Rational Unified Process,RUP)、IBM® Global Services 方法(IBM® Global Services Method)以及极端编程(eXtreme Programming,XP)。有个流程当然比根本没有要好,但在多数情况下流程的执行情况要比使用的是什么流程更重要。以上列举的常用方法都包含关于如何执行流程的指南和构件模板。此外,RUP 还有一系列描述使用 RUP 的最佳实践的书 [1][2][3][4],即便不选用 RUP,这些书也是获得最佳实践的极好来源。给 RUP 加插件也是可以的。请为基于 WebSphere® J2EE 的项目下载 WebSphere 插件。项目经理圈子

2.需求 - 收集需求并就需求达成一致是项目成功的基础。这并不一定意味着需要在建立好体系结构、完成设计和编码工作之前确定所有的需求,但对于开发小组来说明白需要构建什么是很重要的。质量需求分两种:功能性的和非功能性的。一种记录功能性需求的好方法是使用用例(Use Case)。注意:用例被用于非面向对象的项目。Armour 和 Miller 著有一本关于用例主题的权威著作 [5]。非功能性需求描述应用程序的性能和系统特性。收集非功能性需求很重要,因为他们对应用程序体系结构、设计以及性能都会产生重要影响。请参阅 Construx Web 站点上的非功能性需求清单。项目管理者联盟

3.体系结构 - 为您的应用程序选择合适的体系结构是关键。有好几次 IBM 被要求复查出问题的项目,结果发现开发小组没有应用知名的业界体系结构最佳实践。与 IBM 联系是避免这类问题的好方法。我们的顾问可以与您的开发小组并肩工作以确保项目沿正确的轨道开始。经过实验证明可靠的实践称为模式,有经典的 Gang of Four [6] 模式、Java 模式 [7],也有 EJB 设计模式 [8]。Sun 公司与此相应的是核心 J2EE 模式(Core J2EE Pattern)目录 [9]。IBM 也发布过一些最佳实践和参考应用程序体系结构 [10]。引言中说过许多项目都是失败的。通过对这些失败的项目的研究提出了反模式这个概念。这些反模式是很有价值的,因为它们针对哪里出了问题以及为什么会出问题提供了有用的信息。项目管理者联盟

4. 设计 - 即使有了好的体系结构,也可能设计不好。许多应用程序不是设计得过于复杂就是设计得过于简单。这有两个基本原则“尽量简单”和信息隐藏。对于许多项目来说,使用 UML 进行面向对象的分析与设计(Object-Oriented Analysis and Design)很重要。有关 UML 的书有很多,但我们推荐 UML User Guide [11] 和 Applying UML and Patterns [12]。重用是面向对象的很有前途的一个方面,重用经常会因为需要额外的工作来创建可重用资产而变得无法实现。代码重用是重用的一种形式,当然也有其他一些能够提高效率的重用种类。 项目管理培训

5. WebSphere 应用程序设计 - IBM 拥有关于 WebSphere 系列产品的最佳实践和设计模式的广泛知识。每个项目都是不同的,我们的顾问有丰富的经验来帮助您。即使您只聘请我们的顾问很短一段时间,这种投资回报(ROI)也是很大的,因为您可以在以后的项目中节省开销。我们的专家也发表过大量有关这类知识的文章,包括高性能 Web 站点注意事项和自主计算指南。talent.mypm.net

6. 代码的构建 - 代码的构建虽然只是整个项目工作的一小部分,但往往是最明显的部分。其他同样重要的工作还包括需求、体系结构、分析、设计以及测试。在没有开发流程(所谓的“编码加修正”)的项目中,也会有这些任务,只不过被统称为“编程”而已。构建代码的最佳实践包括每日构建和冒烟测试。Martin Fowler 进一步提出了连续集成(continuous integration),这个概念还集成了单元测试和自测试代码概念。注意,即使连续集成和单元测试是通过 XP 流行起来的,您也可以在所有类型的项目中使用这些最佳实践。我建议使用标准框架(比如 Ant 和 JUnit)使构建和测试自动进行。项目管理者联盟

7. 对等审查 - 审查别人的工作很重要。经验证明这种方法可以及早消除问题,审查和测试一样有效,甚至比测试还有效。开发流程中任何构件都需要审查,包括:规划、需求、体系结构、设计、代码以及测试案例(test case)。Karl Wiegers 的文章 Seven Deadly Sins of Software Reviews 说明了执行对等审查的正确方法。对等审查有助于以最快的速度提高软件质量。PgMp.mypm.net

8. 测试 - 即使日程安排再紧也不可以推迟或省去测试。测试是需要计划的软件开发的一个必不可少的部分。提前测试也很重要;这意味着要在开始编码前就安排好测试案例,测试案例的开发与应用程序的设计和编码同时进行。同样也有许多现成的测试模式。PgMp.mypm.net

9. 性能测试 - 测试通常是用于检查应用程序缺陷的最后一招。它是劳动密集型工作,通常只检查编码缺陷。体系结构和设计上的缺陷可能会漏掉。一种检查体系结构缺陷的方法是在部署应用程序之前对其进行模拟负载测试,并在性能问题真正成为问题前就处理它们。blog.mypm.net

10. 配置管理 - 进行配置管理涉及到了解组成您的系统或项目的所有构件的状态,管理这些构件的状态并发布系统的不同版本。配置管理比单独的源代码控制系统(比如 Rational Clearcase)管理的内容更多。同样也有针对配置管理的最佳实践和模式 [13]。项目管理者联盟

11. 质量和缺陷管理 - 为项目建立质量优先级和发布标准很重要,这样就可以制定一个计划来帮助开发小组开发出高质量的软件。当对项目进行编码和测试时,缺陷的出现和修正比率有助于测量代码的成熟程度。使用链接到源代码控制管理系统的缺陷跟踪系统也很重要。例如,使用 Rational ClearCase 的项目还可以使用 Rational ClearQuest。使用缺陷跟踪,就可以在准备发布项目时对项目进行测量(gauge)。PgMp.mypm.net

12. 部署(Deployment)- 部署是向用户发布应用程序的最后阶段。如果您的项目进行到了这一步 - 那就恭喜您啦!但仍然会有可能出错的地方。您要制定部署计划,并且您可以使用 Construx Web 站点上的部署清单。项目管理者联盟

13. 系统操作与支持(System operations and support)- 没有操作部门就不能部署和支持新应用程序。支持范围对于回答和解决用户问题至关重要。为缓解问题流,应用程序缺陷跟踪系统中引入了支持问题数据库。项目管理者联盟

14. 数据迁移(Data migration)- 多数应用程序都不是全新的,而是改善或者重写的现有应用程序。从现有的数据源迁移数据这本身通常就是一个比较大的项目。这不是初级程序员能做的。它与新应用程序一样重要。通常新应用程序的业务规则更好,数据质量有可能更高。提高数据质量是一个复杂的主题,已经超出了本文讨论的范围。项目管理者联盟文章

15. 项目管理(Project management)- 项目管理是项目取得成功的关键。本文描述的许多其他的最佳实践都和项目管理有关,出色的项目经理已经知道了这些现有的最佳实践。我们推荐的项目管理权威著作是 Steve McConnell 编写的 Rapid Development [14]。如果把项目管理的其他清单和技巧的数目考虑进去,您会感到大吃一惊,居然有那么多的项目经理不知道这些技巧,并且也没有从以前的项目中吸取教训,比如:“如果没有计划好,就等于计划着要失败。”一种管理困难项目的方法是通过使用时间定量(timeboxing)。项目管理者联盟

16. 衡量是否成功 - 您可以根据卡内基梅隆大学软件工程学院(Software Engineering Institute at Carnegie Mellon University)的业界标准软件能力成熟度模型(Capability Maturity Model,CMM)来衡量您的开发流程。多数项目处于 1 级(初级)。如果按照上面描述的最佳实践和附带的文章,软件开发项目实施指南,中的执行,就可以开发出更加成熟的软件,使项目取得成功。转自项目管理者联盟

结束语

本文提供了一系列有助于提高软件开发项目成功率的最佳实践。遵循这些最佳实践,您的项目成功的机会会更大。
 
项目管理者联盟

项目经理博客


<<上一页 1 下一页>>
项目管理者联盟PMP认证中心
[发表评论]
本站热点
·开放讲座|项目组合管理与PfMP认证
·开放讲座|PgMP:项目管理思维与方法论
·开放讲座|《项目组合管理与PfMP认证》
·网络讲座|《项目组合管理与个人职业发展》
·开放讲座|《项目组合管理与PfMP认证》
·网络直播|产品经理的四大核心技能提升
·如何轻松拿下PgMP?免费学习机会--项
·国际项目组合经理PfMP访谈:张富贵
·由PMO评论主办的第十二届中国PMO大会
栏目说明
    《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑。须联盟会员且登陆后才能发表文章。
敏捷项目管理ACP培训
项目管理活动
活动QQ群:531390275
免费积累PDU,仅500人

2022年项目管理活动计划
2021活动精彩回顾
原创排行榜
 项目管理评论杂志 311 高扬 106
 乔东 100 项目管理 84
 高国伟 61 人月神话 60
 张为 59 郭致星 52
 蒋昕炜 46 肖杨 38
 曾伟强 37 潘德有 36
搜索文章
关键词:
行  业:
团 队   成 本   风 险   进 度
沟 通   采 购   质 量   合 同
更多>> 专题集锦

企业项目化管理

PMO实践与应用

如何处理项目客户关系

更多:
经理访谈
更多:
个人专栏

王树文

赵春明

高国伟

更多:
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
特刊下载:
2017合刊  2016合刊  2015合刊 
2014合刊  2010合刊  2009合刊 
2008合刊  2004合刊  2005合刊 
2006合刊  2007合刊       
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
更多>> 推荐文章
09-02·项目集管理:构想一种不同.
08-17·项目经理“催活儿”的正确.
08-17·建筑工程项目管理中施工现.
08-17·进阶项目经理必备的复盘方.
08-17·项目管理协会PMI发布新人才
08-17·互联网大厂项目经理面试的.
08-17·项目经理要如何提高自己的.
08-17·管理改进中几个确实有用的.
08-17·项目经理提升职场能力的20.
06-14·项目经理搭建团队,需要看.
06-14·5A学员董雏:PMP取证重要,
06-14·成功管理能源项目的技巧和.
06-14·拥抱敏捷—计划发布与冲刺
06-14·从PMP到PgMP :不畏浮云遮.
06-14·这30+项目管理工具,优秀项
06-14·深度剖析项目管理五大痛点.
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接

项目管理者联盟 版权所有 | 京ICP备10055250号-11 | 京公网安备 11010202009440号

如转载本站文章,必须于文章开头处注明转自“项目管理者联盟”,并注明原作者
PMI,Project Management Professional, OPM3, PMBOK, PMP,PgMP,PfMP,PMI-ACP,PMI-PBA
and the PMI Registered Education Provider logo are registered trademarks of the Project Management Institute, Inc.