程序员的职业素养 —— 深度参考基于 Robert C. Martin 的《程序员的职业素养》2011。在讨论职业素养、估算和可持续节奏时使用。职业素养不造成伤害—— 不要让代码库处于更糟的状态。如果必须留下混乱留下清晰的 TODO 并跟踪它。优先让你发现的代码变得更好童子军规则。精通你的技艺—— 练习如 kata、阅读、保持与时俱进。只估算你足够理解的内容。说不—— 当请求会损害质量或不合理时说不。提供替代方案例如“如果我们砍掉 Z可以在日期 Y 之前做 X或我们需要多两周做测试”。说是—— 当你承诺时要当真。不要为了取悦而答应然后失约如果无法兑现承诺尽早沟通。估算三点估算—— 最佳 / 正常 / 最坏情况。用于规划和风险而非单一的承诺数字。速率Velocity—— 使用历史速率进行迭代规划。不要夸大如果团队某次进展很快把它作为下一次的数据而非新的永久承诺。不确定性—— 让不确定性可见。优先范围和置信水平而非虚假精确。拒绝估算—— 当请求模糊或工作未知时拒绝给出日期是职业行为主动提出先分解它或在发现后给出范围。可持续节奏持续加班会降低质量和长期产出。偶尔冲刺可能发生让它罕见并在之后恢复。测试、重构和学习是工作的一部分。为了赶日期而跳过它们会制造技术债从长远看不专业。测试即需求没有测试的代码是遗留代码。编写和维护测试是专业交付的一部分而非可选。压力之下首先要保护的是测试套件和安全重构的能力。指导与协作帮助他人—— 职业素养的一部分是指导、结对以及让代码库和团队比你发现时更好。协作—— 与利益相关者和同行清晰沟通需要时说不无法说是时提供替代方案。当讨论涉及承诺、估算、说不、可持续开发实践或团队合作时使用此参考。