The Age of Agile

We live in an age of agile in the tech world. Some argue it was incepted by the Agile Manifesto in 2001 almost 24 years ago. In these formative years, startups used agile techniques to ship products quickly, fail fast, and fail forward. That is how you build good software. Revolutionary in the age of waterfall where companies would take years to develop some fully fledged program before going to market.
By reducing the time between the idea’s inception to the idea being in people’s hands, the feedback loop could start quicker. Only focusing on core critical functionality and seeing whether the market even fucking wants what you’re selling. Less capital is required for this approach, so it makes sense for startups to take this route. It’s still to this day used as a guiding light for any aspiring startup founder to be AGILE! Fail fast and fail often intending to fail into a winning product with market fit.

Who wouldn’t want that?! It got us Google, Uber, Amazon, and a host of other unicorn companies. WHO DOESN’T WANT TO BE A UNICORN :D

As any good agile certified professional will tell you. Agile isn’t just a concept, it’s a CULTURE! Your entire organisation needs to embody this agile methodology. This methodology is outlined in 4 key tenants articulated in the agile manifesto.

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Embodying these 4 tenants will make you agile. So how did your large corporations fair…

The shift to agile

When your googles of today started to blow up everyone and their dog wanted to be them. Monkey see, monkey do results in everyone copying the market leaders, its only human. Hot desking, beanbags, pool tables fun goofy colours. It was a workplace revolution! Allowing people the freedom to unleash their creative spirit… right?!

Driven by shareholders asking “How is company X Agile in this modem age?”. Your corporates shift towards agile but a corporate needs more than a website with 4 tenants and 12 rules… Do you see the opportunity? It spawned an entire sector… no? AGILE EXPERTS, consultants who will transform your company from the ancient lumbering monolith of waterfall to the nimble agile… Like a puma Rawww… for a small fee of course. These subject matter experts will train your employees on the tenets of agile, after all, agile is a CULTURE. And don’t worry shareholders just for you consultants have made this agile SAFe for your investment.

Let’s throw in those rose-tinted glasses, huff some hope and get into that shareholder mindset of SAFe Agile.

The GLORIOUS storypoint

Starting with the smallest segment of time is a story point which helps teams manage their workload. Story points are what teams want them to be. Could be an hour, a day or how many fucks to give a ticket. Generally the more points the larger the task.

There are several ways to determine how many fucks to give a task. Some teams vote on it collaboratively, relying on the wisdom of the collective through some points poker. Or just let the single omnipotent engineer be responsible for guessing. With each sprint iteration teams will get a feel for their capacity and tune in on what their ’true capacity’ is.

Let me take another hit for the next part HUFFFFFFFF THE HOPE!!!

The SALACIOUS sprint

Next up we have finite chunks of work deliverables in about 2-4 weeks known as a sprint. During this period the team looks to address and complete the tickets mentioned above in the time allotted.

Daily standups are held where team members discuss any issues they might be having along with their progress. This is great, we as software engineers are trying to think creatively and can sometimes get stuck. Bouncing ideas off people can help solve the issue quicker also known as rubber ducking.

Everyone gives their updates in the morning and then goes on doing what they say they are going to do. COMMUNICATION IS GOOD… HUFFFFF!

The EVERPRESENT planned increment

Roping several sprints together we get a planned increment at the highest level. These are ~3 months long, to complete an Epic containing many tickets. A holistic feature or function.

We aren’t a nimble startup with a very flat organizational structure. We are a corporate behemoth! The planned increment thus becomes a great tool to rope in directors and C-suite level. They can thus keep tabs on how the epics are progressing. Which can be fed back to the board and shareholders with a personally attached gas canister… HUFFFF!

Can you see the problem already?

What reality looks like

Now that I have annihilated every brain cell and the only reader of this article. You might be saying “My God William, this agile framework thing sounds great, LETS GO”. Put down the canister Timmy, what does all this result in?

Time for autistic minute counting like a consultant! We have 8 work hours a day. 40 work hours every week, ~120 work hours every sprint and ~480 work hours every planned increment.

Every day there’s a 15-minute standup… But let’s call it 45 minutes accounting for running over and prep. Include the mandatory hour-long ticket ‘grooming’ session at the beginning of the week at 1:30 hour. Then you have that one poor fucker on your team called the scrum master whose job it is to go to the weekly sync meeting with the maniacs running this clown show at the planned increment level 2 hours.

(40 60) - (45 4) - 90 - 120 = 2190 minutes => 36,5 hours

I already hear you saying but William that isn’t so bad. A 4.5-hour cost every week to be agile is nothing. To you, I say NO the cost is higher. As an international team standup isn’t at 9 am it’s at 10 am to accommodate everyone across the globe. Great that leaves a 1-hour segment best case before catching up with your local colleagues, sending emails or having another meeting. Finishing your standup at 10:30 with a coffee and a chat later it’s 11. With lunch at 12 you can’t sink your teeth too deep into a coding problem so you do some B-level tasks instead.
That essential standup has just fucked any chance of getting anything of substance done in the morning.

