Can a well-designed SDLC improve overall project outcomes?
A large, diverse, distributed project group did not have a clearly defined software development life cycle (SDLC). The 10 teams and dozens of team members lacked a clear understanding of other teams' roles, and which roles were needed when. When the process hit a bump, either someone involved would step up, or the process would be flawed. Issues were contentious, yet individuals were skeptical that so large a group could share a single model.
A project group needs to have a shared understanding of which roles are needed when, in order to avoid frustration and costly rework.
Previous attempts had been rejected by stakeholders.
- Small team co-design sessions
- Synthesis between teams
- Initial co-design sessions: Convene each team for a co-design session.
- Ask open questions about the team's internal process, and external needs from other teams. Present to them an overview of how other teams work, and what they each contribute. Assure the team members that they can continue to control and refine their intra-team process, while agreeing to meet other team's needs via standardized inter-team handoffs.
- UX synthesis: Synthesize input from from co-design sessions. Create draft SDLC.
- Followup co-design sessions: Reconvene each team. Solicit input on synthesized SDLC from first round of co-design.
- UX synthesis: Synthesize any new input. Revise SDLC.
- Share the final SDLC with stakeholders.
- Print the final SDLC in large format, and post in a public place.
- Present final SDLC to the entire group at All Hands meeting.