Кто придумал Agile манифест
Колонка эксперта. "Agile - это прежде всего совершенствование главного инструмента бизнеса - людей. " Да ладно? Вот авторы Манифеста (а это авторы XP, Crystal, Scrum) не согласились ли бы с такой постановкой.
Я тут задался целью и решил посмотреть, кто были эти люди на 1999-2000 год. Приведены прямые цитаты из источников, по ним можно найти полное описание.
Кто подписал Agile манифест (Манифест адаптивной(гибкой) разработки программного обеспечения)
На момент 1999 года, это были профессиональные инженеры думающие о том, как упростить и улучшить разработку софта.
Ниже я привожу имена авторов и текст на английском из Википедии с переводом, так как иногда важно понимать как это звучит в оригинале
Авторы дисциплины разработки Extreme Programming
Kent Beck - author of XP, Автор дисциплины "Экстремальное программирование".
Ward Cunningham - A pioneer in both design patterns and extreme programming, he started coding the WikiWikiWeb in 1994. Пионер в Шаблонах проектирования (Паттерны проектирования) и в экстремальном программировании. Он начал кодировать WikiWikiWeb в 1994 году. Примечание: WikiWikiWeb - одна из первых Wiki-систем для быстрого создания страниц описания архитектуры программного обеспечения.
Ron Jeffries - is one of the three founders of the Extreme Programming (XP) software development methodology circa 1996, along with Kent Beck and Ward Cunningham. Является одним из трех основателей дисциплины разработки программного обеспечения Extreme Programming (XP), созданной около 1996 года, наряду с Кентом Беком и Уордом Каннингемом.
Авторы Scrum и те кто про него думал
Mike Beedle - American theoretical physicist turned software engineer, co-author of the first book and earliest papers about Scrum. Американский физик-теоретик, ставший инженером-программистом, соавтор первой книги и самых ранних статей о Scrum.
Ken Schwaber - He worked with Jeff Sutherland to formulate the initial versions of the Scrum framework and to present Scrum as a formal process at OOPSLA'95. Работал с Джеффом Сазерлендом над разработкой первоначальных версий фреймворка Scrum и над представлением Scrum как формального процесса на OOPSLA'95.
Jeff Sutherland - Together with Ken Schwaber, he created Scrum as a set of processes at OOPSLA'95. Совместно с Кеном Швабером он создал Scrum как набор процессов на OOPSLA'95.
Автор Crystal
Alistair Cockburn - author Crystal, Автор методологии Crystal (семейство методологий управления разработкой программного обеспечения Crystal Clear, Crystal Blue, Crystal Brown). В 2016 придумал Hearth of Agile.
Автор Adaptive software development
Jim Highsmith - Creator of Adaptive Software Development, described in his 1999 book "Adaptive Software Development". Создатель Адаптивной Разработки Программного Обеспечения, описанный в его книге 1999 года «Адаптивная разработка программного обеспечения».
Активные участники сообщества
James Grenning - James has made a significant contribution to Agile teams with his invention of Planning Poker. In a pragmatic moment, James restarted a stalled planning meeting. Джеймс внес значительный вклад в Agile-команды, изобретя Planning Poker. В прагматичный момент Джеймс перезапустил зашедшую в тупик встречу по планированию.
Arie van Bennekum
- is a pragmatic who embeds his pragmatism in structure, discipline and common sense. прагматик, воплощающий свой прагматизм в структуре, дисциплине и здравом смысле.
- author 'Thought Leader'
- I became very active in the community of best practices. It was one of these communities, the DSDM Consortium in the UK that I represented in Salt Lake. Я стал очень активным в сообществе лучших практик. Это было одно из таких сообществ, DSDM Consortium в Великобритании, которое я представлял в Солт-Лейк-Сити
(https://www.todaysoftmag.com/article/2349/interview-with-arie-van-bennekum-about-agile-manifesto)
Профессиональные инженеры и авторы книг об архитектуре и инженерии ПО
Martin Fowler - author and international public speaker on software development, specialising in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming. Автор и международный оратор по разработке программного обеспечения, специализирующийся на объектно-ориентированном анализе и проектировании, UML, шаблонах и гибких методологиях разработки программного обеспечения, включая экстремальное программирование.
- Analysis Patterns: Reusable Object Models.
- UML Distilled: A Brief Guide to the Standard Object Modeling Language.
- Refactoring: Improving the Design of Existing Code,
Steve Mellor - developer of the Shlaer–Mellor method and Executable UML,
- At Yourdon in cooperation with Paul Ward they developed the Ward–Mellor method, and published the book-series Structured Development for Real Time Systems in 1985.
- Since 1998 Mellor has contributed to the Object Management Group, chairing the consortium that added executable actions to the UML, and the specification of model-driven architecture (MDA)
- В Yourdon в сотрудничестве с Полом Уордом они разработали метод Уорда–Меллора и опубликовали серию книг «Структурированная разработка для систем реального времени» в 1985 году.
- С 1998 года Меллор внес вклад в Object Management Group, возглавив консорциум, который добавил исполняемые действия в UML и спецификацию архитектуры, управляемой моделями (MDA)
Brian Marick - Lisp and C programmer in the 80's, a testing consultant in the 90's. Программист на Lisp и C в 80-х, консультант по тестированию в 90-х
Jon Kern - Aerospace Engineer by training, Developer, Software Architect, Generalizing Specialist, Co-author Java Design (1999)
- http://technicaldebt.com/about/
Robert C. Martin - "Uncle Bob" author of "Clean Code",
- Pattern Languages of Program Design 3, Edited by Robert C. Martin, Frank Buschmann, Dirk Riehle, Addison Wesley, 1997, ISBN 0201310112
- Designing Object Oriented C++ Applications using the Booch Method , 1999
The Pragmatic Programmer
Andrew Hunt - co-authore of "The Pragmatic Programmer"
Dave Thomas - He has written about Ruby and together with Andy Hunt, he co-authored The Pragmatic Programmer (1999) and runs The Pragmatic Bookshelf publishing company.
Вывод
Основная цель Манифеста - синхронизировать общие части подходов, найти различия с существующей на тот момент реальностью и упростить жизнь Инженера по разработке ПО (Программера) , это Видение Инженера для Инженеров.
Тут нет ничего про развитие сотрудников. Есть про снижение затрат и попытка решения конфликта повышения стоимости при сопровождении. Поэтому есть конкретная ссылка на "Agile processes harness change for the customer's competitive advantage."
Стоит учитывать текущую реальность на тот момент в США и Британии: жесткие контракты с юридическими особенностями, а также наличие кубиклов, у нас ДРУГОЙ менталитет, нет индивидуализма, и кубиклы мало у кого были и есть.
И основная скрытая посылка Инженера и Профессионала: "Ты такой же как я", "Я крут, значит ты тоже крут".
Поэтому и есть формулировки "Build projects around motivated individuals. ", но реальность такова, что не все и не всегда мотивированы.
Формулировка "Working software is the primary measure of progress." исходит из того, что ребята не одну собаку съели на архитектуре, и знают что бывает "паралич анализа". Это значит ,что можно долго проектировать, а потом... получить не то, что хотел. Я лично провел такой эксперимент в 2000 году, "сначала всё спроектируем, потом запрограммируем" - не получилось. Test Driven Development - "разработка через проверку" частично решает эту проблему, и это в экстремальной форме получило развитие в техниках ранней проверки гипотез, "исследование клиента" , но вполне успешно применялось в советских конструкторских бюро (ОКБ) в виде "Сначала документация пользователя потом - код".
Формулировка "Agile processes promote sustainable development. " - ссылается на вполне конкретные процессы ,на момент 1999 года и среди участников встречи их было уже 4: XP, Crystal, Scrum, DSDM, Adaptive Software development. В большей части подходов кроме "смелости и уважения" нет ничего о развитии людей.
Это и логично: "уважай решения", "имей смелость сделать удалить старый код", "Имей смелость выбросить прототип" - для этого точно нужна смелость. Чтобы потом не получались монстры "исторически сложилось".
А про совершенствование? Это побочный эффект,
- Сколько коучей нужно чтобы закрутить лампочку?
- Достаточно одного, лампочка должна хотеть меняться.
У любой компании одна цель - обслуживать неврозы своего владельца. У коммерческой компании - цель приносить прибыль своему владельцу. А у владельца нет цели развивать сотрудников, есть цель сокращать затраты, если мы говорим про ИТ - то если у нас сотрудники будут больше приносить пользу, а платить мы будем "как обычно" - это очень хорошо, возврат инвестиций на лицо!
Таком образом весь Agile - это про две цели:
- Идеальный мир для Инженера
- Сокращение затрат на поддержку ИТ-продукта.