Introducing Software Delivery Life Cycle Delegation Levels
What would you delegate in a Software Delivery Life Cycle? To whom would you delegate? How to find out?
Crazy huh — not so much as you think?
No time, jump straight to the conclusion Software Development Life Cycle (SDLC)
The purpose of the software delivery life cycle is to make yourself aware of the process of the software development with a focus on delivery and outcome. All parts of the SDLC contain the goal to produce artifacts that form a software product. The software product aims to produce the desired outcome. All parts of the SDLC are often optimized for “time to outcome” to effectively convert ideas into working products and services for customers.
Designing software does so much depend on requirements that both belong to the design stage. Designing software is not only working with requirements and the actual software design, but also about ideation & brainstorming sessions, writing documents and prototyping that tests software designs
The development stage is about collaborating on code. For sure it is about writing code and diving deep into programming language specifics. However, it is about pairing and getting feedback on code and integration of new code snippets into existing code e.g. via pull requests and verifying those.
Let’s test on all cylinders once the code is written and the authors are happy with it.
Well tested software can be deployed to desired environments using deployment strategies matching the specifics of the software. Always ask yourself, what if we roll it back?
Rollback is a great segue into the operations stage because you may need to rollback not only after recent deployments, but also hours or days later in case bad surprises apply. Operating software requires data on how the software performs: monitoring and logging . Based on these insights software may need to scale up or down and also might be elastic. Infrastructure like container orchestration helps with that. Also 24×7 engineers on duty ensure software services are up and running almost always.
Software Development Life Cycle (SDLC)
Software is just a tool to achieve a purpose. Purposes change over time and so does software. It may need new features to keep up with new situations or is retired and replaced by another piece of software.
The term circle implies a start point and an order of stages in the life cycle. In reality all stages can be executed in any order not strictly following the circle.
Delegation Board & Reduced Level Set
A board with cards representing levels of delegation is a delegation board. There are seven original levels of delegation defined. My fellow Mironeer Molood reduced the subset of levels to ease the mapping to SDLC items:
- Tell: someone will tell them
- Consult: consultation mandatory and then decide
- Advise: advise required but they decide
- Delegate: full delegation
That’s great because the reduced levels cover the core of delegation options.
As an example: Selling and Consulting can be almost the same depending on who is selling or consulting and which style they apply.
We leaned to go with the reduced set because the essence remains: different delegation styles that are easy to distinguish.
What to delegate in SDLC
Actually all SDLC stages are candidates to own or to delegate. Depending on which roles play software lifecycle delegation poker, all stages or zero stages or sub items can be owned or delegated.
How to and with whom to delegate?
In a meeting or async, a group who wants to align on accountabilities and responsibilities puts delegation level cards on SDLC items or subitems (one card per person). After placing the cards, they check the result. In case different cards have been played, the team starts a conversation — via Miro stickies or comments — or in a meeting about the specifics of the SDLC item/subitem with respect to delegation. You can also start a conversation in case the same cards have been played if that helps the team.
The conversation can go into estimation poker style: highest and lowest card players explain first what led them playing the card. You can also go round robin talking about the played cards. Important: make sure everyone is heard and can explain the reasoning why they played a card.
Talk about what a specific item or subitem means for individuals. Clarify the consequences of different delegation cards. Align the placements with your team norms, values and purpose.
In case people feel the delegation level card on a circle item should be different than for a circle subitem on that item, just place different cards.
Ask a coach to help in case no agreement / alignment can be found. There is a good chance the underlying problem is not with the SDLC or with the delegation cards, but elsewhere.
Use Software Delivery Life Cycle Delegation Levels to clarify who’s responsible for what items and subitems of the Software Delivery Life Cycle and to what level. This is a method where you can encourage software team member engagement through controlled self-organization.
The objective is to combine Software Delivery Life Cycle with Delegation Poker. You can frame delegating decisions and tasks within the Software Delivery Life Cycle to your team within a controlled environment. It’s a conversation topic about how to iterate through Software Delivery Life Cycle Delegation items.
Venn diagrams and RACI(S) matrix are well suited to describe roles and responsibilities within organizations. Readers are able to focus on key information of the organizational setup as well as contacting key personnel if necessary. Responsibilities can contain SDLC delegation levels amongst other information.
Diagrams like the Software Delivery Life Cycle (SDLC) are a great way to model the reality or the desired reality. Use the SDLC to visualize and align on different stages your teams’ software goes through.
Use delegation levels on top of SDLC to collaborate with managers, supervisors and stakeholders about how much they shall be involved.
Thanks for your ideas, inspiration, and review Molood Ceccarelli
Originally published at https://www.lotharschulz.info.