0 комментариев

Путь к качеству

Опыт компании "Тэлма", Нижний Новгород

Л. Л. Лысова - менеджер по качеству компании "Тэлма", Нижний Новгород 

С. Л. Кравец - менеджер по маркетингу компании " Тэлма", Нижний Новгород

Источник: Журнал «КОМПАС промышленной реструктуризации» 2003г.

Non progredi est regredi (lat.) (Не идти вперед, - значит идти назад)

 Краткая справка:
Основанная в 1991г., "Тэлма" - одна из крупнейших региональных IT компаний, проработавшая более 10 лет в области оффшорного программирования. Главный заказчик "Тэлмы" с 1992 года - компания Motorola Inc. Область специализации "Тэлмы" - разработка программного обеспечения для беспроводных устройств, в частности, в области сотовой телефонии. "Тэлма" участвовала в разработке многих, известных в настоящий момент, сотовых телефонов Motorola (А009, Т720i, V100, V60, V66, V70, V600, T280i, C330, C350, E380, E390 и т.д.).

Клиентов в России пока не имеет.

 В статье рассматриваются причины, побудившие компанию Тэлма к выбору стандартов СММ, особенности внедрения этой системы и результаты, которые были получены. Авторы старались объяснить, что реально стоит за системой контроля качества, что это дает самой компании и заказчикам, которые с ней будут работать. На конкретных примерах показано, как внедрение CMM в Тэлме позволило улучшить качество предоставляемых сервисов и внутренней организации производства.

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

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

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

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

Решение о внедрении системы контроля качества

История компании "Тэлма" началась более 10 лет назад с команды из пяти сотрудников. Это были высококвалифицированные специалисты, выполнявшие поставленные заказчиком задачи быстро и с малым количеством ошибок. Такой стиль работы привел к появлению новых, более крупных и сложных заказов. Команда стала расти, требовалось все больше и больше временных и человеческих ресурсов для обнаружения ошибок, их устранения и проверку соответствия продукта требованиям заказчика.

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

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

Почему мы остановили свой выбор именно на CMM? Разработан целый ряд серьезных подходов и методов, направленных на совершенствование и упорядочивание процесса разработки с тем, чтобы разрешить классическую триаду проблем "ресурсы - стоимость - качество" при особом акценте на управление качеством. Эти подходы вошли в учебники, а некоторые из них достигли такой степени зрелости, что оформились в виде набора процедур обеспечения качества, которые стали основой международного стандарта ISO-9000. В некоторых случаях применение стандартов ISO-9000 имеет свои преимущества. Сертификация ISO помогает получить заказы на разработку программного обеспечения, потому что в заказной модели клиент платит до того, как получил результат, и хочет иметь гарантии качества получаемого продукта. Для компании Тэлма главным был вопрос достижения взаимопонимания с нашими американскими заказчиками. И для его решения наилучшим образом подходила модель совершенствования возможностей процесса разработки CMM (Capability Maturity Model), предложенная Американским Институтом Разработки Программного Обеспечения (Software Engineering Institute, SEI).

CMM создавалась не только с целью получения обоснованных процедур оценки процесса разработки, но и последующего развития технологии в организациях, которые занимаются производством программного обеспечения. Инициатором создания CMM было Министерство Обороны США, чьи требования к качеству, надежности и срокам выполнения заказов очень высоки. В Тэлме разрабатывается сложное встроенное программное обеспечение, системы реального времени с длительным временем жизни, и дефекты в них могут иметь критическое значение для успешных продаж продукта. Именно поэтому система CMM полностью подошла нашей компании. Одной из главных особенностей СММ является то, что модель предлагает анализ организации как системы с соответствующими методами управления, основанными на количественном анализе производимых продуктов. Имея набор численных показателей, значения которых интерпретируются как "хорошее качество" или "плохое качество", можно однозначно определять состояние программного обеспечения и влиять на него, исходя из составляющих этих показателей.

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

 

Первые шаги к управлению качеством

В модели СММ различается пять уровней зрелости (пятый - наивысший). Начальный ("Initial") процесс не имеет какой-либо устойчивой структуры, или про него просто ничего не известно. На этом уровне процесс неуправляем, хаотичен и не поддается оценке именно вследствие своей неопределенности. Поэтому оценить, а, тем более, прогнозировать качество продукта невозможно до начала его эксплуатации.

На первом этапе освоения методологии СММ мы составили долгосрочный план по достижению в хронологическом порядке всех пяти уровней зрелости этой модели. Предварительная внутренняя оценка показала, что наш стандартный процесс соответствовал второму ("Repeatable") уровню СММ. Наш опыт доказывает, что при целеустремленной, интенсивной работе, с соблюдением строгой дисциплины выполнения предписанных правил и процедур компания может достичь второго уровня зрелости через год с начала работы по правилам СММ, третьего ("Defined") уровня зрелости - за 2 года, четвертого ("Managed") - за 3-4 года. Пятого ("Optimizing") уровня мы достигли за 5 лет.

На втором этапе мы выбрали из множества требований модели СММ (с учетом всех пяти уровней зрелости) наиболее подходящее подмножество для нашей работы, то есть определили для себя стандартный процесс.

С 1998 года в Тэлме работает группа обеспечения качества - Software Quality Assurance Group. В ее обязанности входит обеспечение правильного следования стандартному процессу, организация тренингов команды и контроль качества программных продуктов. Важным моментом является правильная реализация требований CMM в конкретной организации. В отличие от собственного опыта команды, стандарты, взятые извне, являются "инородными", и их неверное применение может дать обратный эффект: замедлить темпы работы, ухудшить качество и моральный климат в команде.

