“There is no Silver Bullet for Being Agile.”
Project / product development team might be doing scrum religiously by having fixed-length sprints, following ceremonies without fail, have time boxed stand-ups, creating artifacts as prescribed. But these are not enough. A team that focuses too much on Scrum as a process framework rather than intents for which it’s needed to be followed often fails to achieve the desired end result. It requires a team to engage in a disciplined approach throughout the product / project delivery lifecycle that would enhance team’s agility, productivity, product’s quality and optimized delivery time and efforts. It has to be a consistent endeavor from all the stakeholders – product management group and product engineering team as agile practitioners to bring agility by means of continuous improvement.
Scrum is NOT Enough !
Scrum is just a framework, which needs to follow within it’s operating context. The team should not get trapped to the framework boundaries. Following are some of the Scrum smells that indicates the team is trapped to process…
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’s should end on a positive note with evidential, useful and actionable / improvised outcome.
Team disinterested to attend the ceremony, especially Daily Scrum, or it is merely seen as status updates to Scrum Master / Product Owner. Chaotic or unwillingness to attend retrospectives. Unsatisfied business users, frightened or defensive product owner during sprint reviews.
No engineering practices. No automation to code reviews, integration, build, unit test and software delivery. Mostly the required frequent and repetitive tasks are done manually.
Virtually no improvement even after completing multiple sprints on widely fluctuating or totally flat / declining trends on some vital metrics such as velocity.
Repetitive instances of failed (or killed) sprints, accumulated technical debts, missing sprints commitments and jeopardized long-term product goals.
Team’s unwillingness to participant in backlog grooming and reluctance to estimation. Features (or User stories) broken forcefully to fit into sprint length.
The team not organized as feature teams. Too many dependencies on cross teams or specialized skilled person / roles such as User Experience – Usability and Designers, Architects, DBAs, and Testers etc. Testers and developers not working together.
External stakeholders felt ignored of legitimate and critical inputs, losing faith on development team and struggle to provide feedbacks hence adapting to pressure techniques
Enable Scrum To Being Agile !
1. Scrum without Lean and Agile values will fail !
It might appear to be okay if team follow Scrum, but in the long run to be successful team must embrace the Lean and Agile together. Continuous focus to adhere to the guiding principles behind the practices being adopted would form the basis of delivering business values and customer delight.
Agile views – Cross functional team, Increasing feedback loop, Customer satisfaction, inspect and adapt for continuous improvement etc.
Lean views – Optimize the whole system, minimize waste, limit the work in progress etc.
2. Embrace Other Methods & Practices
There are many other agile practices that help to realize Scrum with its true intent. These whole bunch of Agile practices addresses the product development lifecycle from various aspects such as – product portfolio management, requirement engineering, software process engineering etc.
“Scrum method is definitely the foundation and enablers to agility but it’s not enough if it’s not being practiced along with other agility practices.”
XP & software engineering practices – Scrum does not prescribe any practices, but supports modern/effective engineering practices such as TDD, ATDD, Refactoring, Pair Programming, Continuous Integration etc.
Kanban – mainly product portfolio management practice. It helps in visualization of work; limit the work in progress; effectively improve the system flow.
3. Build Agile culture & mindset
“There is no magic wand to build Agile culture and mindset.”
Scrum itself cannot succeed without having agile culture and mindset in the organization. All stakeholders, customer/end users, product management and development teams should have undergone agile training and should be willing to embrace agile values and principles. With time, consistent approach to improving process/practices maturity collaboratively and knowledge sharing should help an organization to build right culture and mindset. Please refer the post Four Facets of Agile – Part 1 for more details on agile culture and mindsets.
4. You need executives / management supports
Scrum essentially not only need executive sponsorship and support from management but sometimes this is not enough. Unless executives / management understand pain, challenges and support organizational changes; it would make the situation complicated. Teams will struggle to perform and deliver efficiently. In order to succeed Agile scrum, it would need a commitment from top to line managers; across the hierarchy in embracing lean-agile practices. Organization to ensure that the team has requisite environments available (e.g. development, test, pre-production/staging) that are equipped with required tools and technologies; which is essential for effectively collaborate, automate testing and entire delivery pipeline.
5. Reinvent Agile as the team goes along
Improve processes, practices, communication and collaboration, inspect and adapt. Having agile coach to guide and direct, who would also perform audits and reviews so as to help the team in adapting the best practices and fill any process gaps. Definitely, such process supports would be required by the team to sail through the agile journey even against the wind.
6. The business commitment required adapting agile, as well
Customer, business team / end users should also understand and appreciate adaption to agile. If required, they also need to be trained on Agile methodologies so that they are aligned with the development team and help to practice agile from their part in terms of reviews, acceptance, and feedbacks.
7. The team should possess the required technical skills
The processes, practices, tools & technologies are limited by the skillful uses and implementation by the development team. Just being trained on Agile/Scrum and having knowledge of frameworks is not enough; unless those are put into practical uses to derive benefits out of that.
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 slowly move to agile maturity with inspection and adaption, adapting suitable agile practices and investment in right tools and technologies.