Agile Transformation — Challenges and Path to Success

DZone 's Guide to

Agile Transformation — Challenges and Path to Success

An outline of things that a project team should be prepared for when switching to Agile.

· Agile Zone ·
Free Resource

Agile Transformation

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

Pain Points

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.

  • Release road map — The release road map is the high-level vision of a minimum viable product that will be shipped in a release. The team velocity and business priority are taken into consideration to prepare a release road map.
  • Backlog grooming/refinement — This is an ongoing process where user stories are gradually finalized based on priority. During this process, the following actions are performed
    1. User stories are formulated with a goal and acceptance criteria.
    2. Supporting artifacts (like mockups, metadata mapping) are uploaded for user stories.
    3. The technical sub-tasks required for the completion of a user story are identified.
    4. 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.

    Sprint Execution

    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.

  • UAT — During the UAT phase the business end-users test the release MVP and sign off on the features. During this phase, feedback from business end-users is taken into account and defined as user stories for the subsequent releases.
  • 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.

  • Production release — As a pre-requisite to the production release, the items in the list ‘Definition of Done’ is reviewed and marked as complete. A retrospective meeting is held following the production release to understand pain points and improvement areas.
  • Agile Mind Map

    Agile Mind Map

    Tools and Resources

  •    JIRA — The JIRA is an agile project management tool that supports different agile methodologies like Scrum or Kanban or any other custom methodology. JIRA has a set of tools that supports the four pillars of agile methodology
    1. 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.
    2. 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.
    3. Sprints Management — For effective sprint management, JIRA supports custom workflow, setting user permission and custom issue types.
    4. Retrospective JIRA supports different reports and burndown charts for effective sprint retrospective meetings.
  • Confluence – Confluence is a content management tool that is transparent and organized. Confluence can also be linked with JIRA to build auto-updated reports.
  • DevOps — DevOps methods in combination with proven agile methodologies can help to fulfill the time-tested principles of agile.
  • Benefits

  • Stakeholders — The stakeholders get the best value for money as the end-users get exactly what they need instead of over-engineering or building unpopular features.
  • Development team — The development team have the opportunity to groom the requirements frequently and highlight feedback and constraints. The workload is also balanced and the team is in a better position to automate routine functions.
  • End users — The end users have the opportunity to provide feedback as the application evolves. This ensures that course correction to be done early in case any of the features are not acceptable by them.
  • Future Path

    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.
    agile, agile challenges, agile transformation

    Opinions expressed by DZone contributors are their own.

    {{ parent.title || parent.header.title}}

    {{ parent.tldr }}

    {{ parent.urlSource.name }}