5.1 Соответствие стандартам качества. Насколько это важно?
В настоящее время известны десятки различных подходов к обеспечению качества программ. Многие разработчики ПО пытаются пройти сертификацию на соответствие тем или иным стандартам. Однако для большинства российских и украинских разработчиков эта дорогостоящая процедура просто «не по карману». Несмотря на это, при приобретении бизнес-программ необходимо поинтересоваться, как обеспечивается качество разработки программных продуктов. Даже если у разработчика нет официального документа, он должен знать о стандартах, «держать их в уме» и стремиться следовать их положениям.
5.2 Стандарты ISO серпи 9000
Стандарты международной организации по стандартизации ISO (InternationalStandardOrganization) являются наиболее известными и распространенными в мире. Эти стандарты универсальны, их можно применять в качестве моделей независимо от отрасли, в которой работает компания. Для организаций, занимающихся производством программных продуктов, применимы стандарты ISO 9001 и ISO 9000-3 «Руководящие указания по применению ISO 9001 при разработке, поставке и обслуживании программного обеспечения».
5.3 Стандарт TicklT
Достаточно широкую известность среди разработчиков получил британский стандарт TickIT, который регламентирует требования к системе качества для разработчиков ПО и базируется на модели ISO 9001:94. Кроме того, TickIT объединяет в себе модель ISO 9001 с набором рекомендательных стандартов ISO 12207 и ISO 9000-3.
5.4 CapabilityMaturityModel
Изначальной целью разработки стандарта СММ (CapabilityMaturityModel - зрелость процесса разработки) от SEI (SoftwareEngineeringInstitute - Институт системного программирования при университете Карнеги-Меллон) было создание методики, позволяющей правительственным организациям США выбирать лучших поставщиков ПО. При этом главным понятием стандарта является зрелость разработчика ПО.
В модели СММ определено 5 уровней зрелости:
- начальный уровень (initiallevel). У компании-разработчика не существует стабильных условий для создания качественного ПО. Результат любого проекта целиком и полностью зависит от личных качеств руководителя и опыта программистов. Ключевые области процессов - компетентность специалистов, самопожертвование и «героизм»;
- повторяемый уровень (repeatablelevel). При разработке ПО должны быть внедрены технологии управления проектами. Планирование и управление проектами основывается на накопленном опыте, существуют стандарты на разрабатываемое ПО и существует специальная группа обеспечения качества. Ключевые области процессов - управление требованиями, планирование программистских проектов, их отслеживание и контроль, управление субподрядом, обеспечение качества и конфигурационное управление ПО;
- определенный уровень (definedlevel). Характеризуется тем, что стандартный процесс создания и сопровождения программного обеспечения задокументирован (включая и разработку ПО, и управление проектами). Ключевые области процессов - определение процессов, программа обучения, интегральное управление ПО, разработка программных продуктов, координация между группами;
- управляемый уровень (managedlevel). V разработчика устанавливаются количественные показатели качества - как на программные продукты, так и на процесс в целом. Ключевые области процессов - количественное управление процессами и управление качеством ПО;
- оптимизируемый уровень (optimizinglevel). Мероприятия по улучшению применяются не только к существующим процессам, но и для оценки эффективности ввода новых технологий. Основной задачей всей организации на этом уровне является постоянное улучшение существующих процессов. Ключевые области процессов - предупреждение ошибок, управление изменениями в технологиях и процессах.
Следует заметить, что пока в мире существует совсем немного компаний, которые могут предоставить сертификат пятого уровня СММ (всего около 50), а более 70 % всех компаний-разработчиков находится на первом уровне.
5.5 SPICE
Стандарт SPICE (SoftwareProcessImprovementandCapabilitydEt-ermination - определение возможностей и улучшение процесса создания программного обеспечения) официально называется «ISO/ІЕС 15504: InformationTechnology - SoftwareProcessAssessment".
SPICE унаследовал многие черты более ранних стандартов, в том числе ISO 9001 и СММ. В нем определено 6 различных уровней, но эти уровни применяются не только к компании в целом, но и к отдельно взятым процессам. При этом во время оценки и улучшения качества процессов выполняются следующие задачи:
- оценка процесса;
- определение возможностей процесса;
- улучшение процесса.
6. Основныекритериивыбора программных продуктов
6.1 Операционная система и СУБД
DOS, Windows, Linux или другая система? На этот вопрос необходимо ответить, чтобы приобретенная бизнес-система соответствовала той, что используется на предприятии. При этом важно уточнить, возможность работы под управлением какой версии ОС можно работать, особенно этой касается наиболее популярной среди отечественных пользователей Windows. Это обусловлено тем, что различными версиями Windows поддерживаются свои компоненты для управления данными.
Так работа многих бизнес-программ строится на базах данных, то необходимо уточнить, какие системы баз данных (SQL-серверы) поддерживаются.
6.2 Пользовательские конфигурации и настройки
Не секрет, что требования к программному обеспечению различных категорий менеджеров индивидуальны. Поэтому очень важно, чтобы в программе имелась возможность настройки и конфигурирования функций под отраслевую и производственную специфику как специалистами-внедренцами, так и самими пользователями.
6.3 Режимы работы и доступа к данным
Совершенно очевидно, что выбранная программа должна работать как в локальном (на одном компьютере), так и в сетевом (одноранговой или с выделенным сервером) режиме. При использовании сетевой версии достаточно важным является стоимость бизнес-системы в пересчете на одно рабочее место, что позволяет «определиться» с необходимым числом приобретаемых лицензий.
6.4 Наличие демо-версии
По своим функциям бизнес-система может удовлетворять потребности определенной категории сотрудников, но если она «зависает» или «глючит» (прекращает работу или работает некорректно), а, еще хуже, теряет данные пользователя, то вряд ли такая программа устроит кого-либо. Поэтому, чтобы минимизировать потери денег и нервов из-за нестабильной работы программы, сначала необходимо ознакомиться с ее демо-версией. Не с презентацией, не с демо-роликом, а именно демо-версией.
6.5 Скорость работы
Компьютеры и локальная сеть у всех пользователей отличаются. Но в том и состоит искусство оптимизации программного кода, чтобы на любом компьютере под управлением любой ОС программа работала нормально. Иногда к программе требуется несколько библиотек, которые пользователю необходимо самостоятельно найти и установить на свой компьютер. Разработчик должен честно указать требования к аппаратным и программным средствам, а пользователь должен иметь возможность проверить их с помощью той же демо-версии.
7. Требования к программным продуктам