Но для начала наверное стоит освятить сам термин agiledev. Позвольте мне немного порассуждать на тему создания программного обеспечения. Те из нас, кто работает в реальных условиях бизнеса, выполняя вполне реальные задачи бизнеса, наверняка знают, что программирование задача не из легких. Подчас нам приходится выполнять противоречащие друг другу требования. Сами правила ведения бизнеса иногда противоречат друг другу. Ситуация усугубляется и тем, что программист зачастую не разбирается во всех деталях предметной области, а эксперт предметной области не разбирается в методиках создания ПО. Результатом этого является то, что программист и заказчик видят проблему немного по разному и в силу своей специфики видят разные пути ее решения. Поэтому очень часто возникает непонимание между клиентом и заказчиком. Программисты иногда делают то, что заказчику может и не требуется.
Иногда заказчик сам не знает чего он хочет, а получив очередную ревизию продукта ему он не нравится в силу своих специфических, иногда сугубо субъективных, причин. Может быть так, что получив ревизию, заказчик остается доволен и даже восхищен продуктом. И возможно выраженные вами идеи при помощи форм, элементов управления, отчетов, натолкнут заказчика на идеи о дальнейшем развитии продукта. Как следствие, требования к продукту расширяются. В этом нет ничего плохого. Потому как изменения дают вам конкуретное опережение перед разработчиками, которые работают над созданием похожего продукта. Какие выводы мы, как программисты, можем сделать из всего вышесказанного? Во-первых, следует забыть о таких вещах как техническое задание и проектирование. Нет, конечно я не прошу вас отречься от всех старых методик. Однако, как показывает практика, требования к программному обеспечению очень изменчивы в процессе его создания. Это утверждение приводит нас к мысли о том, что мы должны своевременно реагировать на изменение требований. А для этого наш продукт должен быть достаточно гибок для изменения направления развития и податлив для модификации в целом. Методики agile позволяют разрабатывать гибкое программное обеспечение, которое будет отвечать требованиям современного бизнеса. Именно построению гибкого программного обеспечения и гибкого процесса его разработки и посвящен этот ресурс. wiki.agiledev.ru/doku.php?id=what_is_agile_development |