Самостоятельное создание сайта
Самостоятельная раскрутка и продвижение сайта
08 августа 2011

Сравнение методологий веб разработки: Agile и Waterfall

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

В сравнении Agile и Waterfall

Agile сосредотачивает свои центры внимания вокруг "близких" целей, где разработчики одновременно исправляют ошибки и пишут работающее программное обеспечение в промежутке от 4 до 6 недель. Agile чаще всего встречается в условиях современных веб-приложений 2.0, где мы видим частые обновления и изменения в коде функций, дополнение функционала и расширение классов  добавляются в быстром темпе. Эта методика, как правило, рассматривается как противоположный процесс, в котором Waterfall ступени двигаються и развиваються в последовательном процессе. В Waterfall проектах, прогресс рассматривается как каскадные стадии разработки на основе глобальной концепции: изучения, анализа, проектирования, разработки и тестирования.

Перспективы Agile

Но Agile методология подходит не только для современных языков и веб-приложений. В то время как финансовые услуги и мобильный рынок ранее были менее развиты и требовали как узконаправленого опыта разработки и значительных ресурсов, то сегодня создание финансовых сервисов (веб магазины, платежные системы и т.д.) и приложений для мобильных устройств используя наработанные инструменты разработки (SDK) становиться короткостроковыми проектами. Agile дешевле и быстрее работает, обладает более гибкими процессами, лучше реагирует на изменения рынка и, хотя и не идеально, Agile среда может принести определенную динамику развития веб разработки.

Хотя Agile методы, безусловно, больше подходит для проектов, где необходимо создать небольшие, но частые функциональные части, и где время выхода продуктов на рынок является ключевым вопросом, Agile распрастраняеться в областях, где традиционно имела место  Waterfall методология, например в производстве медицинских приборов и даже военных / аэрокосмической промышленности. Эти компании видят ценность в итеративной разработке с точки зрения повышения целостности программного обеспечения, разработчик эффективен и в области технической поддержки.

Соображения при принятии Agile

Характер Agile методологии, однако, приводит также и к рискам, особенно на стадии тестирования, возростает вероятность, что серьозные ошибки могут быть не выявлены. Это обычно требует дополнительного уровня тестирования разработчиками, чтобы помочь идентифицировать дефекты на раннем этапе. Большинство отраслей промышленности, бытовой электроники, например, идут на компромиссы, когда дело доходит до развития. Компании мобильных устройств стремяться выйти первыми на рынок с телефоном с последними достижениями и новейшими функциями, таким образом время выхода на рынок может превалировать над качеством. Тем не менее, качество готовых приложений  основной недостаток в отраслях, где проекты требуют обьемной документации и моделирования до начала процесса разработки. Потому что Waterfall ставит создание продукта над процессом, поэтому он используеться в тех отраслях, где качество (и безопасность) выше чем скорость разработки и выпуска.

Важно понимать, что Agile, как это определено в Agile Manifesto, представляет собой набор ценностей и принципов, не определяющий что процесс  имеет области ограничения. Таким образом, принятие методики является контекстно-чувствительной к отдельным проектом команды что практикует его. Это означает, что все ограничения опыта необходимо решать через "проверку и адаптацию", в процессе выявления проблем и поиска решений. Тем не менее, есть одна область, где большинство команд ищут ответы в области управления рисками. Это слабость самой методологии разработки программного обеспечения. Управление рисками с точки зрения качества программного обеспечения и технической задолженность должна быть интегрирована в процесс развития.

Заметки: вам может быть это интересно для прочтения:

Про автора

Rutul Dave, Senior Development Manager, компании Coverity, получил степень магистра в области компьютерных наук с акцентом на сетевые и коммуникационные системы в Университете Южной Калифорнии. Его цель - создание инструментов и технологий для повышения эффективности процесса разработки программного обеспечения и оснащения разработчиков с лучшими ресурсами, методами и практикой максимальной целостности программного обеспечения.

Дополнительно

Лучшие женские футболки в украине andrestar.com.ua.

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