In the years as a Software Engineer and Developer, Agile has been the hype, the “in thing”, a must have in any software development team.
While in the most cases this is indeed a good practice to involve in software teams, and other teams not restricted to software, there are so many different ways to apply agile methodologies. It’s easy to get lost in the storm.
I recently stumbled upon a very good read by Robert C. Martin (aka “Uncle Bob”) who wrote the following,
“Thus, whether you begin with XP, Scrum, or any of the 5328 other Agile methods out there, you are going to wind up in the same place.” — Chapter 6, Becoming Agile of ‘Clean Agile: Back to Basics’
Which begs to answer the question, “If there are so many ways to apply agile but they all end up in the same place, why are there so many and how do we know which one to pick?” Now of course, I can hear most of you reading this article saying, “Scrum of course!”. Well, it is one of the most commonly used methods when people implement Agile so let’s use that too. Great. We’re Agile. We’re on the right track. Or are we?
I am going to leave it to Uncle Bob to inspire you with the fundamentals of Agile beyond just selecting a method like Scrum. However, there are 4 Agile values in every method that I’d like to share with you. Never have I really thought of these 4 values as one after the other, but I’ve come to realise that during my years as a software engineer and developer, these 4 values have always been present in a team that strives to do Agile well:
- Courage
- Communication
- Feedback
- Simplicity
Courage
Learn to trust yourself, you will thank yourself later. In a fast-paced development team, a lot of decisions need to be made without knowing exactly how to get to the answer. Every once in a while, software developers need to take a “leap of faith”. It is this kind of risk-taking that I believe Robert C. Martin refers to as the pillar of courage. It takes courage to say no to a feature request from your project manager. It takes courage to let your stakeholder know when a feature is not going to be completed in time. It takes courage to ask for help. I have experienced courage in the form of learning to trust myself more.
“The members of an Agile team are not so focused upon political safety that they sacrifice quality and opportunity. They realize that the best way to manage a software project over the long term is with a certain degree of aggression.” — Chapter 6, Becoming Agile of ‘Clean Agile: Back to Basics’
Communication
Hola! You have time for a quick chat?
Sure! What’s up?
Year after year, I have experienced that communication is such a vital aspect in any team that is trying to implement an Agile methodology. In the midst of a world pandemic, it has been ever more so important to communicate ideas, strategies, decisions, directions, design and implementation.
“This is how teams gel. It is within the rapid, chaotic, informal firestorm of frequent interaction that light bulbs go off and insight is gained.” — Chapter 6, Becoming Agile of ‘Clean Agile: Back to Basics’
Feedback
I have not heard of or seen a team that succeeded in a project without feedback between team members. Continuous integration. Not only does feedback help those important people in your team who need to report on the progress of a project, but it also inspires everyone to work towards a common goal.
“Feedback is what makes the team work so effectively and what drives a project to a beneficial outcome.” — Chapter 6, Becoming Agile of ‘Clean Agile: Back to Basics’
Simplicity
Being direct can go a long way. When that manager made a decision or that team member made a statement you disagree about, best to speak up. When you recognise a problem in the code, don’t keep quiet and pretend it doesn’t exist, indirection won’t make the problem go away. As Uncle Bob explains, the first three pillars of Agile Methodology, courage, communication and feedback, help to reduce indirection and aim to make most solutions quite simple.
“Simplicity is directness — directness in the code, and directness in communication and behavior.” — Chapter 6, Becoming Agile of ‘Clean Agile: Back to Basics’
Thanks for reading!
👋. Hi! My name is Evert, I enjoy software engineering and development, mostly on the frontend 👨💻 . I also enjoy being outdoors ⛰️ 🏃 🏕️. How about you? If you’d like to chat or know more about me, reach me on one of my social channels,