Насколько гибок ваш продукт?

Apr 21, 2009 09:56

Итак, получается, что мы не можем дать точное определение Agile. Но можем ли мы сравнить два продукта и узнать, какой из них "более гибкий"?

Мне кажется, можем.

Read more... )

agile, философия

Leave a comment

Про бесплатный сыр d_zh June 23 2009, 19:00:06 UTC
А чем мы платим за получаемую гибкость?

Reply

Re: Про бесплатный сыр zibsun June 23 2009, 19:35:30 UTC
Большой overhead на комммуникацию и поддержание высокого качества кода (автоматизация тестирования в основном). То есть предполагается, что затраты окупаются, конечно. С другой стороны очевидно, что если требования не меняются, а также при относительно коротком жизненном цикле продукта - как в заказной разработке (разработали за 4 месяца, сдали и забыли) это, как минимум, под вопросом :-)

Reply

Re: Про бесплатный сыр d_zh June 23 2009, 20:43:56 UTC
Коммуникации при согласовании требований для спецификации тоже немало :-)

ИМХО, гибкость продукта и скорость внесения изменений во многом определяется архитектурой продукта, которая, к сожалению, редко является продуктом рефакторинга и совместной деятельности. Итеративно перейти от баньки к небоскребу на практике удается плохо.

Agile хорош на относительно коротких прямых участках, но все равно нужно иногда все водиночку разломать, со сменой концепции, объектной модели и с отъезжанием всех тестов :-) И особенно при продуктовой разработке :-)

Reply

Re: Про бесплатный сыр zibsun June 23 2009, 21:03:29 UTC
Интересно, а что такое хорошая архитектура?

Все эти ваши "гибкие" в кавычках архитектуры ознчают часто на практике мегафрейворк, который мы за 6 месяцев напишем, а потом за 1 месяц замочим XML для конкретного заказчика. А потом приходит заказчик и говорит "у нас добавился уровень иерархии" и начинается "в одиночку все разломать" и "со сменой концепции":-)

Вот кстати, пример небоскреба очень показателен. Вы действительно начинаете строить небоскреб. И вот к вам приходит заказчик и вам нужно добавить еще два этажа. Ваш небоскреб падает - и вперед, к разбору завалов силами одного героя :-)

Ваш код стал слишком связанным и не тянет дальнейшего усложения функциональности.

В реальности нужна деревенька :-) В смысле decoupling.

И кстати, одно из главных требований к архитектуре - облегчение автоматизации тестирования. И это нужно как раз для облегчения рефакторинга.

Reply

Re: Про бесплатный сыр d_zh June 25 2009, 08:15:21 UTC
Небоскреб получает все прелести деревеньки при регулярном запуске code inspections и разнесением избыточных зависимостей через, например, spring.

По поводу мегафрэймворков --- большая ошибка начинать проект с этого, когда еще не видны пути развития продукта. Но на каком-то этапе развития все равно придется сделать качественный переход, в т.ч. на мегафрэймворк (МФ). МФ позволяет приятную вещь --- разработчику можно знать и помнить меньше. Коллективное знание, обеспеченное совместным владением кодом, не стреляет, когда за несколько лет на 5 человек приходится 5000 классов и продукта существенно более одного заказчика со своими особенными требованиями.

Дальше по поводу рефакторинга --- http://d-zh.livejournal.com/795.html

Reply

Re: Про бесплатный сыр zibsun June 25 2009, 11:01:36 UTC
A-a-a-a. Каким-то волшебным образом я стал противником архитектуры вообще. Не иначе как потому что являюсь "апологетом agile" :-)

Я говорил про "цельную" архитектуру, не разбитую на слабозависимые компоненты. Ок, ваш код разносится с помощью spring или неважно чего на разные сервера. Тогда мой мозг не способен продолжить аналогию с небоскребом :-).

Reply

Re: Про бесплатный сыр d_zh June 25 2009, 19:55:19 UTC
Я у себя целый пост написал с примерами :-) Применяя практики Agile вы не сможете постепенно перейти от кучи условных конструкций к системе управления правилами. От системы управления правилами вы не сможете постепенно перейти к системе, которая сама строит правила на основании юнит-тестов. Это качественные переходы, которые выходят за рамки текущей архитектуры, какой бы decoupled она не была. И юнит-тесты придется переписать очень сильно, поскольку изменится сама концепция объектной модели.

Reply

Re: Про бесплатный сыр zibsun June 25 2009, 20:48:54 UTC
> Применяя практики Agile вы не сможете постепенно перейти ( ... )

Reply


Leave a comment

Up