Методология работы над программными проектамиПринятый в компании процесс разработки ПО построен на основе методологии Rational Unified Process (RUP) и адаптирован с учетом требований стандарта системы менеджмента качества ISO 9001:2000 под специфику работы нашей компании. Использование методологии RUP обладает неоспоримыми преимуществами: Документированность процесса. Процесс гарантирует наличие необходимой в проекте документации. Набор документации может варьироваться в зависимости от сложности проекта, но базовые документы должны создаваться для любого проекта – без наличия этих документов риски неправильного выполнения проекта или срыва сроков его выполнения многократно увеличиваются, даже если проект достаточно простой. Итеративность процесса. Итеративность позволяет разделить всю функциональность проекта на итерации, срок реализации каждой из которых как правило не превышает 4 недель. В результате каждой итерации проектная группа выдает заказчику значимый для него результат, позволяющий при необходимости внести корректировки в проект. Таким образом даже для сложного проекта, срок выполнения которого занимает более года, заказчик через месяц получает видение проекта, через два месяца спецификации требований, через три – первую версию программного продукта, функциональность которого наращивается инкрементально на последующих итерациях. Итеративность держит проектную группу в состоянии постоянной мобилизации, не позволяя откладывать реализацию функциональности «на потом» к концу проекта, обеспечивая возможность внесения важных корректировок на раннем этапе выполнения проекта. Четкая структура распределения обязанностей. Процесс позволяет четко распределить роли и сферы ответственности между участниками проектной группы – это исключает возникновение ситуаций, при которых некоторые необходимые виды деятельностей вообще не выполняются, поскольку не назначены ответственные за их выполнение. Четкая организация процесса. Процесс разработки, основанный на методологии RUP имеет четко организованную структуру. Наряду с требованиями к программному продукту, структура процесса является основой для составления планов проекта. Это позволяет гарантировать, например, что такая деятельность как тестирование или создание пользовательской документации не будет забыта в ходе работы над проектом и будет включена в план проекта в самом начале его составления. Ориентированность на качество. Качество программного продукта главным образом обеспечивается за счет организации процесса разработки и распределения обязанностей в проекте. Важнейшую роль в обеспечении качества программного продукта играет формализация требований. Наличие подробно специфицированных требований позволяет проверить разработанный программный продукт на соответствие требованиям. Такая проверка осуществляется путем составления вариантов тестирования – вместе все варианты тестирования должны покрывать 100% требований. Само качество программного продукта можно свести к численным показателям и измерить. Таким образом, проверка качества программного продукта является системной, а не хаотичной. Поскольку обеспечение качества программного продукта является очень трудоемким, в процессе разработки программного продукта применяются средства автоматизированного тестирования – они позволяют автоматизировать рутинные процессы многократных проверок одной и той же функциональности, уменьшив негативное влияние человеческого фактора.
|