Great lunchtime 12-1. You get back to your desk having eaten a metric fuck ton of rice from that Thai place down the road and you hit that ‘mid-day’ slump. Now this can be avoided, eat healthy and all that. Now to knock out the afternoon, 1:30 - 5 easy game. But first coffee then 3.5 hours of glorious free time at your disposal to sink your teeth into code… Oh wait I forgot we are working in a large corporation you know what that means… MEETINGS!!!!

Comic

That 2-hour Scrum sync weekly where you wait in line listening to everyone huffing their farts about achieving the very thing they said they would the week prior. You get your turn to take a big whiff of your home-brewed bullshit. Everyone has the memory of a goldfish with alzheimer’s and never remembers what you said last week. So you must remind Alice that she still hasn’t created those admin accounts you and your team requested 3 weeks ago. You might say “But William that is why you have those meetings”. To you, I say “NO fuck you”, if it takes you 3 weeks to make an admin account in your org you are not agile. At the end of the meeting, the scrum king himself will say “Remember everyone over communication is good” NO IT NOT ITS CALLED OVER COMMUNICATION FOR A REASON, TO MUCH.

This is but one of many types of meetings that are held. That is not mentioning training workshops, idea meetings, out-of-standup syncs, sprint planning, retrospectives, or god forbid your CTO pulls you into a vendor review session for the 10th time because our budget-constrained team needs to consider adding another steaming pile of bullshit sold to him over a dinner that was probably more expensive than your months’ salary. or whatever random 30 min ad hoc bullshit meeting you get pulled into knows you have because CORPORATE!!

I’m going to take a breather here and interject with some research. According to the deep work bros of the internet, 2-3 hours of dedicated uninterrupted deep work should be your target every day minimum. As a programmer myself I like to get into the groove and knock out 4+ hours like a degenerate, bopping to some drum and bass.

Now in the 3.5-hour window, every day that you have to work it might seem fine. BUT if you have 1 meeting in the middle any chance of a deep work session being locked in reaches near zero. You end up running after B-tier problems or nibbling at that big problem you should sink your teeth into. This results in you getting to the end of your day as a programmer thinking WTF have I done today? Better yet the next morning when you’re about to give your standup update. for the cycle to only continue. With the off hope that maybe by the end of the sprint, you were able to squeeze out that deliverable in-between huffing the corporate marketing cope and the local fart sack that fuels the delusion.

It gets to the point where it’s all an ouroboros of meetings where the ratio of talking about doing things and reporting on it vs actually doing it is 5:1

Think logically

I will bet you, the title of scrum master that if you went to any other industry be that Lawyers, doctors, HR, sales, marketing, finance. And asked them if the entire team gets together every day in the morning to discuss the things they are going to do for that day. They will say “Get fucked, you’re crazy, stop taking drugs, no one has time for that shit!” There is a trust that people will do their jobs and we meet when we need to meet. If someone isn’t doing their job you can see because they aren’t delivering.

So why then in tech do we do it? Why don’t we trust our engineers to go ahead and tackle a problem and come back when the task is done and report on it? Maybe even requires an update every other week. Perhaps because Techies are so socially awkward we would rather commit seppuku over listening to Karen from HR talk about what she did last weekend for 45 minutes and the core tenants of the company for the final 15.

Generally, in tech, we have the idea of being locked in when we are trying to solve a problem. You even see it in series like Silicon Valley where the characters will say ‘Don’t disturb Terry, mans locked in and working, we can tell him about whatever it is later’.
But when you work in an office people don’t give a fuck and will happily pull you out of your mind palace only to tell you about the new mod they are adding to their motorbike this weekend.

It’s a programmers job to develop code. Let them develop the fucking code. Get out of their way.
Coding time should be considered holy grail time but no one knows what it takes to write code! The answer? Let’s micromanage them into ineffectiveness. Which results in you hiring more people to help increase velocity. Next thing you find yourself in a team of 20 people. And do you know how 20 people DAILY standups go… They don’t. Makes you wish, dear is say, to be understaffed.

Conclusion

In conclusion to my rant, firstly thanks for reading this far. You are the only person who probably has, and to you, I wish all the good things.

So what do we do about this? Great question. I’m just a security engineer. How do we tell the C-suite to just point in a direction and let the manic programmers plough forward like demented wolves after a kill? Less micromanagement of every task that is being done. No, I don’t need daily standups to tell your team you’re still stuck on that problem because you’re a dumb fuck that can’t get two rocks to bash together.

Team syncs are important yes but should be used sparingly. As developers, we must defend our time. As that time is what we are really paid for. Block out those hours weeks in advance, if need be. Project managers give them a place of respite, to flee from the idiocy of the day-to-day dredging and grind… and maybe, just maybe, you will get a team that will be both incredibly effective and love you for letting them do what they are best at.

Now I’m going to go touch some grass, I need to wipe this shit off my hands :D