Я также работаю в большой и громоздкой организации. Я успешно реализовал несколько методологий гибкой разработки программного обеспечения , но есть две, в частности, которые я нашел особенно ценными.
Итеративная и инкрементная разработка - Держите свой цикл выпуска коротким и сжатым. В большой группе, если между релизами будут сделаны многочисленные изменения, вы можете оказаться в кошмаре интеграции.
Крупные организации склоняются к крупным проектным планам с длительными сроками разработки. Борись с этим. Планирование проекта на целый год не имеет смысла, когда ваше восприятие может измениться после первых двух недель разработки. Приучите ваших заинтересованных лиц к тому, чтобы они привыкли к идее создания небольших инкрементных выпусков и адаптации к постоянно меняющимся требованиям.
Автоматические юнит-тесты - Это отличный способ убедиться, что вы выпускаете качественное программное обеспечение. Худшие ошибки вызваны, казалось бы, невинными изменениями кода, которые повлекли за собой непредвиденные последствия в других местах. Комплексные юнит-тесты, возможно, являются лучшим способом для выявления такого рода ошибок. Если вы можете перейти к разработке на основе тестирования или разработке на основе поведения , даже лучше.
В любой крупной организации будут некоторые посредственные разработчики. Это факт жизни. Автоматическое модульное тестирование - отличный способ следить за ними. Попросите одного из ваших лучших разработчиков написать свои модульные тесты для них. Вы будете уверены, что по крайней мере их код работает (даже если он уродлив).