Процессы производства программного обеспечения

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

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

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

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

  • пакеты и средства разработки ПО, документацию по ним и правила их использования;
  • описание практик (правил и примеров) разработки, правил работы с заказчиком и т.п.;
  • шаблоны проектных документов – технических заданий, проектных спецификаций, планов тестирования и т.п.

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

Развитие компаний, их рост и повышение качества их продукции связывают с совершенствованием процесса. Совершенствование процесса (software process improvement) – это деятельность по изменению существующего процесса (как текущего, в рамках одного проекта, так и стандартного, для всей компании) с целью улучшения качества создаваемых продуктов и/или снижения цены и времени их разработки.

Причины актуальности этой деятельности для компаний-производителей ПО заключается в следующем:

1. Происходит быстрая смена технологий разработки ПО, требуются изучение и внедрение новых средcтв разработки.

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

3. Имеет место высокая конкуренция, которая требует поиска более эффективных, более экономичных способов разработки.

Что и каким образом можно улучшать.

1. Переход на новые средства разработки, языки программирования и т.д.

2. Улучшение отдельных управленческих и инженерных практик – тестирования, управления требованиями и пр.

3. Полная, комплексная перестройка всех процессов в проекте, департаменте, компании.

4. Сертификация компании по стандартам качества.

Главная трудность реального совершенствования процессов в компании заключается в том, что она при этом должна работать и создавать ПО, ее нельзя "закрыть на учет". Отсюда вытекает идея непрерывного улучшения процесса, так сказать, малыми порциями, чтобы это не было болезненно. Это тем более разумно, что новые технологии разработки, появляющиеся на рынке, а также развитие уже существующих нужно постоянно отслеживать.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: