软件项目管理:挑战与应对
软件的独特属性
软件与传统产品有着显著的区别,这些区别深刻影响着软件项目的管理。
-
软件即设计
- 传统的道路建设有明确的阶段划分,先进行规划设计,得到可批准的计划和蓝图后再开始施工。施工阶段多是定义明确的重复性任务,低技能工人即可完成。
- 而软件开发是一个研究过程,无法制定确定的计划。随着项目推进,软件的形态逐渐清晰,其设计需要不断修订。软件开发中的重复性工作已迅速自动化,任务难以精确定义,设计和施工阶段无法清晰分离,开发人员的角色也相互重叠。例如,开发人员创建新功能时,每一个细节都是设计选择,像文本存储方式的选择,需根据使用情况决定。
-
易于变更
- 在道路建设中,最后时刻变更需求很少见,因为后果严重。如发现地基位置错误,需耗费大量精力重新挖掘和建设。道路建成后,通常只能进行扩展或拓宽,难以移动。
- 软件则不同,它具有灵活性,任何部分都可随时通过重写代码进行更改。我们期望并能够修复软件系统中出现的任何错误。不过,要正确实现重大变更,需要修订软件架构,以优雅地支持新功能,否则会使软件变得脆弱。
-
变更不可避免
- 软件开发是一个从始至终的设计过程,包括为适应需求细节逐渐清晰而进行的设计工作,以及反映开发工具和组件使用经验的设计工作。因此,软件开发是一个持续设计和不
软件项目管理的挑战与对策
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



