Modern Software Engineering

·

Книга пытается ответить на вопрос, что же такое software engineering. Потому что сейчас есть разночтение между тем, что это или же разработка кода, или построение его архитектуры. На деле же ответ идёт от понятия инженерии. Так как разработчики строят свои виртуальные миры, то это просто способ проводить быстрые небольшие эксперименты над реальным миром.

Если мы рассмотрим разработку с этой точки зрения, то нам необходимы следовать следующим подходом:

  • работать итерациями (a.k.a timeboxing)
  • уменьшать цикл обратной связи и улучшать его качество (пересекается с The art of systems thinking)
  • работать инкрементально (подразумевается, что изменение должно быть видимым)
  • экспериментировать
  • быть прагматичным

Дальше каждая из глав расскрывает почему именно такие принципы лежат в основе и как они проистекают из three ideas of software engineering.

Больше всего меня зацепила идея об информационных потоках, потому что такое определение переиспользуется между процессами в CPU, сервисами в архитектуре и командами в организации. И здесь можно переосмыслить правило из мифического человекомесяца, где добавление людей не ускоряет получение результат. Происходит это по причине интеграции информации.

Правда, в общем, книжку рекомендовать не могу. Когда она спускается с уровня команд/сервисов до кода, то все подходы прямолинейны и взяты из более фундаментальных книг Фаулера, которые и стоит читать вместо этой.

Цитаты

Задачи

  • #task Обработать все выдержки из книги в рамках Zettels ✅ 2023-10-27
  • #task Написать выдержку из книги ✅ 2023-11-14
  • #task Доработать свои заметки на основе идей из книг

Обратные ссылки