НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Какой будет разработка ПО в будущем?

В рамках прошедшей в конце марте конференции Microsoft Quality Assurance Day у меня состоялась беседа с главным спикером этого мероприятия (независимый эксперт) Рексом Блеком, по результатам которой получилась статья-интервью – “Важный тренд в разработке ПО — рост популярности методов Agile”. Но в нее вошли не все моменты разговора (газета не резиновая). И про один очень любопытный эпизод беседы хочу рассказать отдельно.

Разговор зашел о том, что программирование – это процесс по природе своей стохастический, вероятностный. В том числе в плане наличия ошибок в программе: они там есть всегда (разумеется, речь идет о достаточно больших программах). Т.е. можно и нужно бороться с числом ошибок, но поставить задачу свести число к нулю – это иллюзия. Второй вывод из вероятностной природы ПО – невозможность точного планирования ресурсов (сроки, люди), да и предсказания получаемого результата тоже.
[spoiler]
Но как раз в момент этого место беседы Рекс сделал такое интересное предположение. Возможно, что дело в изначальной вероятностной природе программирования, а в том, что наши познания в этой области еще находятся в начальной стадии. Что мы еще не пришли к научному пониманию процесса программирования (на уровне каких-то законов и моделей), и потому мы воспринимаем его как вероятностный.

Он привел такой пример – строительство в эпоху Древнего Рима, в районе 2000 лет назад. Это была период бурного прогресса в области строительства. Тогдашние инженеры достигли колоссальных успехов в реализации проектов, многие из которых и сегодня выглядят, скажем так, не очень простыми. Взять хотя бы акведуки, которые тянулись порой на десятки километров и решали очень сложную задачи доставки воды самотеком.



Или пример собор Святой Софии (кстати, я только недавно узнал,что София – это не имя человек, а название изначальность смысла слова – просто "мудрость"), который был построен всего за четыре года (по размерам он больше московского храма Христа Спасителя), в iV веке н.э. – 324-327 гг.





Так вот Рекс Блек обратил внимание, что  строилось все это тогда, условно говоря, "на глазок", чисто инженерными методами, Без использования науки, расчетов, моделирования.
Т.е. это был как раз вероятностный процесса. При том, результаты и тогда получались очень и очень впечатляющими.

Научные же методы (основанные именно на расчетах, с достаточно высокой степенью гарантий получаемых результатов) стали формировать только в конце 19-го века…

Так что и с программирование, возможно, мы еще только находимся на "инженерном" этапе, а "научное" понимание процесса – еще впереди…

Сергей Бобровский
С аджайлами проблемы с двух сторон -- и менеджерам надо перестраиваться на новый режим, а у российских "манагеров" обычно излишне много понтов, и разработчикам тоже. А так как agile в некотором смысле система "потогонная", то на фоне нехватки программистов ее внедрением можно всех распугать.

Знакомый программист, в Париже работает, рассказывал, менял работу, зашел в банк к айтишникам, спрашивает: agile? да! до свидания!
_iga
Сергей Бобровский
Ну да, этот случай уже стал легендарным:)