Методика «Пять "почему"» помогает добраться до основной причины проблемы, отбросив поверхностные вопросы, являющиеся в действительности лишь симптомами. Постоянно задавая вопрос «почему?» и изучая ответы, вы сможете выявить более глубокие и часто упускаемые из виду причины проблемы.
Цель состоит в том, чтобы дойти до момента, когда дальнейшие расспросы уже не приносят значимых результатов. Это и будет первопричиной. Выявив ее, вы сможете приступить к реализации практических решений для устранения и предотвращения повторного возникновения проблемы.
Пример методики «Пять "почему"» в действии
Вот пример того, как применить к проблеме шаблон анализа «Пять "почему"».
Формулировка проблемы. Программное приложение часто дает сбои при высокой пользовательской нагрузке и тем самым снижает удобство для пользователей.
1. Почему программное обеспечение выходит из строя при высокой пользовательской нагрузке?
2. Почему сервер перегружен параллельными запросами пользователей?
3. Почему пропускная способность сервера не была масштабирована для обработки больших объемов трафика?
4. Почему во время разработки не было упреждающего мониторинга и нагрузочного тестирования?
5. Почему команде разработчиков не хватало необходимых инструментов и опыта для нагрузочного тестирования?
Основная причина: сбои программного обеспечения во время высокой пользовательской нагрузки вызваны отсутствием нагрузочного тестирования в первоначальном объеме проекта и отсутствием доступа к необходимым ресурсам и опыту для нагрузочного тестирования.
Решение: чтобы предотвратить будущие сбои при высоких пользовательских нагрузках, команде следует включить нагрузочное тестирование в стандартный процесс разработки программного обеспечения и обеспечить доступ к ресурсам и опыту, необходимым для нагрузочного тестирования. Это поможет выявлять и решать проблемы с производительностью на ранних этапах разработки, что будет способствовать удобству работы пользователей после развертывания программного обеспечения.
В этом примере анализ пяти «почему» показал, что основной причиной частых сбоев программного обеспечения при высокой пользовательской было отсутствие нагрузочного тестирования в первоначальном объеме проекта и нехватка ресурсов для выполнения нагрузочного тестирования во время разработки.
Решение напрямую касается этой причины и создает эффект домино: последующие симптомы устраняются и решается изначальная проблема.
Включение нагрузочного тестирования в стандартный процесс разработки и обеспечение необходимых ресурсов и опыта позволяет предотвратить будущие сбои, тем самым помогая повысить удобство для пользователей.