mrc's Cup of Joe Blog

Join us in exploring the world of modern development, evolving technologies, and the art of future-proof software

4 simple ways to improve developer productivity

ProductivityLet me tell you a quick story about two similar development projects at two very different companies. Both companies were building extranets/portals–applications that let their customers log in, view their data, and place orders online.

Both had similar requirements. Both were nearly equally complex. The big differences between the two projects: One required 3 years, while the other required 3 months.

What caused this huge disparity?

As it turns out, the first company made a number of mistakes that killed their developer’s productivity. What were they? I’ve pulled out the most important lessons to learn from this story, and listed them below. With that in mind, if you want to maximize your developer’s productivity…

1. Don’t try to reinvent the wheel

The first company tried to build their application from scratch, when they were probably better off using a development tool or code from another project. The fact is, building new applications from scratch is often unnecessary. Why is that? Rather than explain it myself, I recently ran across a great quote that explains the issue beautifully:

Read Quote of Franz Maruna’s answer to What are the best ways to increase productivity as a web developer/programmer? on Quora

2. Use the right tools

Do you want to know the biggest difference between the two companies in the story above? One company used a development tool, and the other one did not. I don’t have to tell you which is which.

You’ll find all sorts of software that can shave precious time off of your development projects. How do you know which one to choose? What features should you look for in development software? This article outlines 7 different areas you should consider.

3. Minimize distractions

A growing number of research studies have focused on the effects distractions have on our minds. The results: We can’t shift our attention from task to task as seamlessly as we thought. One study found that it takes 15 minutes to get our minds back on track even after a simple distraction, like checking email.

So, what types of things distract developers? Besides the regular culprits like phone calls and emails, developers face other distractions, like end user reporting, solving unforseen tech problems, attending useless meetings, etc… These are tasks technically defined as “work” that pull the developer away from the development project, thus derailing their focus.

In the story above, meetings were a big problem for the first company. They had meetings for everything. They had meetings to plan for meetings. How can developers stay focused on their project if they’re constantly attending meetings?

Of course, meetings certainly aren’t the only cause of distractions. If you want to improve developer productivity in your company, you must determine which tasks regularly pull developers away from their projects…and then work to minimize those distractions.

4. Build it right the first time

One of the biggest lessons I’ve learned in my 30+ years in application development: Take the time to do the job right the first time. This requires a good amount of planning and a heavy focus on architecture. It means you build applications with the future in mind.

I know what you’re thinking. This doesn’t sound very productive. The fact is, developing an application with the future in mind does require more time upfront. But, it saves all sorts of time down the road. For instance, in the example above, the first company’s project was plagued with poor planning. As a result, they were constantly going back to fix problems. Which is more productive: Taking the time to plan correctly, or going back to fix problems?

Here’s another example of what proper planning and good architecture can do for a development project: When we built m-Power, we obsessed over architecture. We wanted flexible architecture built on open frameworks that let m-Power constantly adapt to changing tech trends. As such, when the big mobile app trend rolled around, that open architecture let us quickly build mobile capabilities into m-Power. I can’t imagine how much effort mobile would’ve required had we not focused so intensely on architecture at the beginning.

Wrap up

Do you development projects take too long? Are they regularly late and over-budget? If so, following the steps listed above may very well be the key to success.