micro Service Development Life Cycle (mSDLC)

Although SDLC’s date back to the Waterfall era of IT, the model is still widely used and also translated into the Agile Software Development language. Traditionally the full multiple-years lifespan of software was covered by one cycle of the SDLC. In the Agile SDLC model each sprint of several weeks is represented by a cycle.
SDLC waterfall
Agile Life Cycle

micro Service Development Life Cycle (mSDLC)

The agile Lifecycle does not suffice anymore for today’s continuous delivery practices where multiple “cycles“ take place out of sync and Requirements/Feature definition has its own cycle. Therefor the Agile Lifecycle was updated into the micro Service Development Life Cycle for Blue-Green environments. The main difference to the Agile SDLC is the split into three different streams in the software development phase. Depending on the software delivery architecture and external dependencies of the software component one of the streams below will be applicable:
• Continuous development of non-breaking Change (micro service)
• Continuous development of breaking Change (micro service)
• Development in a sprint of one or n features (monolithic application)

The micro Service Development Life Cycle (mSDLC)

[click to enlarge] The micro Service Development Life Cycle (mSDLC)

Where the non-breaking Change can be delivered independently of other changes and fixed timespans (continuous delivery). No integration of code-line or application is required, the only applicable Quality Control is applied via functional, service-/data-contract and technical (unit) testing. Delivery of the monolithic application via sprints of fixed duration will be least flexible. Integration of code line, components and functionality needs to be controlled via corresponding tests.

Feature delivery via the micro services route will be the fastest, where the “breaking Change” will be the slower one of the two because of additional need for integration testing.


References:
semver.org: breaking and non-breaking service- and data-contracts of micro services
Microservices vs Monolithic Architecture
The Blue-Green concept
agile RDM Life Cycle
Automating micro services contract and integration testing