В 1999 году "Тэлма" успешно проходит неофициальную аттестацию на второй уровень зрелости модели СММ. На этом уровне проект разбивается на небольшие части и становится более понятным менеджерам и разработчикам, он выполняется в заданные сроки и укладывается в бюджет. Однако он не дотягивает даже до среднемирового. Дело в том, что на этом уровне еще не выполняется прогнозирование и отсутствуют количественные оценки. На этапе развития все проблемы в проекте решаются по мере их возникновения. Второй уровень является именно набором "стандартов" для следования, а потому гарантирует четкость действий в стабильной обстановке. Однако даже этот уровень позволяет систематизировать рабочие процедуры и, благодаря наличию некоторого набора критериев, обеспечивать качество продукта.

Факт достижения организацией второго уровня зрелости в модели CMM говорит о стандартизации таких важных процедур, как управление версиями программного обеспечения (Software Configuration Management, SCM), управление требованиями (Requirements Management, RM), планирование проекта (Software Project Planning, SPP), отслеживание и контроль хода работ на проекте (Software Project Tracking and Oversight, SPTO), а также формирование численных показателей качества продукта (Software Quality Assurance, SQA).

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

Управление требованиями к продукту (RM) позволяет избежать разночтений в их трактовке как заказчиком, так и самой командой инженеров. Требования становятся реализуемыми, тестируемыми, а процесс их создания стандартизирован.

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

Нужно также заметить, что уровни CMM не являются взаимоисключающими. На третьем уровне присутствуют стандарты и процедуры второго уровня, на четвертом - второго и третьего. При достижении второго уровня зрелости мы вводили элементы 3, 4 и 5 уровней модели СММ. Это повышало эффективность продвижения вверх по уровням. Например, с самого начала у нас была создана специальная группа процесса (Software Engineering Process Group, SEPG), на которую была возложена ответственность за работу по оптимизации стандартного процесса.

Процесс для конкретного проекта получается из стандартного процесса с использованием специальной процедуры подгонки (tailoring), что позволяет избежать лишних действий и сосредоточится только на тех, которые необходимы для выполнения данного проекта. Постоянное улучшение стандартного процесса в нашей компании - это самостоятельный непрерывный проект.

 

Достижение мирового уровня качества

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

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

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

Третий уровень - это уже больше, чем просто набор стандартов. Улучшение процесса до третьего уровня зрелости совпало по времени с быстрым ростом компании. И для того, чтобы не возникло уже указанной проблемы - "несовместимости" стандартов и коллектива, который должен их использовать, - во внедрение стандартов была вовлечена вся команда, а не только группа обеспечения качества и группа процесса. Сами инженеры создавали шаблоны документов, процедуры их заполнения, а также описывали процессы и методики на разных фазах проекта. Подход, при котором вся команда разработчиков становится "владельцем" процесса (process owner), позволил создать более "живые" стандарты, а также провести эффективный тренинг команды.

На третьем уровне больше, чем на втором, важна организация совместной работы команды. На нем существуют стандартные процедуры по межгрупповому взаимодействию для различных команд, работающих над одним продуктом (Intergroup Coordination), а также для совместного анализа кода и документации (Peer Reviews), что позволяет значительно уменьшить количество ошибок и успешно реализовывать проект в заданные сроки.

В 2002 году "Тэлма" проходит аттестацию на четвертый уровень зрелости. Теперь внутренние действия по организации процесса количественно оценены и легко управляемы, существуют численные критерии для запуска и завершения отдельных процедур. Специальная группа процесса фиксирует достижение запланированных показателей по улучшению стандартного процесса. Метрики и установленный диапазон их изменения принимаются в качестве базовых версий и используются для контроля производительности стандартного процесса, качества и длительности проекта. Общие показатели возможностей стандартного процесса служат ориентиром для отдельных проектов, что позволяет разработчикам и тестовым инженерам определять собственные нормы производительности, цены, качество и сроки исполнения на каждом проекте. Имея в своем распоряжении самую последнюю информацию для анализа, менеджеры могут быстрее принимать обоснованные решения.

Следующие числовые показатели наглядно иллюстрируют достижение высокого уровня качества: рост производительности (в ассемблерном эквиваленте) - с 2,1 в 2000 году до 4,7 в 2002; уменьшение количества найденных и устраненных в процессе разработки ошибок на 1000 строк кода - с 10,19 в 2000 до 2 в 2002 году.

 

Приобретенный опыт и планы на будущее

Перемены в "Тэлме" шли не революционно, а путем постепенного накопления потенциала. Это привело к тому, что "Тэлма" стала устойчиво развивающейся компанией, первой в России достигшей 5 уровня СММ (2003 г.). На пятом уровне зрелости на первый план выходит эффективное управление, благодаря чему повышается качество продуктов и продолжают снижаться требования к ресурсам. Если раньше к вопросу качества практиковался подход "постфактум", то на пятом уровне команда обладает информацией о том, что надо делать, чтобы вообще не допускать ошибок (Defect Prevention).

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

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

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

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

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

0 комментариев
Отправить
обсуждения
Толковая статья автора-практика. Полная версия - в крайнем номере альманаха "Управление произво... Из личного опыта: как вовлечь сотрудников в процесс непрерывного совершенствования
Никакая программа не позволяет "выявлять причины брака", только сигналы об изменениях в пр... За качество берётся статистика: SPC на «КАМАЗе»
Добрый день, Статистическое управление процессами - это не сравнение контролируемых значений с г... За качество берётся статистика: SPC на «КАМАЗе»
Узнайте больше Система 5S 15 чек-листов, примеры, фото и многое другое
Система 5S