• эффективность (Efficiency) – объем вычислительных ресурсов, необходимых для выполнения функций. ПО не должно впустую тратить системные ресурсы, такие как память, процессорное время, каналы связи. Поэтому эффективность ПО оценивается следующими показателями: время выполнения кода, загруженность процессора, объем требуемой памяти, время отклика и т. п.;
• практичность (Usability) – эргономические факторы, такие как скорость работы, удобство интерфейса, удобство и простота в использовании. ПО должно быть легким в использовании, причем именно тем типом пользователей, на которых рассчитано приложение. Это включает в себя интерфейс пользователя и адекватную документацию. Причем пользовательский интерфейс должен быть не интуитивно, а профессионально понятным пользователю;
• доступность (Availability) – запланированное время доступности, в течение которого система действительно доступна для использования и полностью работоспособна;
• целостность и защищенность (Integrity) – возможность блокировки неавторизованного доступа, предотвращение потери или порчи информации, сохранение конфиденциальности информации.
Для разработчиков и ИТ-персонала, как правило, важны другие атрибуты качества:
• сопровождаемость (Maintainability) – означает, что программа должна быть написана с расчетом на дальнейшее развитие. Сопровождаемость включает такие элементы, как наличие и понятность проектной документации, соответствие проектной документации исходному коду, понятность исходного кода, простота изменений исходного кода, простота добавления новых функций и возможностей;
• легкость эксплуатации (Maintainability) – насколько удобно исправлять ошибки или модифицировать систему, то есть трудозатраты на эксплуатацию, устранение ошибок;
• переносимость (Portability) – усилия, необходимые, чтобы перенести систему из одной аппаратной или программной среды в другую;
• возможность повторного применения (Reusability) – насколько данный продукт может быть использован в другом применении;
• способность к тестированию (Testability) – усилия, необходимые, чтобы убедиться в соответствии выполняемых функций установленным требованиям и соответствующим трудозатратам;
• масштабируемость – насколько легко наращивать количество пользователей или объемы данных в системе.
Для осуществления контроля качества и получения объективных данных, которые обеспечивают принятие эффективных решений, широко используются статистические методы, такие как Контрольный листок, Гистограмма, Диаграмма разброса, Диаграмма Парето, Контрольная карта. Для отображения причинно-следственной связи появления дефекта или ошибки в графическом виде может применяться Диаграмма Ишикавы.
Для обеспечения наиболее эффективного процесса управления качеством в ИТ-проекте целесообразно ввести систему обеспечения качеством. Такая система позволит на регулярной основе отслеживать и получать объективную оценку проекта в целом и прогресса выполнения отдельных работ, передачу знаний и опыта проектной команде, обеспечение качества проектных решений и проектной документации, своевременное выявление проектных рисков и выполнение мероприятий по их минимизации, высокую степень информированности всех заинтересованных сторон о статусе проекта.
Отсутствие системы качества может повлечь за собой определенные риски: потерю контроля над проектом, неадекватные управленческие решения вследствие отсутствия объективной информации, отклонение от первоначальных целей проекта, неуправляемые ожидания бизнес-заказчиков.
3.2. Основные проблемы и ключевые факторы успеха ИТ-проектов
Основная масса ИТ-проектов начинается с того, что заказчик по каким-то причинам считает, что ему нужна автоматизация предприятия, он готов потратить на это некоторую сумму денег. Причинами могут быть реструктуризация бизнеса, реорганизация предприятия, недовольство текущим состоянием бизнеса, низкая эффективность использования ресурсов и средств, снижение управляемости из-за отсутствия аналитики, усложнение регламентированных отчетных процессов либо стремление следовать за прогрессом.
Лишь у немногих компаний, которые решились на внедрение новых информационных технологий, присутствует опыт реализации и управления сложными проектами внутри компании. Очень часто при внедрении ИТ-проектов организация оказывается полностью не готова к изменениям в области информационных технологий, начиная от текущего уровня автоматизации и заканчивая корпоративной культурой и прочими факторами. Любое внедрение и автоматизация деятельности предприятия предполагают некоторые изменения на уровне бизнес-процессов, организационной структуры, задач сотрудников. Масштаб изменений будет зависеть от масштаба внедрения. При этом несогласованные интересы подразделений и служб, различное понимание целей и задач проекта, неподчинение менеджеру проекта только усугубят ситуацию. Чтобы сделать процесс внедрения ИТ более управляемым, необходимо на начальном этапе спланировать ключевые работы и подготовить сотрудников к процессу внедрения. Также стоит учитывать, что внедрение системы невозможно без поддержки и прямого участия руководства. Неготовность руководства и сотрудников является серьезнейшим риском при внедрении ИТ-проекта. Многие сотрудники не хотят изучать и использовать новые программы, которые позволят им проще работать, думая, что им и так хорошо либо что за это стоит доплачивать.
По статистике Standish Group, причины неудач ИТ-проектов заключаются в следующем:
1) неполные требования;
2) недостаточная вовлеченность пользователей;
3) нехватка ресурсов;
4) нереалистические ожидания;
5) недостаточная поддержка руководства;
6) изменение требований и спецификаций;
7) недостаточное планирование;
8) технологическая некомпетентность персонала;
9) нехватка квалифицированных менеджеров проектов.
Западная практика управления ИТ-проектами может несколько отличаться от российских ИТ-внедрений. Опрос[5] российских менеджеров в области информационных технологий позволяет в целом согласиться с западной статистикой, расставляя некоторые приоритеты в соответствии с российской спецификой ИТ. Зная заранее проблемные области, типичные для реализации большинства проектов в ИТ-области, менеджер проекта может заранее продумать действия, направленные на достижение лучших результатов (табл. 2).