- software development
How do you know if your software team is agile?
If you work or have worked in the software industry in any capacity (software architect, developer, tester, project manager, etc) the last five years, you surely have heard, encountered the agile methodology or even been part of agile teams. However, with Agile having become a trend and a common practice in most organizations, how do you as an agile practitioner know if you are doing Agile the right way and if your team is actually an agile team. Here are some questions (credit to neotys) that we think you should ask yourself in order to properly answer that question:
1. Does your team regularly produce value for stakeholders?
Creating value for both your customers and for the business side of the company is an important principle of the Agile development methodology. Because if your stakeholders aren’t happy, then your software probably isn’t going to be that effective. The key to becoming a true Agile team is to involve stakeholders at all stages of the development process.
As a tester, what this means is that you need to understand the end user experience. If your consumer isn’t happy with the way your mobile application handles page load time, or if your web application is too buggy, we can take a safe bet your consumer isn’t happy. Don’t just test functionality as defined by user tasks – set your bar to be the overall experience of the customer.
In order to develop a strategy that will deliver value to your stakeholders ask:
- Do we actively consider usability issues in the development of the solution?
- Do we identify stakeholders at the start of the project?
- Do we have regular discussions with key stakeholders to better understand their needs?
2. Does the team validate their work to the best of their ability?
In an Agile team, you take a test-drive approach to development. Minimally developers should be testing their code at least daily. With test-driven development (TDD) you write a single test before writing just enough code to fulfill that test. There aren’t any hard and fast rules to validating your work but a key point is that the development team is intimately involved in the testing process.
Answer yes/no or filling the blank to some of these statements to see if you are following a strategy to validate your own work:
- We perform our own regression testing…
- We take a test-driven development approach….
- At the end of the project, “final” testing is….
- We follow non-solo development techniques such as…
3. Is the team self-organizing?
Disciplined Agile teams have this one down pat. Self-organization means that the team members themselves are planning and estimating their own work (with the help of course from the scrum master.) To be self-organizing means teams will perform their work within the context of an effective governance framework, which guides and monitors their efforts, including working towards a common infrastructure and programming guidelines.
Take a look at these strategies listed below to see you are a part of an Agile team:
- In each iteration/sprint we hold a planning meeting
- We hold daily stand up meetings to coordinate
- We produce status reports at least once a sprint
- At least once a week, a senior manager will attend
- We measure our velocity and use that to estimate project completion times
4. Does the team strive to improve their process?
A common practice at the end of each sprint is to identify potential ways to improve the software process. More importantly, teams will act on one or more of their issues in the next sprint, which improves their approach throughout the whole project. Really disciplined teams make the effort to track their progress over time and share their ideas with the team.
Here are a few strategies Agile teams implement in order to continuously improve:
- Hold a retrospective session at the end of each sprint to identify issues.
- Address those issues in the next sprint.
- Measure and track our progress of adopting improvements to our process.
We hope that this article gave you some indications on how to determine if your team is agile. If you need help delivering projects on time, on budget and using agile, please feel free to send us an email to firstname.lastname@example.org and we will help you get started.