Rapid development with Python

Апрель 25, 2009

Тут недавно прочитал про то, как программируют люди — смысл заключается в двухнедельном обдумывании и потом за один день реализации обдуманного. Казалось бы, Agile — двухнедельная итерация, в конце которой, решение, но мне сразу режет глаза слово «двухнедельное» — реакция примерно такая «Сколько???!!!». С одной стороны 2 недели не так и много, чтобы можно было со спокойной совестью выкинуть все или, скажем, половину написанного, если это написанное, совсем не то, что нужно для пользователей. Причем, причин, по которым это не то, что нужно может быть несколько: от банального «вы так поняли задачу» до расхождения в понимании терминов, которыми вы оперировали при обсуждении. И что тогда? Вы берете еще две недели на обдумывание и выкатываете уже более приближенную версию к реальности… Как-то не очень, да? Сейчас расскажу, как проходит процесс разработки у нас и как питон помогает нам в этом…

Сначала, естественно, обсуждение, какой функционал нужно разработать, причем именно в терминах «что нужно заказчику», прикидываются сроки, если больше недели — то функционал разбивается. Далее, команды расходятся и уже через два-три дня обычно готова альфа-версия, причем она может быть не совсем рабочей, какие-то значения тупо вбиты, она может быть не покрыта тестами или не полностью ими покрыта, но она уже живет и дышит. Причем заводится она на раз прямо на машине разработчика или на лабе, к которой есть у всех доступ. Продакт менеджер постоянно видит направление работ и так как он понимает заказчика и знает, что ему нужно, он имеет возможность вовремя поправить команду и вносить коррективы. В итоге в конце недели обычно появляется уже полностью рабочий вариант альфы, далее команда может взять несколько дней для покрытия функционала тестами и доработок пользовательского интерфейса. Потом итерация повторяется. Как нам помогает питон? Я как разработчик предпочитаю заводить эту самую альфа прямо на лабе, все что мне нужно это текстовый редактор которым я правлю исходники и сразу вижу результат. Как только привыкаешь к этому немедленному фидбеку уже не заставить меня писать что либо компилируемое — это ж сколько дополнительных действий? Написал, скомпилировал, скопировал на лабу — посмотрел — не, не то, заново. ЗАЧЕМ? Прямо на лабе все замечательно заводится — даже юнит-тесты можно тут же гонять, если надо проверить какой-то алгоритм, или если вы пишите через тесты. Еще раз повторю, что самое главное, что результат виден вам сразу, а если это веб-приложение, то и всем. Причем, делая исправления по ходу, мне как разработчику не разу не обидно что-то исправить, так как затрачено времени на это было не много, а вот переписывать ничего обычно не приходится, потому что изначально пишется то, что нужно.

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

1 Comment to "Rapid development with Python"

  1. Влад wrote:

    Жаль в друзья нельзя добавить :(

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org