# 如何管理开发时间

管理开发时间，需要维护一个简明且实时更新的计划。一个工程计划是一个估计，一个时间表，一系列取得进步的里程碑，还有对你的团队或者你的时间在每个任务的估计和安排。这也应该包括你需要记得去做的其他事，比如与质量保障人员见面，准备文档，或者订购设备。如果你在一个团队里，工程计划会是一个共同承认的协议，不论是在开始，还是进行的过程中。

工程计划存在的意义是帮助做出决定，而非展示你是如何组织的。如果一个工程计划太长或者不是最新的，它对做出决定将是无用的。现实中，这些决定通常是关于独立的个人的。计划和你的判断让你决定你是否应当把任务从一个人身上移到另一个人身上。里程碑标识了你的进展。如果你有一个奇妙的工程规划工具，不要被为工程创建一个表面巨大设计（Big Design Up Front）所迷惑，但可以用它保持清晰和实时性。

如果你没有一个里程碑，你应该采取即时的行动，比如通知你的 boss 工程已经滑过的部分中进度的完成。这种估计和时间表可能不会在开始时很完美，这会产生这样一种幻觉，你能够填补工程的上一个部分中错过的日志。你可以。但这很可能是因为你低估了那个部分或者高估了一部分。所以工程进度的完成已经滑过了，不管你是否喜欢。

确保你的计划包括了：内部团队会议，写代码，文档，规划周期活动，集成测试，处理外部关系，疾病，休假，已有工程维护，还有开发环境维护。工程计划可以作为一种为局外人或你的 boss 准备的关于你或你的团队正在做的事情的视图。因为如此，所以它应该是短且及时更新的。

Next [如何管理第三方软件危机](https://braydie.gitbook.io/how-to-be-a-programmer/zh/2-intermediate/team-skills/02-how-to-manage-third-party-software-risks)
