Вопрос

Может ли Agile / XP сочетаться с многоуровневым подходом?

Должен ли Agile / XP сочетаться с многоуровневым подходом?

Разбиение исходного кода на слои требует дополнительных усилий и тем самым значительно увеличивает время разработки.

N.B :Под "Слоями" я подразумеваю отдельные сборки с POCO, DA и т.д.

Это было полезно?

Решение

Agile / XP - это подход к управлению вашей проектной деятельностью, конечными результатами и сроками.

Многоуровневые (N-tier) приложения - это способ улучшить ремонтопригодность, масштабируемость и возможность для членов команды разделять области ответственности.

Они не имеют большого отношения друг к другу, за исключением того, что оба потребуют дополнительных затрат времени, если вы не знакомы с каждым из них.И то, и другое, как правило, улучшит качество вашего проекта при правильном использовании по сравнению с традиционными альтернативами.

Другие советы

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

Таким образом, смысл не в том, чтобы избегать слоев (или ярусов, если необходимо) - смысл в том, чтобы избегать слоев, которые отстойны.

Эти два полностью ортогональны.

В XP вы разрабатываете систему функция за функцией.Добавляя функции, вы постоянно проводите рефакторинг системы, чтобы гарантировать, что ее реализация будет как можно более понятной.Слои обычно выпадают в результате такого рефакторинга.Как и ярусы, если такая архитектура подходит, или другие крупномасштабные архитектурные сооружения, такие как SEDA или REST.

Я думаю, что реальный вопрос здесь заключается в том, должны ли разработчики быть разделены по уровням в команде - должен ли у вас быть разработчик html, разработчик js, специалист среднего уровня, специалист по системе обмена сообщениями и администратор базы данных, которые работают вместе над созданием CRUD-формы, или вы должны создавать по функциям и позволить одному человеку владеть потоком.Последнее предпочтительнее в agile - специализирующиеся специалисты широкого профиля предпочтительнее специалистов.

Разумно ли иметь несколько команд, работающих вместе над Гибким проектом?ДА:Я работал над крупномасштабным проектом с более чем 200 разработчиками в более чем 15 командах.Всего было проведено около 20 или 30 служб.

Можно ли это сделать с помощью специализированных команд?Не совсем.

Могут ли члены команд иметь специализацию?Да, но вам действительно нужны специалисты широкого профиля, обладающие сильными сторонами в некоторых областях, а не люди, которые знают только одно и не будут касаться ничего другого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top