$ cat posts/four-bare-minimum-things.md

Four bare-minimum things

es Leer este post en español →

There are an endless pile of tools engineers are fond of using in their development process, but there are only four that they really need:

  • Editor
  • Compiler
  • Version control
  • Bug tracking

– Michael “Rands” Lopp

Everyone who develops software for a living has some kind of editor or integrated development environment (IDE) and a compiler available.

The incredible thing is that version control and a bug tracking tool are missing at many companies whose business is developing software.

A while ago we ran into a vendor that had an important piece of software we needed, but before long we realized they didn’t have these basic practices in place, and because of that they couldn’t meet the demands of our business. So we decided to guide them into using them. We asked them to adopt version control, and we even added them to our own “Jira” so we could track their bugs and pending tasks. These are minimal practices, and in this case they helped bring order to the project and are helping to improve the final product. I also think it has helped that company internally, both to improve its products and services and to value its technical team more, because we went straight to the executive staff to tell them they had to implement these practices in their engineering team. Although it was a slow process, the results are starting to show.

All of this, of course, is a necessary condition but not a sufficient one, I have to clarify. What matters is that adopting these basic tools gives you a minimal foundation for controlling the complexity of any project.

You have to control the chaos of managing your projects, and these four simple things will do a lot for you. As Michael “Rands” Lopp says:

These tools empower engineers by allowing the entire team to:

  • Collaborate without stepping on each others toes. You do this, I’ll do that.
  • Be accountable for their work. Who’s got that checked out? Who’s bug is this anyway?
  • Measure their work. How many bugs do I have? How about you?
  • Remember what they did. Uh, who the hell checked in this crap?

You’ll find early on in your management stint that main reason people make the trek to your office is that they need conflict resolution. Once the conflict participants stop yelling, you need to get them looking at facts because facts will ground them and grounded means less yelling. All of the tools I describe above are excellent repositories of cold hard facts and that can help.

As an added bonus, and if you care about this business of certifications, I can tell you that according to the honorable Software Engineering Institute (SEI), having these four simple things can earn you a lovely CMMI Level 2 certification (“at this level organizations have institutionalized project management practices, there are some basic metrics and a reasonable tracking of quality. The relationship with subcontractors and clients is managed systematically”).

Do you have these four basic tools? How many institutions do you know that aren’t even using version control? Unfortunately, there are many more than you would suspect.

Comments

comments powered by Disqus