Как сделать обеспечение качества ПО приоритетом в каждом ИТ-проекте компании
Для создания надёжного ИТ-продукта команде разработчиков программных продуктов необходимы знания и опыт инженеров по обеспечению качества. Денис Кульчавый, заместитель генерального директора и ведущий технический эксперт в QA-компании «Точка качества», дал несколько рекомендаций по внедрению высокой культуры тестирования и обеспечения качества в процесс разработки ПО.
Содержание |
Качество — это соответствие стандартам. Когда руководство компании намерено продвигать культуру качества в разработке программного обеспечения, оно фокусируется на конкретных ценностях продукта и связанных с ними процессах и методах, необходимых для достижения желаемого уровня качества. Чтобы ничто не мешало реализации этой ценности, продуктовая команда должна поддерживать эти ценности и стремиться к обеспечению качества через свой подход к работе.
Культура разработки ПО, ориентированная на обеспечение качества, требует от разработчиков, тестировщиков, руководителей, менеджеров проектов и владельцев продукта глубокого понимания того, что именно компания подразумевает под «качеством» и как его достичь. Все эти люди должны принять установленные стандарты качества и научиться работать в соответствии с ними. Этот процесс требует времени, но в долгосрочной перспективе это даст большую отдачу, нежели отказ от внедрения принципов обеспечения качества.
Про обеспечение качества в целом
Обеспечение качества (ОК) — это систематическая работа по проверке продукта на соответствие отраслевым и корпоративным стандартам. От качества продукта в конечном итоге зависит доверие клиентов и авторитет бренда. Показывая, что вы заботитесь о надёжности вашего ПО, вы посылаете сигнал потенциальным клиентам: мы создаём и поставляем решения без дефектов и в соответствии с вашими ожиданиями. Но обеспечение качества ПО важно не только для позитивного образа компании. Можно смело говорить и об экономии денег и времени, поскольку в процессе выявляются потенциальные ошибки в работе продукта — ещё до их возникновения.
Обеспечение качества идёт бок о бок с тестированием ПО, но между этими процессами есть разница. ОК больше сосредоточено на процессах и процедурах, в то время как тестирование сосредоточено на проверке и анализе продукта с целью поиска дефектов. ОК определяет стандарты тестирования, чтобы гарантировать соответствие решения определённым бизнес-требованиям. Тестирование подразумевает более прикладной подход к проверке работы продукта и выявлению проблем. В процессе обеспечения качества специалисты используют передовые методы тестирования. Так выявляется и устраняется большинство критических дефектов и обеспечивается стабильная работа ПО после выпуска.
Кто входит в команду обеспечения качества ПО
Как минимум, команда по обеспечению качества ПО компании должна состоять из трёх видов специалистов: руководителя, менеджеров и инженеров по обеспечению качества. С увеличением требований к качеству разрабатываемого ПО могут потребоваться и другие специалисты, но их не обязательно включать в постоянный состав команды.
Каждый участник разработки продукта должен знать и продвигать цели обеспечении качества:
- Разработчики пишут код, на основе которого создаётся программный продукт. Они активно работают над улучшением кода и дальнейшим повышением качества вместе с ведущим разработчиком.
- Ведущий разработчик ПО взаимодействует с менеджером по обеспечению качества, чтобы ИТ-решения соответствовали заданным стандартам и требованиям.
- Менеджер по обеспечению качества сотрудничает с инженерами по части контроля выполнения задач в соответствии с планом тестирования, чтобы, в конечном итоге, получить продукт, отвечающий требованиям заказчика.
- Менеджер курирует проект в целом и контролирует внедрение стандартов обеспечения качества на каждом этапе жизненного цикла разработки.
Главные вызовы в создании сильной культуры обеспечения качества в компании
Внедрять изменения не так-то просто в любой аспект нашей жизни, и разработка ПО — не исключение. Если вы решили внедрить масштабные культурные и технические изменения в процесс разработки, приготовьтесь столкнуться с несколькими вызовами. Три наиболее распространённых из них — это нехватка времени, разный опыт и неэффективная коммуникация.
Нехватка времени у команды. Разработчики ПО могут неохотно принимать новую политику компании и стандарты. Стремясь поскорее завершить проект, они зачастую не находят времени на изучение и внедрение новых идей по обеспечению качества. Тем не менее важно, чтобы руководители команды посвятили время разъяснению новых стандартов качества и демонстрации положительных изменений другим сотрудникам.
Разный опыт. У членов команды разработчиков, как правило, разное образование, культура и набор технических навыков. Разнообразие — это хорошо, но оно также может создать недопонимание среди сотрудников. Руководство должно донести до команды, какую культуру обеспечения качества оно хочет привить и как лучше адаптироваться к новой практике.
Неэффективная коммуникация. Удалённый формат работы — обычное явление в современных ИТ-компаниях. Команда может быть разделена странами, часовыми поясами и даже языками. Когда руководство стремится к обеспечению качества, оно должно создать условия для эффективной коммуникации сотрудников. Обмен сообщениями в общих чатах и регулярные онлайн-совещания помогут объединить удалённые команды и решить любые вопросы, возникающие в процессе разработки ПО.
Как сформировать культуру обеспечения качества ПО
Есть несколько рекомендаций, которые помогут при создании культуры качественного программного продукта:
- Нанимайте людей, которые ценят обеспечение высокого качества в разработке ПО и привержены ему.
- Не сваливайте заботу об обеспечении качества целиком на плечи команды разработчиков. Внедряйте культуру на всех этапах разработки продуктов. И создайте, наконец, отдел по обеспечению качества ПО.
- Отдавайте приоритет качеству и устанавливайте реалистичные ожидания в отношении сроков реализации проекта.
- Обучите команду обеспечению качества ПО и донесите до всех участников важность таких её техник, как проверка кода, автоматизированное тестирование, CI/CD и т.д. Убедитесь, что исходный код выпущен только после того, как он прошёл автоматические тесты.
- Внедряйте автоматизацию тестирования везде, где это возможно и рационально. Правильно внедрённая автоматизация повысит качество и сэкономит вам время и деньги.
- Чаще поощряйте и благодарите сотрудников за следование принципам обеспечения качества.
- Регулярно измеряйте и контролируйте показатели качества, такие как качество продукта, качество в процессе работы и качество обслуживания. Это нужно для выявления потенциальных зон роста и отслеживания уровня культуры.
Помните, что от вашей культуры качества зависит удовлетворённость и лояльность заказчика.
Вывод
Внедрение культуры обеспечения качества требует значительных вложений в обучение людей и настройку бизнес-процессов. Руководители ИТ-команд должны сами (или с помощью внешних экспертов) установить критерии качества ПО и проконтролировать, чтобы все члены команды понимали их и стремились им соответствовать Это довольно трудоёмкий процесс, который может повлиять на сроки поставки решений. Но без культуры качества могут возникнуть более серьёзные проблемы, чем непопадание в сроки: ошибки в продукте, неудовлетворённость заказчика или вовсе отказ от ваших услуг.
Тем временем отлаженная система обеспечения качества повышает доверие клиентов и ваш авторитет. Вдобавок вы получаете эффективные процессы и высокую конкурентоспособность. Но как обучить команду и где взять подходящих специалистов и опытных инженеров по обеспечению качества? Напишите нам, в «Точку качества». Мы оказываем услуги по тестированию ПО любой сложности, предоставляем компетентный персонал по аутсорсинг-модели и проводим консалтинг по обеспечению качества.