Из чего состоит разработка программного продукта

В данной статье речь пойдет о разработке программного продукта - например, веб-приложения (веб-сайт как частный случай), настольного приложения или мобильного приложения. По сути, для разработки любого вида программного продукта нужны примерно одинаковые действия.

1. Концепция продукта. Зачем он будет нужен пользователя, какие проблемы он будет решать, существуют ли аналоги. Здесь необходимо обобщить идею продукта, и записать информацию о нем. Будущий владелец продукта (его получатель) формулирует свое видение.

2. Сбор требований к продукту. Здесь будущий владелец продукта объясняет, какие задачи, каким образом и с помощью какого функционала должны будут решаться.  Аналитики должны собрать все требования воедино и свести их в единый документ - техническое задание. О том, почему нельзя вести разработку без технического задания - я расскажу в отдельной статье.

3. На базе составленного технического задания производится прототипирование продукта. В схематичной форме, с использованием специального программного обеспечения формируются элементы интерфейса - прототипы. Это еще не дизайн, однако здесь уже становится понятно, на какую кнопку необходимо нажать, чтобы перейти на соответствующую страницу. Данный этап разработки очень важен, поскольку он закладывает основу поведения будущего пользователя в приложении (или UX, user experience). Здесь же правильным является написание пользовательских историй, которые позволят выявить скрытые недостатки прототипа.

4. После формирования прототипа, к делу подключается дизайнер. Ознакомившись с концепцией проекта, а также с уже существующими прототипами, дизайнер создает логотип, фирменный стиль и дизайн будущего продукта.

5. Здесь работу необходимо подключать технического эксперта в области разработки программных продуктов - архитектора. В результате работы с архитектором формируется вначале эскизный, а затем и технический проекты. Данные документы уже содержат конкретику о том, на каком языке программирования будет написан продукт, а также описывается перечень используемых технологий, составляется и уточняется алгоритм работы системы.

6. На данном этапе наконец-то можно создавать команду разработчиков, набирать технических специалистов (верстальщиков, программистов, специалистов по базам данных) и начинать разработку программы. Параллельно с этим, для каждого разрабатываемого участка программы необходимо создавать тесты. Данные тесты позволят максимально полно проверить и устранить все недочеты программного продукта.

7. Одновременно с разработкой продукта и написанием тестов, в команду разработки необходимо привлечь технических писателей. Данные специалисты должны документировать процесс разработки, создавать описание разрабатываемой системы, а также создавать инструкции для эксплуатации программы разными группами будущих пользователей: администраторов, сотрудников, обычных пользователей.

8. По ходу процесса разработки, необходимо выпускать версии продукта и предоставлять конечным пользователям. Полученная обратная связь должна использоваться для улучшения функциональности продукта.Как видно из перечисленного выше, формирование команды разработчиков должно происходить только на шестом этапе разработки. Предыдущие пять этапов вполне обходятся без затрат на данных специалистов. Такой подход, являющийся классическим, позволяет владельцу продукта сэкономить значительные денежные средства и сберечь энергию.

Данная статья была написана в том числе с использованием стандарта ГОСТ 19.102-77.

E-mail для связи: goodigy@goodigy.ru