Парадокс Ахиллеса и черепахи в IT: нельзя сдать проект, правки и баги будут всегда впереди разработчиков
Есть забавная задача — парадокс Ахиллеса и черепахи (или парадокс Зенона). Он утверждает, что Ахиллес, храбрейший из героев, не сможет догнать черепаху на дистанции, если той дать небольшую фору. И дело не в Ахиллесовой пяте. Дело в математике.
Допустим, у черепахи фора в 100 метров. Старт. Чтобы догнать черепаху, Ахиллесу придётся сначала добежать до того места, с которого она стартовала. Но за это время черепаха продвинется вперёд, допустим, на 5 метров.
Чтобы догнать её, Ахиллесу придётся преодолеть эти 5 метров. Черепаха, в это время тоже не будет стоять на месте. Цикл повторится. С каждым разом расстояние будет сокращаться, перейдёт в категории сантиметров и миллиметров, но черепаха будет впереди. Ведь за то время, что Ахиллес добегает до места старта черепахи, она проползает ещё немного. Бегун с мечом никогда не догонит бегуна с панцирем.
Эта ситуация напоминает сдачу проектов в IT — сайта, приложения, любого софта.
Ахиллес — это исполнитель — разработчик или целая команда. Черепаха — это баги, правки и дополнительные пожелания от заказчика. Догнать черепаху — значит закончить проект на 100% и сдать его. Но Ахиллес не догонит черепаху. А разработчики не закончат проект.
Пока они будут исправлять первую порцию ошибок, тестировщики найдут новые. Не успеют пофиксить эти, как подоспеет порция правок от заказчика. Баги и правки будут всегда впереди. Такая математика.
Но это парадокс, и ошибочен. Вся каша про Ахиллеса и черепаху заварена на нашем ошибочном восприятии. Якобы, пространство можно делить и уменьшать до бесконечности. А вот и нет.
Если мы будем делить расстояние, в конце концов упрёмся в отрезок, который поделить нельзя — это «планковская длина». Отрезков меньше этого не существует, иначе движение как таковое было бы невозможно. Но мы же движемся, и достигаем точки назначения. Значит, делить пространство до бесконечности нельзя.
Подвох ещё и в том, что Ахиллес бежит быстрее черепахи. Планковскую длину (как и сантиметр, метр и т.д.) он пробегает в несколько раз быстрее. Каким большим не было бы расстояние между ними на старте, оно обязательно сократится. Ахиллес успешно догонит и обгонит черепаху, а разработчики рано или поздно устранят все баги, внесут все правки, и сдадут проект заказчику. Возможно, для этого им понадобится больше времени, чем Ахиллесу :)
Важно, чтобы за X часов разработчики успевали сделать больше полезной работы, чем за это же время им подсуетят новой. В этом случае прогресс будет виден, а сроки сдачи будут приближаться.
Друзья, любое расстояние можно пройти. Все вопросы можно решить. Просто некоторые из них сложнее остальных. На них мы начинаем буксовать, идти медленнее, делить расстояние линейкой и рулеткой, взывать к Ахиллесу, провидению, вселенской справедливости. А всего-то нужно бежать. Быстро, долго, в правильном направлении.
Фото: коллаж из фото pixabay.com