Coplien J. O., Bjørnvig G. Lean architecture: for agile software development /
J. O. Coplien, G. Bjørnvig, Chichester: Wiley, 2011.
Lean manufacturing
Lean manufacturing - бережливое производство. Восходит к способу организации производства на предприятиях Toyota. Очевидный синоним - минималистичное, но сводить lean только к минимализму неверно.
Lean сфокусирован в первую очередь на цепочке создания ценности (value stream).
Бережливая архитектура и гибкая разработка (lean architecture and agile development) - не о том, как работать усерднее или “умнее” (с точки зрения сложности алгоритмов, например). Они о концентрации и дисциплине, основанных на здравом смысле и не требующих формального обучения или ученой степени.
Принципы бережливой архитектуры поддерживают гибкую разработку:
- если с самого начала проекта “все специалисты в одной комнате”, то проект будет больше опираться на людей и взаимодействия, чем на процессы и инструменты;
- если участники сосредоточены на цепочке создания ценности, то это означает вовлечение в процесс потребителя;
- если отразить ментальную модель конечного пользователя в коде, то вероятность создания работающего ПО значительно увеличивается;
- если код четко отражает модель предметной области, то мы можем уверенно вносить любые изменения, необходимые конечным пользователям.
Бережливая архитектура | Классическая разработка |
---|---|
Откладывает проработку деталей реализации | Включает проработку деталей реализации |
Дает простор для внесения изменений | Старается ограничить крупные изменения (страх изменений?) |
Откладывает реализацию за счет предоставления легковесных API | Либо включает реализацию (платформы, библиотеки), либо не включает вовсе |
Минимальный объем документации | Полная документация, описывающая реализацию или компенсирующая ее отсутствие |
Коллективное планирование, кооперация | Специализированное планирование и контроль |
Ментальная модель конечного пользователя | Технические термины: связность и связанность |