Понимание проблемы
Типичный процесс разработки программного обеспечения включает следующие шаги:
- Сбор требований
- Определение проблемы
- Системный дизайн
- Implementation
- Testing
- Documentation
- Обучение и поддержка
- Maintenance
Первые два шага помогают команде понять проблему, что является наиболее важным первым шагом на пути к решению. Лицо, ответственное за сбор требований, определение проблемы и проектирование системы, называетсяsystem analyst.
Сбор требований
Обычно клиенты или пользователи не могут четко определить свои проблемы или требования. У них есть смутное представление о том, чего они хотят. Таким образом, разработчикам систем необходимо собрать требования клиентов, чтобы понять, какую проблему необходимо решить или что необходимо решить. Детальное понимание проблемы возможно только при первом понимании области бизнеса, для которой разрабатывается решение. Некоторые ключевые вопросы, которые помогают понять бизнес, включают:
- Что делается?
- Как это делается?
- Какова частота выполнения задачи?
- Каков объем решений или транзакций?
- Какие проблемы возникают?
Некоторые методы, которые помогают в сборе этой информации:
- Interviews
- Questionnaires
- Изучение существующих системных документов
- Анализ бизнес-данных
Системным аналитикам необходимо создать ясный и краткий, но исчерпывающий документ требований, чтобы определить SMART - конкретные, измеримые, согласованные, реалистичные и привязанные ко времени - требования. Неспособность сделать это приводит к -
- Неполное определение проблемы
- Неправильные цели программы
- Переработайте, чтобы предоставить клиенту требуемый результат
- Повышенные затраты
- Отложенная доставка
Из-за глубины необходимой информации сбор требований также известен как detailed investigation.
Определение проблемы
После сбора требований и их анализа необходимо четко сформулировать постановку проблемы. Определение проблемы должно однозначно указывать, какую проблему или проблемы необходимо решить. Четкое изложение проблемы необходимо для:
- Определить объем проекта
- Держите команду сосредоточенной
- Следите за проектом
- Подтвердите, что желаемый результат был достигнут в конце проекта