1、软件开发项目管理,一:项目开发基础,1,开发人员必备知识,接口(Interfaces):面向对象开发的核心,版本控制系统:团队开发的必须组件(svn,cvs,vss),算法:hash表,嵌套循环,算法复杂度,缓存:应用程序缓存、数据库缓存,并发:应用程序并发、数据库并发、软硬件结合,安全:所有可用程序的基石,一:项目开发基础,1,开发人员必备知识,关系型数据库:Oracle,SQLServer,MySQL,PostgreSQL等,Bug系统:团队开发的必须组件(bugfree,mantis等),关注最新知识:比如云计算等等,命名规则:良好的命名规则,测试:单元测试,整体测试;黑盒测试、白盒测试
2、;,项目进度管理系统:Project等,一:项目开发基础,2,各种文档,需求分析说明书:项目需求,可行性分析说明书:项目可行性分析,概要设计说明书:项目的大概设计,系统分析,详细设计说明:UML、系统架构、接口、方法等等,测试说明书:详细测试计划,项目日常文档:开发计划、会议文档、项目变更计划等等,一:项目开发基础,2,各种文档,编码规范说明书:,系统使用说明书:,系统维护、更新、备份等说明文档:,质量说明书:,国际、国家、行业标准说明书:,一:项目开发基础,3,软件开发的五要五不要,要谦虚而不是自傲:,要严谨而不是随意:,要协作而不是封闭:,要共性而不是个性:,要稳定而不是技巧:,二:项目生
3、命周期,1,项目阶段说明,项目启动:立项,需求分析,概要设计,项目计划:详细设计,项目组成立,资源调配,项目开发:开发,测试,变更,项目监控:整个项目周期内,项目收尾:系统移交,测试,文档整合,部署实施:交付用户,二:项目生命周期,2,项目启动阶段关键点和常见问题,关键点 1. 与客户、主办人、领导的沟通,明确需求及获得相关支持 2. 明确项目目标和定位 3. 明确项目主管、核心团队、统一思想、明确团队运作制度 常见问题 1. 需求不明确及需求沟通不够 2. 项目组成员选择不合理 3. 为促成项目,过于乐观地分析项目可行性,二:项目生命周期,3,项目计划阶段关键点和常见问题,关键点 1. 明确
4、项目范围 2. 全面的风险识别 3. 各关键干系人的识别与沟通 常见问题 1. 对工作任务的分解不充分 2. 风险防范意识不强及没有沟通计划 3. 计划通常由个人制定,没有在项目组达成共识,二:项目生命周期,4,项目开发阶段关键点和常见问题,关键点 1. 明确团队人员工作职责 2. 明确项目进度 3. 明确编码规则、测试规则等 常见问题 1. 团队人员不稳定 2. 时间进度变化 3. 需求变更,二:项目生命周期,5,项目监控阶段关键点和常见问题,关键点 1. 项目团队进行良好的沟通 2. 严格监控进度,及时协调解决问题 3. 重点跟踪监控高风险任务,并采取有效的防范措施 常见问题: 1. 需求
5、变更管理不善,导致变更频繁,项目组运作混乱 2. 跨部门协调不完善 3. 项目组的沟通和跨部门协作出现纰漏,二:项目生命周期,6,项目收尾阶段关键点和常见问题,关键点 1. 顺利完成项目评估和验收 2. 成功和失败的经验总结 3. 完整的项目信息归档 常见问题: 1. 经验、教训的总结和传承做得不够 2. 项目组成员对文档的重要性认识不足 3. 项目的移交(尤其在跨部门情况下)不平滑,二:项目生命周期,7,部署实施阶段关键点和常见问题,关键点 1. 软硬件、系统平台整合 2. 系统使用、维护培训 3. 完整文档移交 常见问题: 1. 软、硬件、系统平台出现问题 2. 培训不到位 3. 文档移交
6、不全,三:项目成功衡量标准,四:美国针对8400多个项目统计,五:项目失败主要原因,1,缺少必须承担的义务和方向 2,没有项目策略上的一致性 3,变化中不明确的效益 4,不明确的目的/目标 5,组织与项目目标不一致 6,资源限制 7,不明确的职责 8,不断变化的要求 9,没有最终用户介入 10,不规范、低效的沟通 11,项目组成员的技术与管理水平不足 12,团队尤其是LEADER的项目管理能力不够 13,急功近利的计划和需求,六:项目如何成功,1, 项目的目标、范围是否明确 2, 是否获得领导的积极支持 3, 项目的组织是否健全、稳定 4, 是否建立了有序的,有效的、良好的沟通渠道 5, 是否具有有效、全面的项目管理,严格的变更控制 6. 是否建立了良好的、积极的、团队合作的工作氛围 7, 项目经理的经验 8, 是否有永不言败的精神:1%的希望,100%的努力 9, 是否可以经验与教训的共享 10, 是否有胜则举杯同庆,败则拼死相救的团队合作精神,