Agile Transformation — Challenges and Path to Success
Agile Transformation — Challenges and Path to Success
An outline of things that a project team should be prepared for when switching to Agile.
Join the DZone community and get the full member experience.Join For Free
Agile transformation today is considered as a necessity as the traditional waterfall model has failed conclusively. Agile has led to phenomenal efficiency and has become de facto standard in the IT landscape today. Agile transformation is part of every organization’s technology roadmap with dedicated teams. Though numerous case studies are proving its effectiveness and great turnaround saving big businesses, it is still clouded in doubtfulness due to the demands that are less understood and wrongly enforced. This white paper addresses common pitfalls that were encountered during project execution particularly in an onsite-offshore / onsite/best-shore model and the learnings. If properly done, this could be a key game-changer that will not only push organizations towards a consistent growth path but also serve the society by reducing wastage and getting more things done in less than half the time.
Key Aspects of Agile Transformation
The benefits of agile transformation are
- Keep things simple thus being creative
- Add value to customers continuously with working software
- Risk mitigation through timeboxed sprints
- Avoid long work hours/stress by a strong process
- Herald teamwork
- Continuous learning using techniques and tools to make agile manifesto alive
Some of the major pain points of applying Agile methodology to the onsite-offshore model are:
- Change in mindset — The major challenge in agile methodology is the mindset change to break old habits. This requires conscious mentoring until the desired maturity is achieved. This is accomplished by Agile training and dedicated agile coaches.
- Reorganization — Transition to agile requires a redefinition of roles and the way the project is executed. The traditional roles need to evolve/transform. Roles should be made multi-functional than specialized.
- Time zone difference — One major hurdle under agile transformation is to adjust to the time zone difference. As agile requires continuous communication, it is important to ensure sufficient overlap between teams spread across geography.
- Mapping of roles — Under agile methodology, there are only three types of roles – Scrum Master, Product Owner, and Development team. This brings a question of whether non-developer roles hold any relevance in the agile framework. While agile methodology aims to make the team lean and self-organizing, it still needs the different skills needed to make an IT project successful. The emphasis here is to make the team T-shaped so that every team member has a primary skill and develops secondary skills in parallel.
A Typical Release Under Agile and How to Prevent Interference of Old Habits
The following is a typical flow of a release under Agile methodology.
- User stories are formulated with a goal and acceptance criteria.
- Supporting artifacts (like mockups, metadata mapping) are uploaded for user stories.
- The technical sub-tasks required for the completion of a user story are identified.
- User stories are split if they are cannot be completed in one-third of a sprint.
Unlike traditional waterfall methodology, the development work starts early and the team does not wait till all the requirements are finalized.
The sprint execution starts with sprint planning where the entire team agrees on the sprint scope. The sprint scope is locked during sprint execution. The sprint is usually two to four weeks long and produces a completed and independent feature that adds business value.
During the sprint, the team completes the user stories one at a time. Any impediments are highlighted to the scrum master. If a user story fails to meet acceptance criteria either partially or fully, it is moved to the next sprint.
Unlike traditional waterfall methodology, the system evolves and reflects that changing business needs and priorities.
At this stage, it is possible to measure whether the agile methodology was successful by evaluating whether the features have true business value while eliminating waste.
Agile Mind Map
Tools and Resources
- Sprint Planning — Jira supports a scrum board that helps in sprint planning and backlog grooming. - For the current sprint, the user stories are depicted as cards in a customizable workflow that displays summary, assignee and user story points. It is possible to open a user story in full view mode and modify the metadata. It is also possible to add new metadata. The scrum board also has a separate section for backlog where user stories are displayed as a list that can be re-prioritized through drag and drop. JIRA also supports per missioning.
- Stand-ups — The scrum board supports JQL to filter the Agile boards as per custom criteria and keywords. The scrum board also help to track the status of user stories across different stages of workflow and change assignees.
- Sprints Management — For effective sprint management, JIRA supports custom workflow, setting user permission and custom issue types.
- Retrospective – JIRA supports different reports and burndown charts for effective sprint retrospective meetings.
Agile is undergoing innovation that will continue in the future. The methods and methodologies that can help with the fulfillment of Agile can help take this to the next level. Some of the key aspects that will help with this transformation are:
- Mental models — Mental models constructs that help in eliminating human bias to make better decisions. Project failures typically stem from making the wrong decisions or failure to see the real picture until the bad takes a worse turn.
- Agile mindset as a habit — Agile mindset is difficult to achieve as we are accustomed to thinking using old harmful habits. So, continuous learning is required to reinforce the true Agile mindset. In most cases, Agile fails as people think that they are following Agile when they are not.
- Cross-disciplinary knowledge — Cross-disciplinary knowledge is proved to lead to deep insights and give birth to novel ideas. Agile teams should be trained in Pi-shaped skills and learn how to learn.
- Automation — Automation of mundane and repetitive tasks can free up the team’s time to focus their efforts in creative ways while increasing productivity.
- Remote work — Remote work helps to leverage resources which helps building the right team in a short time frame. Advances in technology have enabled team members to be spread across geography.
Opinions expressed by DZone contributors are their own.