История программирования и организации работы программистов
Давайте посмотрим на примерное количество программистов и компьютеров в мире с течением времени.
- 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].
- 2001: встреча в Snowbird.
- “Agile был о дисциплине, профессионализме, ремесле.” [1]
- Кент Бэк задал цель встречи: “Вылечить разрыв между бизнесом и программированием.“
- Robert “Uncle Bob” Martin: “Использование Agile-подходов требует дисциплины,” это включает:
- Фиксированные временные интервалы.
- Оценка в относительных величинах.
- Общение с клиентом.
- Сотрудничество, и мн. др. Результат зафиксирован здесь http://agilemanifesto.org/
- Далее произошло разделение, снова:
- Agile — бизнес-практики.
- Ремесло — технические практики.
Читайте по теме
- Что привело к необходимости появления «Манифеста Agile-разработки ПО»? (эта статья)
- История создания «Манифеста Agile-разработки ПО»
- Что такое Agile?
- Почему Agile так называется? Были другие варианты?
- Ответы на вопрос «Что такое Agile?» в разных источника Сети
- Как правильно произносить Agile? И как переводится?