Author: Bernadette Greenock
Good Agility Point Two: WHAT IS THE DIFFERENCE BETWEEN DOING SCRUM/EXTREME PROGRAMMING AND ‘BEING’ AGILE
Extreme Programming (XP) and Scrum are two agile methodologies. Agile trusts highly collaborative teams to quickly and iteratively build production-ready software. Written plans and documentation are kept to a minimum as requirements are assumed to change often.
Scrum says how to manage the project, leaving developers free to choose their own implementation practices. XP prescribes practices for both Project Management and Development. Agile on the other hand is a style of working – a Mindset, not a methodology or process. Agile is founded on a shared set of core values as outlined in the Agile Manifesto.
‘Being Agile’ is about:
- Individuals and Interactions over Processes and Tools
- Working Solutions over Comprehensive Documentation
- Customer Collaboration over Contract Negotiation
- Responding to Change over Following a Plan
That is, while we value the items on the right, we value the items on the left more!
Agile supports a set of guiding principles including but not limited to:
- The early and continuous delivery of value
- Welcoming changing requirements
- Frequent delivery of a working system
- Daily collaboration between developers and business experts
- Self-organising teams of experts
Methodologies such as Scrum, XP and Lean introduce practices that are consistent with these values and principles, but Agile is inherently a way of ‘being’ that involves the entire organisation, not just development or project teams.
The specific practices and processes are really manifestations of Agile behaviours. Agile’s core values and guiding principles support good process, not the other way around. Organisations that embrace these behaviours and principles find agility to be very powerful and those that adopt agile practices without embracing these values and principles often struggle to deliver any real business value.
Good Agility Point Three: SOME TECHNIQUES TO CULTIVATE A SHARED UNDERSTANDING IN AN AGILE TEAM
There are several techniques that can be used to cultivate a shared understanding in an agile team.
Where possible, co-locate the team so that they’re together and can collaborate well.
Large complex projects often can’t co-locate, team members perhaps might be dispersed across other buildings, across states or even internationally. Even with this complexity, teams can harvest a shared understanding of the project and deliverables by meeting regularly via conference calls, Skype video or face-to-face.
Creation of the backlog and user stories detailing what needs to be achieved should be done in collaboration with the whole team.
Ensure the team comprises of the key stakeholders including a product owner, customer or business SME that are empowered to make decisions and work closely with the team to deliver customer value.
Use a visual agile wall or application such as Jira (Atlassian) and ensure team members ‘own’ the user stories and the workload.
Collaboration, collaboration, collaboration and continued communication in the team and with the customer is a must, together with stand-ups, sprint or iteration planning and retrospectives. These are key to a shared understanding on an agile team.