Беседы о программировании

 

Если вы никогда не делаете одно и то же одинаковым образом, то вы никогда не повторите старых ошибок. Вы просто сделаете новые. Это могло бы стать введением в обещанную мной колонку об ISO 9001 (стандарте на качество проектирования, разработки, изготовления и послепродажного обслуживания, созданном Международной организацией по стандартизации) и его применении к разработке программ. Но это вступление подходит и к более насущному вопросу: конкурсу PC Week/ACM 1996 по профессиональному программированию. Поступление заданий ожидалось к 18 марта, и я надеюсь, что многие из вас приложили руку к задачам этого года.

 

В прошлом году мы разослали эти задачи по ZiffNet и Internet и по ходу дела научились некоторым вещам. В этом году мы отказались от возможности использовать эти уроки и перенесли презентацию конкурса в Web. (Вы можете попасть в это сражение с базовой страницы нашего тестового центра PC Week Labs или напрямую по адресу: http://www.acm.org/contest/ppc/.)

 

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

 

Мы можем начать с анализа стандарта ISO 9001, который вы найдете в Приложении Б книги Перри Джонсона "ISO 9000: Meeting the New International Standards" (McGraw-Hill Inc., ISBN No. 0-07-032691-6). Возможно, первый же заголовок "Ответственность за управление" (Management Responsibility) заставит читателя содрогнуться при мысли о Еще Одной Кампании Словоблудия. Успокойтесь. Все будет хорошо.

 

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

 

Мы подбираемся ближе к существу вопроса в разделе "Система качества". Главные положения раздела: 1) "Для продукции должны быть определены и приобретены ресурсы, необходимые для достижения требуемого уровня качества" и 2) "Управление выпуском продукции должно обеспечивать взаимное соответствие дизайна, производственного процесса, проверки и тестирования, поставки и сопроводительной документации".

 

Какие ресурсы подразумеваются в пункте 1, если речь идет о разработчиках ПО? Это может быть система управления версиями, дополненная средствами отслеживания дефектов, такими, как StarTeam фирмы Starbase или Track фирмы Soffront Software. К пункту 2, вероятно, относятся испытанные и оправдавшие себя технические приемы, например составление руководства пользователя до написания кода.

 

Но наибольший выигрыш можно получить в области управления проектированием. Жесткая связь между предъявленными требованиями и структурными особенностями, а также формализация процесса внесения изменений  -  лишь два примера, извлеченных из анализа ISO 9001.Желаю удачи в конкурсе и в плодотворном использовании стандартов семейства ISO 9000 в процессе разработки ваших программ!

 

Питер Коффи

Версия для печати