Processes are for the team

Hamid Shojaee makes some interesting points in the article “5 Common Sense Practices Dev Teams Should Avoid”, but I’d like to focus on the 2nd point. Hamid suggests that procedures and processes should not always be followed as they might be limiting to the members of the team, and that they should be taken as suggestions or guidelines rather than “The law”.

What is a process?

This is one point I would strongly disagree with. Processes are implemented to mitigate risk involved in getting a project from start to finish, and any deviation from the designed process is an open invitation for things to go wrong.

When you break down a process, it’s really just a set of rules that define the metaphorical “box” you work within. Learn to work within the box, rather than pushing against it, and things will be much more simple and far less frustrating.

Processes are too limiting!

The feeling of being limited by a process is, no doubt, a common one amongst the average developer. I’ve been there many times, as have many of my coworkers. As far as I’m concerned, processes are part of any job, and they’re there to keep things running well.

If you, or your team, find that the current process is too limiting and not efficient enough; break it down and design a new one.

Designing a new process

As developers we should not find designing a new processes an overly difficult task, since analysis and design are (or should be) a big part of our skill sets. Treat your process the same way you’d treat an application.

• Analyze and determine the problem(s)
• Brainstorm solutions to the problems and run simulations on them
• Analyze the solutions and go with the best ones
• Implement and analyze
• Start again

Processes change

At least, they should be. A process doesn’t need to be limiting, in fact, I don’t believe it should be! A process should be continually updated in a planned and purposeful manner. Processes should be designed around the current team – their experience, skills and work habits. Design something that works well for them and makes their jobs easier and allows them to work more efficiently.

If the people you have in the team are growing and learning, your process needs to grow with them. The process should be part of what is making them grow and it should be a tool to help them learn.

A good process is dynamic, will suit the people who have to work with it, and help them deliver quality work on a consistent basis.

If you like this post then why not share it?
  • StumbleUpon
  • description
  • Technorati
  • Digg
  • Slashdot
  • Design Float
  • del.icio.us
  • TwitThis
  • Reddit
  • E-mail this story to a friend!
Add devjargon( ); to your RSS Updates.

Get new posts sent to you by email for free!

0 comments

  1. Get things started with the first comment.

Leave a Comment