Some processes are too big, some are too small so how do you find what’s just right? A lot of people would argue that highly detailed processes with buy in from a lot of different stakeholders slows the pace of software development. The fundamental reason for “agile” methods is to cut the overhead out of the processes to focus back on delivering value to the customer.

Even switching to an “agile” methodology is still a process. Whether it’s scrum, XP, lean, RUP, take your pick there’s still a defined process for how the methodology works. How do you find the right process for you?

When you’re just starting out, everything can be kept inside one person’s head so there’s not a lot of formal processes required. You have gurus who literally know everything that there is to know about what’s going on. The guru, usually the entire engineering team knows what to do, how to do it and why or why not to do something. In that scenario you don’t need a lot of formal processes because everyone knows in their bones what to do.

At the other extreme you have the moon shot, hundreds of people involved in producing something very large and complex. No matter how smart, communicative and on top of things your equivalent of Werner von Braun is, there’s no way he can control everything like it was when it was just him playing in the back yard. So formal processes, procedures and checklists are a must, or are they?

As you grow in size and complexity, natrurally processes evolve with you. What started out informal and seat of the pants gets codified. People natrually want to retain control even if they aren’t in the trenches every day anymore.

Is it still possible in a large project to have local gurus who can take the startup’s personal complete responsibility for an area and just run with it? If so, how do you coordinate all the local gurus to make sure that they’re collectively making the right decisions?

Beats me. Or more accurately, it depends on the context.

I think that there are some patterns that naturally evolve to create something that’s just right for the organization.