回顾“软件开发的本质”

Ron Jeffries的这本书快速,轻松且有趣。 因此,如果您希望在这个假期里(例如,在旅途中)获得一些有关软件开发的轻松阅读,请选择此处。

现在问“为什么有趣?”这个问题与软件工程书籍不同,它不是一本关于软件构建过程的书籍。 绝对不是编程。 这与最佳实践无关。

相反,这本书提倡建立软件的原则。 尽管事后看来这个原则似乎很明显,但我们经常不能坚持下去。 该原则始终以价值为导向。

软件(按时交付)交付给用户的价值应指导软件的开发。

除了仅仅阐明以价值为驱动力的重要性外,这本书还提供了令人信服的论点,说明如何通过利用现有的方法和实践来实现价值驱动,例如重构,用户案例,(A)TDD,Scrum,敏捷方法。 尽管该书为开发团队规定了更多的自治权和权力,但它也描述了管理在诸如设置方面的作用。 此外,这本书还介绍了逐个特征开发这一术语这正是它的含义,并且在执行时似乎很明显。

如果您对软件开发或开发感兴趣,我强烈推荐这本书。

为了唤起您的食欲,以下是我的书copy中的一些要点:

  1. 专注于尽早并经常交付价值。
  2. 要记住的主要事情是,我们逐个功能地交付软件可获得最佳结果。
  3. 按功能进行组织。
  4. 我们需要无限期地推迟实施低价值的想法。
  5. 设定时间和金钱预算; 首先产生最有价值的特征; 使产品随时可以发货,并在时钟用完时停止。
  6. 组成小型团队,每个团队都建立产品负责人(最终用户)可以理解的功能。
  7. 最好将故事分解为较小的故事(功能),每个故事都对业务人员有意义。
  8. 关键不是要做出正确的估计,而是要以一致的速度做好工作。
  9. 一旦您意识到团队付出了太多,就从他们的盘子上移走一些东西。
  10. 消除缺陷以使操作清晰。
  11. 与时俱进的最著名方法是根据必须通过的测试来表达我们的功能,并使测试自动化以使我们确信该功能从现在开始一直有效。
  12. 我们随时都需要高质量的设计。
  13. 测试和重构协同工作,使逐个特征的开发成为可能。
  14. 通过查看价值进行管理比按日期或无法交付价值的工件进行管理要好。
  15. 主要思想是专注于价值而不是成本,并从具有我们可以理解的功能的真实运行软件中看到价值。
  16. 看一下你的数字所暗示的两件事,问自己是否同意。 如果这样做,请继续。 如果没有,那很有趣! 仔细研究一下,直到您和您的数字一致。 如果他们不愿意,我建议扔掉这些数字。 [这个人与我的数据科学自我碰撞。]
  17. 这项工作的各个方面都很复杂,但是我们不需要复杂的过程来完成这项工作。
  18. 产品负责人显示了要解决的问题; 团队决定如何解决。
  19. 让距离工作更近的人可以决定如何做和如何组织。
  20. 通过提高能力而不是敦促人们更加努力来提高个人生产力。
  21. 最快的团队行动顺畅而优雅。
  22. 高薪专家不应该仅仅因为她是专家就获得高薪。 她应该得到高薪,因为她正在帮助其他人成为专家。