The Agile Echo

There is no agility without technical excellence

While Agile emphasizes the importance of individuals and interactions, working software, and customer collaboration, it is also essential to have technical excellence in order to be truly agile.

Cover Image for There is no agility without technical excellence
Dan the Dev
Dan the Dev
agile
technical-excellence

Who wants to be Agile?

We talked about Agile Software Development in the first post (you can check it here), but in short, Agile is an approach that values flexibility, collaboration, and customer satisfaction. It is a set of values and principles that guide the development of software in an iterative and incremental way.

While Agile emphasizes the importance of individuals and interactions, working software, and customer collaboration, it is also essential to have technical excellence in order to be truly agile. Technical excellence refers to the ability to design, develop, and deliver high-quality software efficiently and effectively.

What is Technical Excellence

Technical excellence in programming refers to the ability to design, develop, and deliver high-quality software efficiently and effectively. It involves a combination of technical skills, knowledge, and experience, as well as the ability to apply these skills and knowledge in a practical and effective manner.

Some of the top-notch skills and practices to master in order to achieve technical excellence are, for example, TDD, Pair/Mob programming, and Continuous Integration.

Without technical excellence, Agile teams may struggle to deliver functional software on time, leading to delays and frustration for both the team and the customer. Technical excellence is especially important in Agile because it allows teams to respond quickly to changing requirements and priorities.

One (baby) step at a time

To achieve technical excellence, teams need to focus on continuous learning and improvement. This may involve investing in training and education for team members, implementing best practices and tools, and regularly reviewing and refining processes.

Technical excellence also requires a focus on quality, including testing and debugging to ensure that the software is reliable and meets the needs of stakeholders.

Conclusion

In summary, Agile Software Development is a flexible and collaborative approach that helps teams deliver high-quality software faster and more efficiently. However, without technical excellence, Agile teams may struggle to achieve these goals. By prioritizing continuous learning and improvement, as well as a focus on quality, teams can build the technical skills and expertise needed to be truly agile.


Go Deeper

Here are some resources you can check if you want to go deeper and learn more about what Technical Excellence really means and why it is fundamental to achieve Agility.

Books

Online

Did you enjoy this post?

Express your appreciations!

Join our Telegram channel and leave a comment!Support Learn Agile Practices

Also, if you liked this post, you will likely enjoy the other free content we offer! Discover it here: