Our guest author this week, Dave Kelly of 2i Testing, looks at what it means to be agile. Are you really as agile as you think you are?
So, you think you’re agile? It always surprises us the number of companies that claim they’re ‘agile’ when the facts suggest otherwise. They claim to be agile without fully achieving the benefits. Its not even clear if their implementation of agile is understood and has all the foundations in place.
Agile (or more importantly a lean agile mindset) enables you to assess your operational and development value streams for your organisation and implement a lean operating model. Ultimately this means, that you deliver better value to your customers, at the appropriate pace and quality.
Identifying areas where your organisation’s implementation of agile is not delivering value can be difficult. However, there are common behaviours and symptoms that can be observed to highlight where you may not be quite as agile as you think you were:
1. Testing operates in a separate team from analysis and development – You still have silo thinking
When moving to an agile way of working, the mindset of the team must be on delivering the best product for your customers. This is a change in approach for your people, where their objectives may previously have been based on their role - Analysts analyse, Developers develop and Testers test. The objective of the agile mindset is delivering the product the TEAM is responsible for:
2. Pressure to meet delivery dates compromises the quality of your product? – You are not working close enough with your customer
As the technology footprint and usage of your product increases, the ability to accept and adapt to change is essential. This mean that the relationship and the way you work with your customer is key to the success of the project:
3. Difficult to predict and measure progress? – You’re not using the power of data generated from your team
Whilst agile devolves decision making and ownership to your teams wherever possible, it doesn’t necessarily provide you with visibility of progress at all levels where you need it.
This is often obvious when, despite your teams claim to be agile, your sprints still contain ‘mini-waterfall’ processes which only identify product issues through testing late in the sprint.
Through the correct implementation of lean and agile processes, in combination with appropriate platforms and tooling, your teams will be better equipped to have a consistent real-time view of your progress status.
It is important to have an understanding of estimation using story points and program increment planning, enabling your wider organisation to see where features will be delivered and better plan for releases.
At the team level, as testing is embedded through all stages of the process, you will have access to a real-time view of your product build quality. This provides faster feedback to your team on the quality of the product and issues can be addressed quickly to ensure sprint commitments can be met.
4. Releases are large and require significant manual support - You’ve not planned well enough for it!
Whilst the thought of releasing a new product may be a big deal, the process to release it shouldn’t be. When time has not been invested in identifying and implementing a clear path to ‘going live’ releases can become delayed by issues due to differences in configuration, environments, data etc. The gains made within your agile team to accelerate the release of your product are lost navigating the issues you uncover in your release process.
Repeatable and automated release and environment management process will better support your delivery pipeline. The ability to utilise live-like environments and deploy your product consistently reduces any significant overhead spent on test data and environment issues.
In combination with automated checking and exploratory testing, your agile team can build, deploy and test faster. An automated deployment process ensures the steps and checks conducted to deploy to test are followed all the way to production meaning your team can focus on verifying the product with confidence that the release process is sound.
Often organisations implement agile as a layer over their existing operating model, ‘cherry picking’ elements of agile to minimise disruption, and do not achieve the value and efficiencies agile and lean thinking can bring. By ensuring your people, process and technology is in place that TRULY enables your teams to deliver value quickly and consistently, you’ll then realise the benefits that being agile can bring.
Are you as agile as you think you are? It would be interesting hear your experiences.
Written by Dave Kelly of 2i Testing