Кто-нибудь еще верит в модель зрелости программного обеспечения? - PullRequest
21 голосов
/ 15 сентября 2008

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

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

Так что мне интересно, кто-нибудь видел реальную, ощутимую выгоду от приверженности улучшению процессов в соответствии с CMM?

И если вы видели улучшение, думаете ли вы, что улучшение было конкретно связано с CMM, или альтернативный подход (такой как six-sigma ) был бы в равной степени или более полезным?

Кто-нибудь еще верит?

Кроме того, для тех, кто еще не видел его, проверьте эту забавную пародию 1015

, потому что это правда *1016*

Ответы [ 22 ]

13 голосов
/ 15 сентября 2008

Я обнаружил, что это раздутое упражнение по документированию, которое использовалось главным образом как средство для получения контракта / сопровождения. Как только у нас был контракт, это было упражнение в том, чтобы обойти этот процесс.

Как разработчик, я ничего не получил от этого, но потерял МЕСЯЦЫ моей профессиональной жизни, вертя с CMMI.

То же самое касается 6 сигм, которые я назвал «Здравый смысл в коробке». Мне не нужно было учиться выяснять, в чем заключается проблема процесса - в целом это было совершенно очевидно.

Для меня небольшие команды и гибкие механизмы работают намного лучше. Короткие циклы, много общения. Это может работать не во всех средах, но в моем случае это точно работает.

Только мои два цента.

13 голосов
/ 15 сентября 2008

В основе проблемы лежит эта проблема, аккуратно описанная самими руководствами CMM ...

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

со страницы 14, раздел 1.6 Модель зрелости возможностей, Руководство по совершенствованию процесса разработки программного обеспечения Института разработки программного обеспечения университета Карнеги-Меллона, ISBN 0-201-54664-7.

10 голосов
/ 15 сентября 2008

В типичном магазине программирования CMM уровня 1 стоит попытаться добраться до уровня 2; это означает, что вам нужно подумать о своих процессах и записать их. Естественно, это встретит сопротивление со стороны ковбойских программистов, которые чувствуют себя ограниченными стандартами, документацией и тестовыми примерами.

Усилия по переходу от уровня 2 («есть процесс») к уровню 3 («у всех одинаковый процесс») обычно увязают в межведомственной войне, поэтому, вероятно, начинать не стоит.

9 голосов
/ 15 сентября 2008

Если вы видите запуск CMM. И беги быстро.

6 голосов
/ 15 сентября 2008

CMM и CMMI предлагают некоторые преимущества, если ваша организация принимает уроки, которые она пытается преподавать в глубине души. Проблема в том, что переход на более высокие уровни очень труден и дорог, и я видел, как организация проходит через это единственное время, потому что их клиенты не позволяют им делать ставки на контракты, пока они не достигнут определенного уровня. *

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

5 голосов
/ 15 сентября 2008

Высший конец? Магазины CMM-5 меня не впечатляют.

Нижний конец? Да. Организации CMM-1 пугают меня.

CMM может помочь новой / начинающей команде измерить себя и заняться самоусовершенствованием.

4 голосов
/ 15 сентября 2008

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

Справочная информация. Я изучал CMMI в своей программе для выпускников Software Engineering и работал в команде, следовавшей ее рекомендациям.

4 голосов
/ 15 сентября 2008

Мой опыт показывает, что CMM настолько расплывчатый, что его очень легко выполнить. Кроме того, когда они приходят, чтобы сертифицировать вас, они смотрят на проект, который выбирает ваша организация. Там, где я раньше работал, это был проект без реального срока, большого количества денег и большого количества времени, чтобы тратить на каждый закоулок процесса. Многие другие проекты продолжались практически без проверки кода / дизайна, иногда без контроля версий программного обеспечения.

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

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

3 голосов
/ 15 сентября 2008

Существуют все формальные методы продажи книг / учебных курсов / сертификации, и ни по какой другой причине. Вот почему существует так много формальных методов. Как только вы осознаете это, вы свободны: -)

3 голосов
/ 15 сентября 2008

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

...