Разработка программного обеспечения
Application Development, Software Development Life Cycle, SDLC
Что охватывает
Разработка программного обеспечения охватывает весь путь от потребности до работающей программы, а также всё, что удерживает программу в рабочем состоянии. За тремя исходными названиями стоит одна область, увиденная под тремя углами: создание программы (ремесло и код), выпуск приложения (работа по вводу его в эксплуатацию) и жизненный цикл разработки ПО (этапы от требований до сопровождения). Ни одно из названий не называет один осваиваемый навык, поэтому здесь страница раздела, а не урок.
Почему это важно
Почти каждый дорогой провал в этой области случается на стыке между этими сторонами: хорошо написанный компонент, который никто не заказал; спецификация, против которой никто не тестировал; релиз без документации. Однако пропущенную часть дисциплины видно только тогда, когда знаешь, за что отвечает каждая из них, — и поэтому эта страница указывает на шесть записей, а не на одну.
Входящие навыки
- Чистый код (01-cs-fundamentals/08-clean-code) — код, который легко прочитать и безопасно изменить.
- Модульное тестирование (01-cs-fundamentals/10-unit-testing) — тесты, благодаря которым изменение и рефакторинг перестают быть риском.
- Архитектура программного обеспечения (01-cs-fundamentals/25-software-architecture) — решения, отменить которые дорого.
- Методология Agile (04-product-process/02-agile-methodology) — планирование и поставка в условиях неопределённости.
- Инженерия требований (04-product-process/05-requirements-engineering) — фиксация того, что система должна делать, в проверяемой форме.
- Техническое письмо (04-product-process/08-technical-writing) — документация, по которой пройдёт незнакомый человек.
С чего начать
Начните с Архитектуры программного обеспечения и Чистого кода: они дают форму того, что вы строите, а Модульное тестирование делает эту форму изменяемой. Дальше идут Инженерия требований, из которой видно, как согласуют работу, и Методология Agile, показывающая, как её поставляют короткими циклами с обратной связью. Рядом идёт Техническое письмо: так каждое решение переживает человека, который его принял.