成功管理团队交付软件的秘诀
1. 软件开发的挑战与认知
软件开发是一项极具挑战性的工作。Donald Knuth 曾说:“Software is hard.” 这简洁地概括了软件开发的难度。同时,“Software isn’t released, it’s allowed to escape.” 也形象地描述了软件发布时可能存在的状况。而我们参与软件开发,核心目标是 “ship products”,而非单纯地 “write code”。Hofstadter’s Law 指出:“It always takes longer than you expect, even when you take Hofstadter’s Law into account.” 这意味着软件开发的时间往往比预期更长。
在项目推进过程中,程序员有时会陷入 “axe - sharpening” 的状态,即做一些看似必要但可能偏离项目目标的事情。软件管理者的职责就是判断何时这种行为脱离了项目的原始目标,并引导程序员回归主要任务。
以下是一些关键的认知要点总结:
|要点|描述|
|----|----|
|软件开发难度|难度大,时间易超出预期|
|项目目标|交付产品而非仅编写代码|
|程序员行为|可能出现偏离项目目标的情况,需管理者引导|
2. 项目管理的经验法则
- 提供后勤支持 :在关键项目或里程碑阶段,为编程团队提供餐食(如中餐、披萨等)能保持团队的工作动力。因为在进度压力下,程序员会持续工作,若让他们外出就餐,工作的积极性可能会下降。
超级会员免费看
订阅专栏 解锁全文
580

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



