Как SDLC связан с методологиями разработки ПО?
В прошлый раз мы говорили про то, что такое SDLC и наткнулись на интересный вопрос, чем жизненный цикл отличается от методологий разработки ПО?
Жизненный цикл - это состав работ, которые нужно сделать для получения ПО. Методология - это один из способов провести весь необходимый состав работ для получения ПО.
Сейчас будет странная аналогия. Обед. Обед состоит из нескольких блюд + напитки. И блюда, и напитки как составляющие обеда, нужно приготовить. Какими именно способами будет приготовлен обед зависит от определенных условий, но в любом способе потребуется выполнить какой-то набор действий или работ, чтобы получить обед.
То же самое с разработкой ПО.
🗒 При применении Waterfall, по сути, нужно лишь последовательно выполнить этапы SDLC. Результат работы предыдущего этапа должен стать входными данными для начала следующего.
💃 При использовании Agile придется немного перестроиться и представить конечное ПО в виде небольших кусков готовых к использованию, т.е. поделить работы каждого этапа на итерации с работающим инкрементом в результате.
🤯 Если требуется систематизировать процессы работ между разработчиками и операционными командами, то часто прибегают к методологии DevOps. Сейчас даже отдельных специалистов, которые занимаются автоматизированием развертывания сервисов и резервного копирования называют - девопсами. Но эта часть работ наступает только тогда, когда приходит момент развернуть готовое ПО или сервис в среде, где им смогут пользоваться.
Часто получается, что для работы одного продукта требуются сразу несколько методологий, потому что одна методология может систематизировать только часть необходимых работ.
Получается, что Agile и Waterfall применяют для работы с требованиями и планирования, а DevOps используют для развертывания и резервного копирования полученного ПО или сервиса.
Однако, важно помнить, что мое описание очень сильно упрощено и является скорее концептуальным, нежели практическим описанием отличий методологий.😅
Post #242
177

- 👍 2