Hacker News new | ask | show | jobs
by muzani 2993 days ago
I take a military analogy to it. War is probably the most chaotic situation anywhere. And to cater for it, they develop a lot of discipline, starting with formations and strict routine.

The key is to create a bubble of control. Once you control a zone, once you form a secure perimeter, it's much easier to control the rest.

This zone of security is most easily done with Agile. Agile lets you control that sprint. Agile lets you gain more control over a large project, sprint by sprint.

A lot of people abuse agile. They forget that it's a way of ensuring control. These people overextend and they lose it.

Routines and SOPs are also really good. A lot of companies trust their developers completely. After all, they hire the smartest people they know.

But just because they're smart, it doesn't mean they know what to do. A SOP keeps people moving in formation. If you know where everyone is, you can secure a huge perimeter. If people have full freedom, they will often break formation because they don't see the big picture.

Communication is absolutely vital. Whether in war or software, sometimes you don't even know where you are. Sometimes you don't know when someone is crossing into another person's zone. It's also important that these people don't simply communicate to one another, or just to their team leader. It creates a bottleneck, a point of failure. This is where project management apps like Jira and Slack come in.

It's also vital that you know your environment. You should know what you're getting into. This is where system analysts, business logic, and similar experts come in. They are there to scout things out before the grunts move in. The project manager may tell people where to go, but the system analysts tell them what is safe.

In general, I think that if you believe a project is completely safe, you simply don't know enough about it. You should be well aware of the chaos and have a plan for it.

1 comments

This analogy seems really strong. I don't know much about war though so I might miss some of the nuances!

The bubble of control sounds like a great way to visualise what you need focus on (reminds me of the "circle of control" from the book "Seven habits of highly effective people").

"develop a lot of discipline, starting with formations and strict routine". This makes a lot of sense and completely fits with the other analogies I use (like playing jazz, football and running an agile team). It reinforces my belief that you need to have well-practised skills for how to do things so that all your focus can be placed on what to do.

I also really agree with the point on communication. It's a key feedback loop and helps people to synchronise and keep their context up to date. I like to set this up via repeating events so that it's never too long between syncs.

I never thought before about having people separate from the direction-setter (leader, project manager) who would recce for safety purposes. I'll have to mull on that a while!

Thanks!

Oh yeah the recon and support teams are some of the best tools we've had for reducing risk.

At the very least it highlights high priority obstacles, like whether an API is running properly or able to do what it should. And system analysts are awesome for making sure a sales team doesn't overpromise.

Support teams are great too. Like if you have a huge, expensive, time constrained project involving a technology like Firebase, it would be worth it to have a Firebase expert sit around the office to ask questions to. It's often more cost effective than throwing more programmers at the problem. At some point, extra programmers just conflict with one another, but support won't.