Что привело к необходимости появления «Манифеста Agile-разработки ПО»?

История программирования и организации работы программистов

Давайте посмотрим на примерное количество программистов и компьютеров в мире с течением времени.

  • 1945: единицы компьютеров, единицы программистов (Алан Тьюринг).
  • 1950е: программистами становятся инженеры, математики — взрослые люди, дисциплинированные профессионалы, почти не нуждались в менеджменте, ответственно относились к срокам и договорённостям.
    • 1953: Fortran.
    • 1958: LISP
    • 1954-1960: IBM продал 140 шт. компьютеров модели 70x.
  • 1960: 100х компьютеров, 1000х программистов.
    • 1965: IBM сдал 10’000 шт. модели 1401 в аренду за 2’500$/месяц (сейчас это ~20K).

И программистов, и компьютеров мало. Их ценили. Программисты с заказчиками общались напрямую.

  • 1965: компьютеров 10’000x, программистов 100’000x.
    • Нет такого количества инженеров и математиков, ещё нет факультетов ИТ.
    • Программистами становятся бухгалтера, планировщики и др.
    • 1967: Simula-67, объектный подход.
    • 1968: Структурное программирование, «Goto».
    • 1968: C.
  • 1970: компьютеров 100’000x, программистов 1’000’000x.
    • 1966: IBM продаёт 1000 моделей 360 в месяц.
    • 50’000 мини-компьютеров DEC PDP8.
    • 10’000х выпускников ИТ. Общие черты: молодые, мужчины. Ими нужно управлять, их нужно контролировать, поэтому работу организовать по фиксированному процессу.

Компьютеров и программистов стало больше. Их время стало менее ценным. Общаться с ними стали через посредников, а требования старались выявлять по-максимуму ещё до начала разработки. Программисты, с одной стороны, должны реализовать все перечисленные требования (не важно, нужны они или нет) в срок, а заказчик, с другой стороны, уже не мог изменять требования без следования особой процедуре доп. соглашений к контракту.

  • 1995: программистов 10’000’000x.
    • Количество программистов х2 каждые 5 лет.
    • Следовательно, у половины опыт < 5 лет.
    • Поколение дисциплинированных профессионалов уходит на пенсию. Первая волна профессиональных программистов уже старше 40 лет.

Подходы к разработке становились всё более регламентированными и «тяжеловесными» — heavyweight, требовали детальных спецификаций, отчётов, распределения ролей. Параллельно некоторые инициативные профессионалы экспериментировали с более «легковесными» способами взаимодействия — lightweight. Они видели эффективность в и стремились к живому общению, меньшему количеству ролей, меньшему количеству и более коротким регламентам, и выполняли работу итерациями.

11–13 февраля 2001 года 17 «умников» [3] экспертов-практиков разработки ПО собрались в кондоминиуме The Lodge горнолыжного курорта Snowbird в горах Уосатч в штате Юта (это в западной части континентальных США недалеко от Солт-Лейк Cити) собрались поговорить, покататься на лыжах, отдохнуть и найти общее, что объединяет их подходы/методы, которые в то время уже называли lightweight/легковесными [2, 3].

The Lodge at Snowbird
The Lodge at Snowbird
  • 2001: встреча в Snowbird.
    • «Agile был о дисциплине, профессионализме, ремесле.» [1]
    • Кент Бэк задал цель встречи: «Вылечить разрыв между бизнесом и программированием.«
  • Robert «Uncle Bob» Martin: «Использование Agile-подходов требует дисциплины,» это включает:
    • Фиксированные временные интервалы.
    • Оценка в относительных величинах.
    • Общение с клиентом.
    • Сотрудничество, и мн. др. Результат зафиксирован здесь http://agilemanifesto.org/
  • Далее произошло разделение, снова:
    • Agile — бизнес-практики.
    • Ремесло — технические практики.

Источники информации:
  1. Спасибо за хронологию развития программирования одному из авторов «Манифеста Agile-разработки ПО» Robert «Uncle Bob» Martin, вот его замечательная лекция об этом Bob Martin «The Future of Programming».
  2. Заметки Jim Highsmith после встречи на курорте Snowbird в 2001 годуважная страница на сайте AgileManifesto.org, которую мало кто читает. А зря 😉
  3. Заметки Martin Fowler о создании Манифеста «Writing The Agile Manifesto».

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *