Подходы исследовательского программирования.

Исследовательское программирование имеет следующие особенности:

- разработчик ясно представляет направление поиска, но не знает заранее, как далеко он сможет продвинутся к цели;

- нет возможности предвидеть объем ресурсов для достижения того или иного результата;

- разработка не поддается детальному планированию, она ведется методом проб и ошибок;

- работа связана с конкретными исполнителями и отражает их личностные качества.

В основе исследовательского программирования в большей степени, чем в других подходах, лежит искусство.

 

Компьютерный дарвинизм.

Название данного подхода было предложено Кеном Томпсоном (Ken Thompson). Подход основан на принципе восходящей разработки, когда система строится вокруг ключевых компонентов и программ, которые создаются на ранних стадиях проекта, а затем постоянно модифицируются. Все более крупные блоки собираются из ранее созданных мелких блоков.

Компьютерный дарвинизм представляет собой метод проб и ошибок, основанный на интенсивном тестировании. Причем на любом этапе система должна работать, даже если это минимальная версия того, к чему стремятся разработчики. Естественный отбор оставит только самое жизнеспособное.

Подход состоит из трех основных процессов:

- Макетирования (прототипирования).

- Тестирования.

- Отладки.

Одной из интересных особенностей подхода является максимально возможное распараллеливание процессов тестирования и отладки.