KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Борис Вольфсон - Гибкое управление проектами и продуктами

Борис Вольфсон - Гибкое управление проектами и продуктами

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Борис Вольфсон, "Гибкое управление проектами и продуктами" бесплатно, без регистрации.
Перейти на страницу:

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

Контрольная карта по дефектам

Контрольная карта по дефектам в разрезе проектов

Диаграмма Парето

Этот инструмент позволяет выявить модули, которые содержат определенный процент дефектов. Обычно получается соотношение, близкое к 20/80: 20 % модулей содержат 80 % дефектов.

Именно на эти модули стоит обратить внимание:

• покрыть их дополнительно тестами;

• провести дополнительные инспекции кода.

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

Диаграмма Парето

Модули, в которые часто вносятся изменения, экономически выгодно сделать более гибкими:

• сделать более гибкую и настраиваемую архитектуру;

• активно использовать шаблоны проектирования для дополнительной гибкости.

Итоги

Глава 12. Agile-методологии

Водопадная модель разработки ПО

Начнем с основ и для этого возьмем машину времени и переместимся в 1970 год: доктор Уинстон Ройс пишет свою статью «Управление разработкой больших программных систем» (Managing the development of large software systems), которая и положила начало водопадной модели разработки ПО. Самое интересное, что он в своей статье описывает эту модель как антипаттерн.

Доктор Ройс предлагает решение, в котором есть элементы итеративности и гибкости, но оно больше похоже на тяжеловесную методологию.

1. Подробная проработка архитектуры программы до начала разработки (включая предварительную архитектуру).

2. Максимально подробная документация на каждом этапе.

3. Симуляция всего проекта в уменьшенном виде (фактически прототипирование).

4. Планирование, контроль и мониторинг тестирования.

5. Вовлечение заказчика.

Водопадная модель разработки ПО

В результате у Ройса получается совсем другая схема работы, нежели та, на которую обычно ссылаются.

Авторы Agile-манифеста

В феврале 2001 года в местечке под названием Сноуберд в штате Юта собрались 17 специалистов (консультантов и практиков), чтобы обсудить легковесные методики разработки. В результате родился документ «Манифест гибких методологий разработки» (Agile Manifesto). Позволю себе привести список авторов манифеста и краткую информацию о них.

Кент Бек – создатель разработки через тестирование и экстремального программирования. Автор нескольких книг на эти темы и соавтор JUnit.

Майк Бидл – основатель и генеральный директор e-Architects Inc., консалтинговой компании, которая специализируется на разработке распределенного ПО. Он также является соавтором книги Scrum, Agile Software Development, написанной совместно с Кеном Швабером.

Усовершенствованная водопадная модель разработки ПО

Эйри ван Беннекум – участвовал в разработке методологии DSDM с 1997 года. До этого активно работал над быстрой разработкой (Rapid Application Development).

Алистер Кокберн – известен исследованиями проектных команд и участием в разработке семейства методологий Crystal.

Уорд Каннингем – основатель Cunningham & Cunningham, Inc. Он также широко известен своим огромным вкладом в развитие объектно-ориентированного программирования, экстремального программирования и в концепцию вики.

Джеймс Греннинг – тренер и консультант по гибким методологиям. Является специалистом в области разработки и тестирования встроенного программного обеспечения и автором книги Test Driven Development for Embedded C.

Стивен Меллор – специалист в области разработки программного обеспечения, соавтор метода ООАП Шлаера-Меллора, работал над UML в составе Object Management Group.

Мартин Фаулер – главный исследователь в компании Thoughtworks. Автор многих работ и книг по паттернам анализа, UML, рефакторингу и экстремальному программированию.

Джим Хайсмит – ведущий разработчик методологии Adaptive Software Development и автор соответствующей книги.

Эндрю Хант – соавтор книги Pragmatic Programmer: From Journeyman to Master и других работ, связанных с разработкой ПО.

Рон Джеффрис – владелец сайта XProgramming.com, консультант в компании Object Mentor и соавтор книги Extreme Programming Installed.

