A comprehensive guide to “Being Agile”

We need to talk.
Today I want to talk to you about Agile, and no I don’t mean Jira boards and sit-down-stand-ups. I want to look into why we do what we do.
Actually, I wanted to write an article about effective communication and how we (as actual human beings) have significantly more meaningful interactions in person than we do over video chat, real-time messaging or email. Join me on a short detour.
How we communicate
Try some of these (at your own peril) next time you’re talking to someone in person:
- Stare at them with eyes wide open while you’re in middle of a regular conversation
- Raise you eyebrows in shock as a response to something they’ve said — more fun if they haven’t said anything shocking
- Invade someone’s personal space by inching closer and closer to them
You’re likely to get a response, and that’s because human’s are complex — our message isn’t just the words we say it’s so much more and the following only scratch the surface:
- Facial expressions
- Body movement and posture
- Gestures
- Eye contact
- Touch
- Space
- Voice
Something bigger than yourself
I used to think all that mattered was code — as an individual contributor if I could just pop those headphones in and achieve flow I’d be able to develop the best solution possible, and life was good. But something happened — I was introduced to “DevOps” and something called “Agile” and I discovered the world of consulting.
I had accidentally stepped into utopia — companies had identified some sort of issue or need and were calling out for help. They needed people who could code, who could deliver solutions in challenging environments and could help teams transform into better versions of themselves. Well if there was anything I loved more than code it was being in front of a group of people inspiring them and making their lives better one whiteboard or pair programing session at a time — and learning along the way.
Continuous Improvement
I take the idea of continuously improving very seriously. I want to improve myself, my team, my consultancy and my clients. I also spend time on helping my friends and family grown and improve. I get an enormous amount of joy out of helping people.
When trying to introduce the concepts in the Agile Manefesto many questions can arise, consider these:
- How often should we do sprints
- Being Agile means that we can add scope with no negative impacts, right?
- Do we need to do standups every day (and why do we need to standup?)
- We don’t think retros are valuable — they’re just another meeting
- Our scrum master told us we’re not allowed to >insert any prescriptive directive from on-high without a rationale attached<
- Do we have to do this meeting face to face — I’m busy — can I bring my laptop so I can work in this meeting?
- We need to write a detailed plan for the entire project ahead of time — then report on it weekly to our finance department, explaining each deviation to them — but you can do that Agile thing within you own team at the same time, right?
So here’s the thing — Your team gets to decide if they want to “practice agile” or not — and if so, how to do it. But if you are going to do it you (your team, and your company) should understand its origins and get ready for a ride of continuous learning and improvement.
How to do Agile right
Here’s my crash course. Ask whatever question you like (like a magic 8 ball), then read the Agile Manifesto (I’ve included it below) for the answer, simple.
Hint: If you’re looking for more guidance — ask someone who’s done it successfully. Experience beats theory.
Wondering why you can’t lock yourself away and code the “perfect” solution on your own? Or why you need to meet with your team so much?
8-ball says: The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Not sure why this “retro” thing is happening every two weeks — and wondering if it’s really that important to do at all?
8-ball says: At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.
We can use this method to unpack themes around business value, continuous delivery, environments at work that encourage growth and motivate teams. We explore what it means to produce high-quality working software in a metrics-driven fashion, but we’ll have to save those for another day.
Everything you ever need to know about Agile
What is Agile?
A guide for better ways of developing software
I’ve only got 30 seconds — What do I need to know?
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
I need more please, how do I know if I’m doing it right?
Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.
Welcome changing requirements, even late in
development. Agile processes harness change for
the customer’s competitive advantage.
Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
Business people and developers must work
together daily throughout the project.
Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.
The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Continuous attention to technical excellence
and good design enhances agility.
Simplicity — the art of maximizing the amount
of work not done — is essential.
The best architectures, requirements, and designs
emerge from self-organizing teams.
At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.
Also posted on medium as A comprehensive guide to “Being Agile”.