Каковы последствия ISO 9001 / CMMI для управления источниками в целом и Git / Mercurial / DVCS в частности? - PullRequest
9 голосов
/ 29 сентября 2010

Мне задали этот вопрос о распределенном управлении исходными кодами кто-то, кто знаком с Team Foundation Server.

Можно ли использовать DVCS, например Git или Mercurial, для контроля источников и соответствовать стандартам, таким как ISO 9001 или CMMI?

Какие требования ISO 9001 и CMMI предъявляют к тому, какие инструменты контроля источников должны и не должны быть способны?

Существуют ли какие-либо действия, которые Git / Mercurial делает, которые ISO 9001 / CMMI сочли бы вредными, или которые потребовали бы особых соображений?

Я нашел некоторую информацию в http://www.ssqc.com/do25v6new.pdf, но на первый взгляд кажется, что она не говорит о многом, кроме необходимости вести учет того, что изменилось, какие версии вашего программного обеспечения вы развернули, и какие проблемы они исправляют, и нет причин, по которым DVCS не сможет справиться с этим в сочетании с трекером ошибок, таким как FogBugz, и CI-сервером, таким как TeamCity.

Ответы [ 5 ]

16 голосов
/ 29 сентября 2010

Во-первых, программное обеспечение не соответствует ISO 9001. Только организации соответствуют ISO 9001 .Так что вопрос в том виде, в котором он сформулирован, действительно не имеет смысла.Единственное, что вы можете спросить, это то, что команды разработчиков Git или Mercurial соответствуют ISO 9001.(То же самое касается CMMI).

Весь стандарт ISO 9001 для разработки программного обеспечения означает, что у вас есть письменный процесс для всего, что вы делаете (разработка, исправление ошибок и т. Д.), И что вы следуете ему,Что ж, и вы заплатили кому-то, чтобы он прошел аудит ISO 9001, удостоверяющий вышеизложенное.CMMI намного сложнее, но для целей этого обсуждения мы можем считать их похожими.

Вам, вероятно, придется долго и усердно искать проект сообщества свободного программного обеспечения, который потрудился пройти.огромная трудоемкая работа, необходимая для создания всей документации по процессу, и это собрало деньги для оплаты аудита.Если вы найдете его, это, вероятно, будет связано только с тем, что какой-то крупный корпоративный спонсор захочет его получить.

Если вопрос заключается в том, что именно эти стандарты указывают на использование контроля источника, в случае ISO 9001 этобыть ничем .Старая шутка в том, что если вы берете свой продукт и выбрасываете его в 10-этажное окно на док-станцию ​​загрузки, то это нормально для ISO, если это ваш документированный процесс и вы следуете ему.

5 голосов
/ 29 сентября 2010

Я работаю в среде 21 CFR 820 (регулируемое медицинское устройство) / ISO 13485, но «общая картина» во многом совпадает с ISO 9001. Я согласен со всем вышеизложенным о ISO 9001, касающемся процесса, а не инструментов ,

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

Для таких инструментов у нас должна быть документация «Проверка компьютерных систем» (CSV). CSV для стороннего инструмента включает в себя (1) спецификацию инструмента, которая описывает варианты использования в цикле разработки продукта и как они влияют на качество, и (2) контрольные примеры, которые могут предоставить объективное свидетельство эффективности инструмента в предполагаемых случаях использования ,

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

3 голосов
/ 29 сентября 2010

С домашней страницы CMMI :

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

CMMI имеет дело с процессом, а не с инструментами. Насколько я понимаю, вы можете контролировать версию с помощью глиняных планшетов и быть совместимыми с CMMI, если у вас есть процесс для этого (уровень 2) и вы выполняете этот процесс (уровень 3,4,5).

2 голосов
/ 29 сентября 2010

Как уже отмечали другие люди, ISO 9001 не относится к инструменту.Работая в учреждении, которое соответствует стандартам ISO 9001, они (само учреждение) являются «зрелыми».Слово «зрелый» в этом контексте указывает на то, что организация строго придерживается процессов, которые были проверены и признаны совместимыми с ISO 9001.Процессы с участием Git или Mercurial никоим образом не повлияют на вашу способность соответствовать стандарту ISO 9001 (если вы не будете следовать этим процессам).

По крайней мере, это мое понимание всего этого.

2 голосов
/ 29 сентября 2010

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

С точки зрения того, что CMMi на самом деле проверяет для , другие авторы правы, утверждая, что до тех пор, пока процесс задокументирован и разработчики понимают и могут соответствующим образом цитировать процесс, с вами должно быть все в порядке. 1005 *

С точки зрения того, что ваша команда готова пройти аудит CMMi, единственное, что могло бы вызвать небольшое беспокойство, - это попытаться перевести команду среднего / большого размера из VCS с открытым исходным кодом (SVN, CVS) или коммерческой VCS. (MKS, AccuRev и т. Д.) На DVCS без соответствующего времени раскрутки. Поскольку переход может вызвать неприятные ощущения, перед тем, как приступить к аудиту, необходимо убедиться, что ваша команда прочно удерживает любой DVCS.

...