Джон Керн – участвовал во многих проектах по исследованиям и разработке в области авиастроения. Он также является евангелистом объектно-ориентированного программирования с начала 90-х годов.

Брайан Мэрик – программист и консультант по тестированию программного обеспечения. Основной вклад Брайана заключается в исследовании процессов тестирования ПО в гибких методологиях разработки.

Роберт Мартин – работает в отрасли разработки ПО с 1970 года. Он является президентом и основателем фирмы Object Mentor Inc., которая специализируется на консалтинге в области экстремального программирования, гибких методологиях разработки, консалтинге по архитектуре ПО и т. д. Он также является соавтором книг по программированию и разработке программного обеспечения.

Кен Швабер – президент компании Advanced Development Methods (ADM), которая занимается улучшением методов разработки ПО. Он является опытным разработчиком, менеджером продуктов и консультантом. В начале 90-х годов он работал с Джеффом Сазерлендом над первыми версиями Scrum. Он также является соавтором книги Scrum, Agile Software Development.

Джефф Сазерленд – технический директор (CTO) компании PatientKeeper, которая занимается созданием ПО для медицинских учреждений. За свою карьеру был техническим директором (или вице-президентом по технологиям) в девяти компаниях. Известность приобрел как изобретатель методологии Scrum.

Дейв Томас – верит, что сердце проекта по разработке – не методология, а люди. По этой причине он является соавтором книги The Pragmatic Programmer.

Crystal Clear

Crystal Clear – это легковесная гибкая методология, созданная Алистером Кокберном. Она предназначена для небольших команд из 6–8 человек для разработки некритических бизнес-приложений. Как и все гибкие методологии, Crystal Clear больше опирается на людей, чем на процессы и артефакты.

Crystal Clear использует семь методов/практик, три из которых являются обязательными.

1. Частая поставка продукта.

2. Улучшения через рефлексию.

3. Личные коммуникации.

4. Чувство безопасности.

5. Фокусировка.

6. Простой доступ к экспертам.

7. Качественное техническое окружение.

Как видите, все практики характерны для семейства Agile-методологий. В графическом виде практики Crystal Clear можно изобразить таким образом.

Методы и практики Crystal Clear

Dynamic Systems Development Method (DSDM)

Методология DSDM (Dynamic Systems Development Method – метод разработки динамических систем) основана на подходе RAD (Rapid Application Development – быстрая разработка приложений) и включает в себя три стадии.

1. Предпроектная стадия, на которой авторизуется реализация проекта, определяются финансовые параметры и команда.

2. Жизненный цикл проекта представляет собой реализации проекта и включает в себя пять этапов.

3. Постпроектная стадия обеспечивает качественную эксплуатацию системы.

Общая схема DSDM

Жизненный цикл проекта включает в себя пять стадий (первые две фактически объединяются).

1. Определение реализуемости.

2. Экономическое обоснование.

3. Создание функциональной модели.

4. Проектирование и разработка.

5. Реализация.

Agile Unified Process

Agile Unified Process (AUP) – упрощенная версия IBM Rational Unified Process, созданная Скоттом Амблером (Scott Ambler) и состоящая из семи методов.

1. Моделирование используется для понимания бизнес-требования и предметной области.

2. Реализация – преобразование модели в исполняемый код с модульными тестами.

3. Тестирование – способ поиска дефектов и верификации системы на предмет соответствия требованиям.

4. Размещение – доставка готовой системы пользователям.

5. Управление конфигурациями – управление доступом и версиями артефактов проекта.

6. Управление проектом – непосредственные активности, связанные с ходом проекта: управление и координация людей, управление рисками, финансами и т. д.

7. Среда – совокупность процессов, инструментов, стандартов и правил.

Feature-driven development

Feature-driven development (функционально-ориентированная разработка) – методология, созданная Джеффом Де Люка (Jeff De Luca). Разработка ведется в пять этапов.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*