Agile Challenges
By Sarfraz Aaron, CSM, SSM, PMP
The word Agile has been at the forefront of many organizations in recent times as leading-edge technologies have made it possible to reduce the Time-to-Market (TTM) for new or old products. The word Agile means different things to different people as you would have realized if you’ve had the opportunity to work with various organizations. People or organizations may be thinking Agile but may not be acting on true Agile principles.
Agile methodology allows traditional Waterfall approaches to be undertaken in a shorter time-frame. This means the Scrum Team will be able to quickly demonstrate the outcome or the Minimum Viable Product (MVP) to the Product Owner (PO) and/or the Stakeholder for early feedback. This cycle allows for quick failures and for the Scrum Team to pivot to ensure that the end product will be built according to the PO’s vision.
What are the challenges?
Working in Agile and running the project delivery using Scrum Framework has many challenges, but for now I wanted to focus on just the three listed below:
- Management Buy-in
- Quality Assurance Integration
- Co-location for the Scrum Team
Management Buy-in
There is always a desire to have an Agile environment where teams are encouraged to try-fail-succeed. This approach may not appear to be the case if you had worked in some of the organizations - in fact, it might seem quite the opposite. Why is this the case?
Management buy-in needs to happen from Senior Executives to the Scrum Team level so that there is an appetite for Agile methodology and Agile principles to exist and be adhered to. What this means is that:
- The organization environment and the processes must be aligned to Scrum Framework, i.e. Service Level Agreements (SLA) that are in place should not take more than, say, 2 weeks to complete since Scrum Sprints are usually 2 weeks long!
- People involved must have Agile understanding and must be willing to make a change in their habits from traditional Waterfall and adopt Agile methodology
Quality Assurance Integration
Testing function (Quality Assurance) is key in any Scrum Team setup as all User Stories worked on in a Sprint, must be tested fully before the User Story is considered as Done. To this effect, testing team members in the Scrum Team need to work closely with the development folks to ensure proper collaboration exists for User Stories so that it can be analyzed-coded-tested.
What happens sometimes is that so many defects/bugs are raised that the developers find it difficult to focus on what to prioritize - i.e. code new functionalities or fix raised defects/bugs? In this regard, the Product Owner as well the Technical Lead can help to prioritize based on alignment with what the MVP/Goals for the Sprint were set to.
What setup needs to exist for a successful testing function?
- QA resources working with developers in a Test Driven Development (TDD) approach - which will make sure that test cases exist first before any coding is done for any User Story
- Automation of test cases to help speed up the testing
- Any defects/bugs raised must be re-coded and retested with in the Sprint - this means raised defects/bugs would take priority for the developers to make sure these are fixed and re-assigned to the QA resource for re-testing
Co-location for the Scrum Team
Scrum principles dictate that the Scrum Team being co-located will help the team to work and organize themselves as a single team and be able to become an efficient mature Agile Team. As you know the usual phases of a new team put together will go through these phases:
FORMING | STORMING | NORMING | PERFORMING | ADJOURNING
Co-location provides an environment for the Scrum Team to make the room they work in on a daily basis to become more ‘homely’ by adding sticky notes on the room walls. Also the room can provide private space for the team members to have collaboration/brainstorming/whiteboard sessions. Furthermore, having the team members co-located will make it much easier for them to understand each other's energy levels and moods. This will help the team to have a positive energy at all times!
However, in the current world situation where most of the Scrum Team members are based anywhere in the world, it becomes even more challenging when you consider all the different time zones. This will have an impact on when the Scrum Ceremonies can be set up to avoid any team member having to attend the meetings outside of their normal office hours!
To minimize the impact of team building and team spirit - online collaboration tools will need to be used to help the team members to continue to discuss and prepare the User Stories for the Sprints.
What is a Happy Mix for a Successful Agile Project Delivery?
To summarize, here is what was covered in this article:
- Management must have their heart in the game - i.e. they fully support the Agile Workshop/Setup. This means those senior management folks who are not interested in the Agile methodology, will be reminded by their leadership to cooperate
- Environment and the process are aligned to make sure Agile ways of working are not impacted by long SLA/s
- Testing/QA function is fully integrated with the Scrum Team, this means automation testing enabled where possible
- Since most Scrum Teams are not co-located, it is important that each Scrum Team member is made to feel they belong to a single team!
- Online collaboration tools are utilized to continue the process of what a co-located Scrum Team would do!
Please visit www.howtoscrum.com for more articles on Agile and Scrum Principles.
Also, while you are there, don’t forget to check out the online course: ‘How to Scrum - Be an effective Scrum Master’ | www.howtoscrum.com/HTS_Course_Landing