Первая веха в создании продукта — проектирование программного обеспечения. Специалистам EDISON довелось выполнить сотни задач проектирования, иметь дело с техническими заданиями объемом более тысячи страниц. Нам одинаково комфортно работать на русском и английском языках. Примеры технических заданий и концептов можно скачать ниже.
01 | Создаем архитектуру ПО и находим технические решения. | |||
02 | Пишем техзадание (ТЗ). | |||
03 | Моделируем бизнес-процессы и рисуем организационные диаграммы. | |||
04 | Макетируем интерфейс. | |||
05 | Составляем план-график работ. | |||
06 | Оцениваем риски и спасаем проект. |
Описывая пользу, заказчик зачастую не понимает тонкостей реализации и поэтому не может предлагать пути решения задачи. Максимально эффективен двухступенчатый процесс, на первой стадии которого заказчик перечисляет требования к тому, как софт должен выглядеть; инженер же добавляет алгоритмические описания. Так учитываются мнения обеих заинтересованных сторон. Впрочем, архитекторы компании EDISON в состоянии и самостоятельно спроектировать программу, руководствуясь ответами на заданные вопросы.
Проектирование должно быть письменным, ведь впоследствии техническое задание используется в групповой работе инженеров, заказчика, руководителя проекта, тестировщика, дизайнеров и т.п.
Издержки на проектирование считаем в каждом случае оправданными. Во-первых, этой работой занимаются наиболее опытные специалисты, которые уже давно не допускают стажерских ошибок. Во-вторых, инвестиции в архитектуру будущего ПО всегда окупаются на следующих этапах из-за радикального уменьшения критических дефектов и доработок.
ГОСТ предлагает некоторые стадии проектирования и получаемые на выходе артефакты. Объем документа почти всегда свидетельствует о детальности описания задачи. Не стоит писать текст маленькой задачи в 1 человеко-день на 20 страницах в доскональном соответствии с ГОСТ. На большом проекте недостаточно описания на 1–2 страницах «крупными мазками».
Проектирование может обеспечиваться чисто «ручным» написанием текстов, а также софтверными средствами с использованием различных нотаций: списков требований, графиков, схем, диаграмм, макетов. Результат овеществляется в детальном описании внутренних алгоритмов и спецификации видимых свойств ПО.