Can you adopt Agile in challenging delivery projects? Say, where customers are impatient with their timeline.
The answer is YES.
Let us first look at the challenges a typical Project Manager / Project Lead face in such engagements:
- Client challenges (Disagreement on delivery dates)
- Change management / ad-hoc implementation requests
- Escalation matrix
- Ill-defined team structure
- Release pipeline
- QA challenges / Regression quality issues post client delivery
- Inter team or inter track connects not streamlined
Before we see how Agile helps address some of these problems, it is important to note that at this stage where the project / client are challenging, there is no immediate need to move to a framework.
At first, we are looking at getting the best processes and practices in place.
Below are some of the measures that could be taken. They have been split into Immediate, Short term or Medium / long term action items.
- Move to JIRA or any other issue tracking tool – At times it is already in place, however, it isn’t used religiously
- Test Cases should be agreed between service provider and client at the outset (or as early as possible during development)
- Demo for all enhancements should be done before rolling out to UAT (or similar environments) to avoid gaps
- Metrics that can be started – Defect Density / Escaped Defects, Velocity Footprints (how much to be picked up for future release), Planned vs done ratios, Burn-down charts
- Role Definition / Role Mapping / Skill Gap Analysis
- Team Structure – Cross Functional Teams – Plan to Split into Smaller tracks / teams with the people from the right skillset in each team – This should ideally not be a competency based splitting, rather it should be towards a business objective (Ideal team size of 10 or less)
- Tracks – Operations / Support (ideally should be driven in a Kanban – WIP) and Development (Scrum Framework can be used)
- Start the discussion around Release Strategy and Automation
Short Term Action Items
- Adoption of Best Practices – Development (Code quality – SonarQube / Veracode), Deployment (Automated / One Click Deployment)
- Start the alignment towards proven SDLC Methodologies – Mindset / Terminologies and bring it up in client discussions
- Take Feedback from internal and external clients
- Create your project repository on Confluence
- Start discussions (internal / client) around adoption of Agile (only discussions for now like which framework to use, etc.)
Medium to Long Term Action Items
- Adopt an Agile Framework
- Create a roadmap from Agile to Scaled Agile
- Make the customer aligned to the Agile Journey
- Have Customers participate in Agile Ceremonies
To conclude we should adopt agile as a mindset and not a framework. Start by correcting internal problems – adopt best practices, make things transparent, enable usage of relevant tools and metrics. This will fix your basic challenges and lay a strong foundation over which you can slowly have your clients adopt Agile.