вторник, 20 апреля 2010 г.

Мысля о качестве ... и не только

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

Качество кода

Есть довольно внятные признаки "качественного" кода, и довольно определенные признаки "не качественного кода". Только вот чаще всего это интуитивное понимание. И разумеется, во многих проектах возникает желание\потребность измерить это.

Метрики качества кода

Есть довольно большое количество способов "померить". Точнее получить какие то циферки. Иногда даже получается их проанализировать, а иногда даже сделать какие-то выводы :)

CMMI

Вообщем-то много о чем говорит этот стандарт, но одна из замечательных вещей (по крайней мере что мне очень понравилось), вообщем они вводят понятие зрелости (machurity). Итак, они предлагают 5 уровней (далее вольная трактовка):
Уровень 1. Организация слышала о том, что есть процессы.
Уровень 1. Организация пытается использовать процессы в разработке.
Уровень 3. Организация пытается использовать процессы в разработке и делать это правильно.
Уровень 4. Организация не только применяет процессы, но и добивается повторяемости результатов.
Уровень 5. Организация не только применяет, и умеем повторить результат, но и привносит свои улучшения (т.е. знает как сделать процесс разработки еще лучше)

По поводу аналогии

Аналогия между проектами и зрелости по CMMI. Скорее зрелости не проектов, а товарищей, которые рулят процессом разработки...
Уровень 1 - разработчики слышали о том, что есть такое понятие как "качество кода"
Уровень 2 - разработчики пытаются это как то измерить.
Уровень 3 - разработчики пытаются это как то измерить, а также пытаются делать какие то выводы.
Уровень 4 - разработчики умеют не только измерять, но и корректировать процесс так, чтобы достигать какой то стабильного уровня качества.
Уровень 5 - "гуру" умеют не только достигать заданной отметки качества, но и могут придумывать собственные практики для улучшений и т.п.

2 комментария:

  1. Что-то как-то весьма неправильно про CMMI... :(

    ОтветитьУдалить
  2. :) учитывая мой опыт "изучения" вполне возможно. Ждем поправок.

    ОтветитьУдалить