“There is no Silver Bullet for Being Agile.”
Project/ product development teams might be doing scrum religiously by having fixed-duration sprints, following ceremonies without fail, having time boxed stand-ups, creating artifacts as prescribed but, these may not be enough for being agile. A team that focuses too much on ‘Scrum as a process framework’ emphasizing on ceremonies and events in letter-and-spirit, rather than following it with the intention of achieving agility; often fails to achieve the desired end results. It requires a team to engage in a disciplined approach throughout the product/ project delivery lifecycle to enhance its agility, productivity, and product’s quality as well as to optimize delivery time and efforts. It has to be a consistent endeavor from all the stakeholders like product management group and product engineering team (as agile practitioners) to bring agility by means of continuous improvement.
Scrum is NOT Enough!
Agile Scrum is just a framework which needs to be followed within its operating context. A team should not get trapped between the framework’s boundaries. Following are some of the Scrum smells (anti-agile/ dysfunctional scenarios) which indicate that a team is trapped between the processes…
- Team religiously forced to start/ finish the ceremonies without having right results or seeing improvement. Having time-bound and scheduled ceremonies (like standups) are important but it should end on a positive note with evidential, useful and actionable/ improvised outcomes
- Team disinterested to attend ceremonies, especially Daily Scrum, or it (daily scrum) is seen merely as a status update to Scrum Master/ Product Owner. Chaotic environment and team’s unwillingness to attend retrospectives. Unsatisfied business users and frightened or defensive product owner during sprint reviews
- No engineering practices. No automation to code reviews, integration, build, unit test and software delivery. Required frequent and repetitive tasks are done manually most of the times
- Virtually no improvement or sustainable pace even after completing multiple sprints. Team’s vital metrics, such as velocity, widely fluctuate or have a declining trend. Because of this, the performance and productivity cannot be predicted
- Repetitive instances of failed (or killed) sprints, accumulated technical debt, inability of team to achieve sprint commitments and jeopardized long-term product goals
- Team’s unwillingness to participate in backlog grooming and reluctance to estimation & planning. Features (or user stories) are broken forcefully to fit into sprint length
- The team is not organized as feature teams. There are too many dependencies on cross teams or on specialized skilled person/ role such as User Experience, Architects, DBAs, Testers etc. Testers and developers not working in coordination
- External stakeholders feel ignored during legitimate and critical inputs and thus, start losing faith in the development team. They struggle to provide feedbacks and hence, adopt pressure techniques
Go Beyond Scrum for Being Agile!
1. Scrum without Lean and Agile values will fail!
It might appear to be okay if a team follows Scrum but, to be successful in the long–run, the team must embrace Lean and Agile values & principles together. Continuous focus on adhering to the guiding principles behind the practices being adopted can form the basis for delivering business values and customer delight. Following are some of the key aspects to be considered:
- Agile focuses on – Early and continuous delivery, incorporation of changing requirements, customer satisfaction, shorter delivery timescale, increase in customer feedback loops, open communication, customer collaboration, involvement of business & cross-functional teams, technical excellence, sustainable development pace, inspection, adoption to continuous improvement etc.
- Lean emphasizes on – Optimizing the whole system, reducing waste, mapping value streams, improving continuous flow, minimizing work in progress, applying pull & just-in-time mechanism etc.
2. Embrace other methods & practices
There are many other agile practices that can help to realize Scrum with its true intent. These whole bunch of agile practices addresses product development lifecycle from various aspects such as product portfolio management, requirement engineering, software process engineering etc.
“Scrum method is definitely the foundation and enabler to agility but it’s not enough if it’s not being practiced along with other agility practices.”
Here are some of the leading agile practices:
- XP & software engineering practices – Scrum does not prescribe any practices but it supports modern/ effective engineering practices such as TDD, ATDD, Refactoring, Pair Programming, Continuous Integration etc.
- Kanban – It is mainly a product portfolio management practice and helps in visualization of work, limiting work in progress, and effectively improving system flow.
- Numerous other agile practices can be considered in different aspects for the realization of benefits. Please refer to the post ‘Four Facets of Agile – Part 2 (Agile Practices)’ in the references below for the comprehensive list of Agile practices.
3. Build Agile culture & mindset
“There is no magic wand to build Agile culture and mindset.”
Scrum by itself cannot succeed without having agile culture and mindset in the organization. All stakeholders like customer & product management and development teams should have undergone agile training and should be willing to embrace agile values and principles. With time, a consistent approach for improving process/ practice maturity collaboratively as well as knowledge sharing sessions can help an organization build the right culture and mindset. Please refer to the post ‘Four Facets of Agile – Part 1 (Agile Mindset)’ in references below for more details on agile culture and mindsets.
4. Agile coach and coaching model
An agile coach and a well-structured agile coaching model enable organizations/ projects to achieve a quick and stable turnaround in order to create values by using agile best practices. It helps not just in creating awareness but also in handling change management for agile transformation/ adoption and execution. By implementation of best practices, it improves continuous delivery maturity. Agile coach should be associated with each project team for coaching and supervision, especially when an organization is transforming from waterfall to agile methodologies. Additionally, when a project team is new to agile and Scrum Master or Product Owner are performing their roles for the first time, associating with an agile coach can highly benefit them in executing their duties efficiently.
5. You need support by executives/ management
Scrum essentially not only needs executive sponsorship and management support but also requires continuous involvement throughout the agile adoption and transformation journey. Unless executives/ management teams understand pain and challenges and extend their support for organizational changes, it would not be easy to succeed. Teams may struggle to perform and deliver efficiently. In order to succeed in the agile scrum, a commitment is required across the hierarchy in embracing lean-agile practices. An organization should ensure that its team has a requisite environment available (e.g. development, testing, pre-production/ staging) that is equipped with required tools and technologies. This is essential for effective collaboration, automated testing and for the entire delivery pipeline.
6. Reinvent Agile as the team goes along
Improve on processes, practices, communication & collaboration and inspection & adaption. It is recommended to have a coach to guide and direct with respect to agile methodology. He/She can also help to perform audits and reviews so as to help the team in adapting the best practices and filling any process gaps. This can definitely help a team to sail through the agile journey even in difficult times.
7. Business’s commitment to adopting agile methodology is also required
Customer’s business team should also understand and appreciate adaption to agile and should be committed to actively participate in agile practices. If required, they also need to be trained on agile methodologies so that they are aligned with the development team and can help to practice agile on their part in terms of proactive and timely reviews, acceptance, and feedback.
8. Team should possess the required technical skills
Development team must be competent enough to skillfully engage agile processes, practices, tools and technologies to achieve optimum benefits. Just being trained on agile/ Scrum and having knowledge of frameworks is not enough. A team should practice it in real-time project scenario to reap maximum advantages.
Scrum is definitely the basic and starting framework. But to succeed with agile, it works well when applied effectively with other agility practices.
Product/ project team should make a multi-faced approach to be agile. They can start agile transformation by following Scrum and then slowly moving to agile maturity with inspection & adaption, adapting suitable agile practices and investing in right tools & technologies.
- Four Facets of Agile – Part 1 (Agile Mindset) https://agilegnostic.wordpress.com/2015/10/25/five-tenets-of-agile/
- Four Facets of Agile – Part 2 (Agile Practices) https://agilegnostic.wordpress.com/2015/11/10/four-facets-of-agile-part-2-agile-practices/