Congratulations your team has made the transition to agile software development. So far so good – right? Hmm, maybe not so much.
It can be confusing when the transition to agile software development has not been super smooth. After all, you hired an agile coach, everyone participated in agile software training, you have a professional scrum master, and you’re using the best in agile software development tools. But, still, there are headaches and issues, in fact, you’re starting to wonder if the transition to agile software development was a mistake.
Do not despair or give up. Growing pains and transition challenges are common, your team is not alone with this. The truth is that most companies prefer to keep their struggles private, hesitating to be honest on their company blog about this reality. This is normal, no company wants to put fear or concerns in the mind of their investors, clients, or employees.
So, we’re here to burst the bubble – the transition to agile software development is challenging and is hard. No one is going to come out and say this – but we believe it’s important to acknowledge the challenges.
If you’re struggling with agile software development or are looking for some ways to better realize agile software development success, the following tips and strategies can be your team’s difference-maker.
The Agile Manifesto
The Agile Manifesto is the backbone of all aspects of agile management, operations, and software development. It helps to revisit the manifesto to reset your team’s focus and remind yourself why you made the transition. The following is from the Agile Manifesto authors:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
The key here in understanding how to determine and align your team’s software development priorities is to pay attention to the bold text. Often, teams get caught up with intricacies and process, neglecting the ultimate goals of:
- Individuals and interactions
- Working software
- Customer collaboration
- Responding to change
Like most organizations, it is these four goals that likely helped convince you and your management team to move to agile software development. However, it can be hard, to put these values into practice.
Team Matters
Traditionally, software development teams are large and scattered through-out the office or offices. And now with remote working, the scope and size of software development teams can become too large and cumbersome.
Remember that individuals and interactions are key to agile success. Look at the size of your agile teams. Review how they’re able to communicate and work together. Is the team sitting with each other in a dedicated area? If you’re a remote team, what tools are you using to enable and support easy communication and collaboration?
Your agile team needs to feel supported and this includes both management and internal team support. It takes time to find the right agile team size and this is connected to the scope of your stories and iteration. Don’t neglect the balance of developers to quality assurance to user interface designers to technical writers. Achieving this correct ratio of expertise can make it easier to facilitate real teamwork.
Talk to your agile teams – ask them what is and isn’t working. Find out what their pain points are and why they’re not having the success they want.
Frequent Feedback
Many people bristle at feedback, receiving this feedback as criticism. Feedback is essential to improving all aspects of the software development process. Teams need to feel supported and encouraged to give frequent feedback.
During the planning process, encourage all team members to speak up and voice opinions and thoughts on story break-downs, priorities, design, and the acceptance test plans. Encourage your quality assurance team members to send acceptance test plans out for team review. Consider moving to pair programming, to encourage ease-of-communication and more effective programming. Encourage your technical writer to get involved in reviewing the software from a new customer’s perspective.
Without feedback, it’s impossible to know if your customers are happy, if your team is happy, and to anticipate change.
Results First
Admittedly, it can be a challenge to put personal ambitions aside and focus on the overall results and goals of the team. This is true for any industry and any team. However, being able to put results first keeps the agile team on-track and focused on moving forward.
This results first mentality, makes it easier for teams to break-down stories into manageable and achievable goals. When the goals are clear, everyone on the team from the product manager to the technical writer, knows what is expected to define the story as done.
To achieve a real results first approach, it takes clear direction from the product manager and support from the scrum master. These two individuals must be in-tune with how the team is functioning. The scrum master must be proactive in removing blockers and barriers to success. The product manager must provide the team with clear guidance and keep the team focused on the stories and iteration.
Quality Over Quantity
Too many software developers get caught up in writing a specific number of lines of code. You need to erase this mentality. Remind your team that it’s not the lines of code that matter -it’s the quality of the code. Lines and lines of code are useless if it takes days to debug and fix the code.
With a focus on quality, you discourage the scrambling and panic that come with software development – that feeling that writing code is better than doing nothing. Remind your team that it’s better to know why they’re writing the code than simply just typing away. Not only does it make it easier for the agile software developers to write the code, it’s also easier when a future team has to go into this code to make changes.
Clear, concise, and clean code goes a long way in eliminating errors, confusion, and time-sucking costly confusion.
The Principles of Agile
Along with reviewing the Agile Manifesto, it’s worth taking time to review the 12 principles of agile. While these aren’t hard-and-fast rules (remember agile is flexible), these principles lay the foundation for how your team works, communicates, prioritizes, and realizes success.
Consider bringing your agile coach back for a refresher or in sending your agile software development team on agile training. Talk to your team and find out what they think will help them work better together. There are lots of excellent agile resources, books, conferences, podcasts, and agile leaders who can help you realize agile software development success.