Эволюция разработки - на пути к Agile ALM
Разработка программного обеспечения всегда фокусировалась на улучшении качества и продуктивности. Часто речь при этом шла о повторном использовании четко определенных требований или программных компонентов. Многие компании тратили годы на разработку приложений, постоянно расширяя портфолио все новыми и новыми инструментами. Бесконечное повторение одних и тех же требований при помощи одних и тех инструментов (которые и созданы были как раз потому, что такие требования уже внедрялись), вместо того, чтобы использовать стратегии отслеживания артефактов (сборок, результатов тестирования, пакетов), приводило к неэффективности разработки. В свою очередь это вело к низкому качеству ПО, упущенным нуждам потребителя и позднему попаданию на рынок. С технической точки зрения интеграция без целостной стратегии управления артефактами часто превращается в рулетку, которая приводит к переписыванию всего приложения, а не к внедрению изменений на пути от одной стабильной и изученной системы к другой. Вот почему профессионалы технологии кладут столько сил, чтобы улучшить процесс разработки приложения, пытаясь найти ответы на такие распространенные вопросы:
У многих ролей уже были свои собственные инструменты, ничем не связанные с инструментами других членов команды. К примеру, были инструменты, ориентированные под специфические технические требования и не интегрированные с другими наборами инструментов. Кроме того, многие команды разработчиков со временем обрастали собственным инструментарием под свои нужды, и находили проблематичным заменить его на интегрированную цепочку. Такую интегрированную цепочку часто сравнивали со швейцарским армейским ножом, в котором много всяких замечательных штучек, но при этом для определенных задач он не особенно эффективен. В результате описанных проблем неправильная инфраструктура не только не ускоряла процесс разработки, но и существенно замедляла его! Кроме того, у разных инструментов могли быть разные подходы к хранению данных, поэтому и сами инструменты не были интегрированы, и использовать общую информацию они не могли. Чтобы охватить различные роли и фазы, необходимо синхронизировать данные между различными инструментами, что приводит к более сложным техническим решениям. Другой вариант улучшить отслеживаемость разработки - это создать дополнительные инструменты (что-то вроде агрегаторов, собирающих результаты у других инструментов) или же делать то же самое вручную. В этом случае информация будет накапливаться либо распространяться из единой центральной точки. В целом общая сложность и отсутствие единой "точки истины" повышает издержки и может привести к неточности информации. Инструменты, которые работают вразнобой, приводят к ненужному усложнению процесса. Недостаток интеграции и возможности совместной работы ведет к отсутствию прозрачности из-за того, что невозможно отследить требования на протяжении жизненного цикла. И из-за всего перечисленного намного труднее сделать работу всех инструментов и процессов слаженной. Давайте суммируем ключевые проблемы в организации ALM, распространенные до того, как эволюция сделала следующий шаг:
Оригинал: http://www.manning.com/huettermann/ Перевод: Александра Родсет |
Сертифицированные курсыАндрей Плетенев. Онлайн курс Agile. SCRUM. Курс включает более 20 уроков с практическими заданиями, которые индивидуально проверяются и комментируются тренером.
Еще интересные статьи на эту тему:
|