Диаграммы Искавы (Kaoru Ishikawa) или рыбий скелет (fishbone) являются удобным инструментом для классификации и систематического поиска причин какой-либо проблемы, получившим широкое распространение вскоре после своего появления.
Основу инструмента составляет та или иная классификация возможных причин проблемы. В разработке ПО крупными областями, где могут скрываться эти причины, обычно являются персонал, процесс разработки, оборудование, методы управления разработкой, среда разработки и исходные материалы (документы) для нее, как это показано на Рис. 47.
Рис. 47. Общая схема диаграммы Исикавы
В «голову» рыбы помещается формулировка исследуемой проблемы, после чего на «скелетных костях», соответствующих выбранным категориям причин размещаются формулировки предполагаемых причин данной проблемы, относящихся к данной категории, так называемые первичные причины. Если выявляются более мелкие, «вторичные» причины, то они могут отображаться как отходящие от своей «первичной» причины.
Пример заполненной диаграммы приведен на Рис. 48. В данном случае возможные причины отнесены к четырем категориям: люди, методы, инструменты и вводные установки. Выявленные причины затем ранжируются по своей значимости и для них разрабатывается план устранения в соответствии с их рангом, начиная с самых серьезных по своему вкладу в проблему. Этот шаг аналогичен соответствующим шагам в управлении рисками и может проводиться теми же методами.
Рис. 48. Исследование причин отсутствия инспекций диаграммой Исикавы
Результаты анализа причин обычно сохраняются в исторической базе данных проекта и затем используются для определения результативности принятых мер по искоренению этих причин в данном проекте и последующих проектах.
SWOT-анализ (SWOT – Strengths, Weaknesses, Opportunities, Threats – сильные стороны, слабые стороны, возможности, угрозы) – один из структурных методов стратегического планирования, хорошо зарекомендовавший себя в анализе проблем. Представляет собой категоризацию признаков проблемы (коллектива разработчиков, программного продукта, организации) по указанным четырем группам для обоснованного принятия решения по данному вопросу. При этом сильные и слабые стороны относятся к внутренним факторам, на которые разработчики могут воздействовать, а возможности и угрозы – это внешние факторы, которые надо учитывать, но управлять которыми разработчики не могут.
Пример SWOT-анализа проблемы «Развивать ли собственную службу поддержки информационных технологий (ИТ) в данной организации?» приведен на Рис. 49.
|
|
|
|
Внешние факторы |
Opportunities – возможности Рост использования ИТ Рост зрелости outsourcing’а и сокращение расходов |
Strengths – сильные стороны Высокий уровень знания инфраструктур Отличное знание архитектур Применение ITIL/CobiT к оказанию услуг по ИТ Доступ к новейшим технологиям |
Внутренние факторы |
Threats/Risks – угрозы/риски Рост требований к профессионалам в ИТ Высокий спрос на рынке |
Weaknesses – слабые стороны Отсутствие «стратегического видения» Недостаточный компенсационный пакет Нехватка персонала для поддержки на переднем крае (front-end) |
||
|
ITIL – Information Technology Infrastructure Library |
|
|
|
CobiT – Control Objectives for Information and related Technology |
|
|
Рис. 49. Пример SWOT-анализа проблемы
Такое представление результатов анализа проблемы легко обсуждается с компетентными лицами и помогает принять взвешенное решение.
Сбалансированный экран результативности организации (organization balanced scorecard) является одним из инструментов стратегического планирования. Его цель – перевести стратегические направления для деятельности организации в осязаемые цели, образующие сбалансированную систему бизнес-результатов. На практике в сбалансированном экране организации используется нескольких ключевых метрик, привязанных к ее бизнес-модели.
Экран результативности обычно занимает одну страницу (или один слайд) и в хорошо обозримом и понятном формате содержит быстро и легко оцениваемые сводные данные, нацеливает бизнес-обзоры и совещания, на которых рассматриваются ход проектов, на проблемные области и на признание успехов. Он поддерживает измерения для поощрения сотрудников, увязывает цели организации от главной стратегической цели до конкретных целей в личных планах сотрудников, позволяет скоординировать многие потоки работ в единое усилие, увязанное со стратегией и видением, и дает баланс бизнес-метрик для прошлого, настоящего и будущего организации. Примерная форма экрана результативности приведена на Рис. 50.
Левая половина экрана задает стратегическое направление. Первый столбец определяет стратегические цели организации на ближайшие 2-3 года. Типичными разделами в этой части являются видение, миссия, культура производства и используемый каркас для стратегии.
СТРАТЕГИЧЕСКОЕ НАПРАВЛЕНИЕ |
ИЗМЕРЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ |
||
Стратегические цели (2–3 года) |
Инициативы текущего года |
Ключевые бизнес-процессы |
Бизнес-результаты текущего года |
Видение |
___________ ___________ ___________ ___________ |
Лидерство |
Финансы |
Заказчики и рынок |
|||
Миссия |
Стратегическое планирование |
||
Культура |
Кадры |
||
Каркас для стратегии |
Управление процессом |
Специальные для подразделений |
|
Рис. 50. Примерный формат сбалансированного экрана производительности
Видение (Vision) формулирует желаемое место данной организации среди других, ей подобных, на долгосрочную перспективу (2-3 года и далее). Например, «Быть поставщиком №1 специального программного обеспечения, программных продуктов и программных решений в таком-то секторе рынка». Или: «Быть лидером в телекоммуникационной индустрии по технологиям и инновациям».
Миссия (Mission) определяет полезную роль, какую выполняет данная организация в структуре общественных и производственных отношений. Например, «Соединять людей» (Нокиа). Или: «Сделать разрабатываемое нами программное обеспечение конкурентным преимуществом наших заказчиков».
Культура (Culture) формулирует главные отличительные черты данной организации. Например, «Безусловная честность», «Постоянное уважение к людям».
Каркас для стратегии (Strategy Framework) определяет главные принципы реализации стратегических планов организации. Например, «Пилотировать и внедрять новейшие разработки в производство» или «Вести поиск инноваций и стимулировать собственное инновационное творчество».Второй столбец в левой части «Инициативы текущего года» перечисляет несколько инициатив, способствующих достижению сформулированных стратегических целей, которые выбраны для обязательной реализации в текущем году. Например, «Обрести компетенцию по формальным методам в разработке ПО».
Разделы правой части экрана являются отображением его левой части в измеряемых показателях, задающим конкретные цели на данный год. Первый столбец задает цели по ключевым бизнес-процессам (в данном случае это лидерство, стратегическое планирование и управление процессом производства). Например, лидерство – «Подготовить двух новых проектных руководителей проектов», управление процессом – «Пилотировать технологию SCRUM в двух проектах». Во втором указываются цели по ожидаемым бизнес-результатам (по финансам, заказчикам и рынку, кадрам и специальным целям для некоторых подразделений). Например, финансы – «Добиться 5% сокращения контролируемых статей бюджета, по сравнению с прошлым годом», кадры – «Добиться показателя текучести кадров менее 15% в год».
На ежемесячных операционных обзорах обязательно рассматривается ход достижения поставленных целей, и принимаются решения по соответствующим поправочным действиям в случае угрозы их недостижения.
На базе экрана результативности всей организации в каждом проекте создается свой экран, в котором заданные стратегические цели и измеряемые показатели их достижения для всей организации преобразуются в подобные цели и показатели для данного проекта. Здесь важно убедиться, что проект вносит свой вклад в достижение целей организации.
Аналогично, цели проекта или нескольких проектов преобразуются в личный план каждого участника разработки, в котором формулируются 1-5 бизнес-целей, которые данный сотрудник должен достичь в течение года в рамках своих служебных обязанностей, вместе с измеряемыми объективными показателями их достижения. Кроме того, в личном плане обычно формулируются 1-5 деятельностей по собственному развитию и план по дополнительному обучению и переподготовке. На основании данных о степени достижения этих целей, рейтинг сотрудника в данной организации регулярно обновляется и служит основанием для принятия решения о его карьерном росте или увольнении.
Технологическая дорожная карта организации (Technology Roadmap) – это еще один инструмент для стратегического планирования, который требует постоянных усилий по определению направления развития организации в зависимости от меняющихся планов, потребностей рынка, влияния конкуренции, научно-технического прогресса, и стратегических задач развития организации. Как правило, дорожная карта составляется на несколько лет вперед и регулярно (минимум раз в полгода) пересматривается и меняется в соответствии с изменившимися внешними условиями. Различают дорожную карту продукта и дорожную карту организации или ее подразделения. Дорожная карта продукта обычно охватывает срок 1-2 года вперед.
На Рис представлена реальная дорожная карта инструментального средства Klocwork для статического анализа больших объемов кода, разделенная по 4 последовательным кварталам одного года. Строки задают классы функциональности, какую предполагается реализовать в этом продукте, а в столбцах отмечены календарные кварталы.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1QYY |
2QYY |
3QYY |
4QYY |
|
||||
|
Сбор дан-ных |
Дефекты |
Конструктивные модели поиска дефектов |
Проверка дефек-тов, задаваемая пользователем |
|
|
|
|
|
||
|
Выявление типичных шаблонов дефектов |
|
|
|
|
|
|||||
|
Метрики кач-ва |
Стандартные |
Пользовательские |
|
|
|
|
|
|||
|
Архитектура |
Анализ потоков данных |
|
|
|
|
|
||||
|
Ана-лиз |
Понимание |
Процессный срез UML |
Диаграм. классов /компон. UML 2.0 |
Сценарии вариантов использования |
|
|||||
|
Многопроцессный срез C++ |
|
|
|
|
|
|||||
|
Задание правил |
Импорт диаграмм классов UML |
|
|
|
|
|
||||
|
Отчеты |
|
|
|
|
|
|
|
|
|
|
|
Пре-зен-тации |
IDE |
Интеграция с ClearCase |
Интеграция с Telelogic |
|
||||||
|
Web |
Портал Klocwork |
|
|
|
|
|
|
|
||
|
GUI |
|
|
|
|
|
|
|
|
|
|
|
API |
Доступ к контей-нерной модели |
Доступ к диа-граммам классов |
Доступ к про-цессн. срезу |
Доступ к срезу по сценар.исп. |
|
|||||
|
Исх. код |
Языки |
C/C++/Java |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|