Don't Repeat Yourself! Write The Software Of Your Business
Photo by Markus Spiske on Unsplash

Don't Repeat Yourself! Write The Software Of Your Business

In Computer Science, there is a core concept that if you need to do a thing more than once in a program, instead of rewriting or even copy/pasting the same functionality multiple times, you isolate the bit of code into its own callable function. Following this pattern makes sure you are being efficient and adhering to the rule of Don't Repeat Yourself, also referred to as the DRY principle. 

This works is because programs are well understood, mapped out processes for the machine to follow. Since machines can't do their own thinking, well not yet anyhow, developers need to tell them wha to do, step by step. No one ever would say "we have not defined that function, the system will just figure it out." That would be pretty silly.  

""

However, in our 'real world' systems and processes involving other people, we make assumptions that people will fill in gaps in process and 'just figure it out' all the time. This leads to a lot of reinventing the wheel and very often doing the same thing in slightly different ways time and time again. Basically the entire team repeating itself with each iteration of every process. Not only a time consuming way to go about it, but also a frustrating world to live in where each project has just enough variance in how to do something that it forces errors occasionally. Almost just as bad, it slows down the ramping experience for anyone new to the system as there are multiple ways to do the same basic thing instead of one consistent way to approach it.  

So what are we to do? I propose that we treat our projects more like computer programs and borrow some of the best practices that have evolved from that world, such as the DRY principle. 

If we start treating each of our business projects and processes as part of a much larger holistic mechanism, we can improve how the individual pieces fit together. But we can also start to see where we are repeating ourselves. Places where manual recreation or re-entry of data is happening start popping out and we can find better data storage and retrieval systems. Parts where everyone is doing their own version of rewriting the same emails can be standardized through shared templating. Even teaching people the ins and outs of how a system works can be optimized once we understand where most people get stuck and what parts they need to 'unlearn' to make do with the reality of the system 'really' works.  

Once we have this holistic overview as our lens, we can see legacy parts of our processes that should be abandoned or rewritten much more easily. Removing the silo of 'it works, don't touch it' many older processes have built is a challenge, but it is an important part of improving efficiency overall and scaling. If we don't have this lens, just going about business as usual and flailing one project to another is not going to give us the ultimate results we want, which hopefully is providing clients with the most value.  

""

This shift in perspective does not happen overnight and it a process unto itself. Stepping back and reexamining what the real focus is of your organization is the hard to do first step, especially in a busy world where we are all overfilling our plates and doing our best. Making sure you define that focal lens, sometimes referred to as a 'North Star' is critical as you start to map out your processes. It is hard to make a map if you don't know which way is up.  

It does take some courage and commitment to do the work to realign your organizational processes, but the rewards are vast. Mapping out what systems exists and where improvements can take time and often can be sped up by an outside perspective that does not have the same biases and blinders on that naturally develop from working around and in the system over time. Once you see how many steps you can eliminate or combine across the system as you better align with your core mission, you will wonder why you didn't do it sooner. It is once process you will want to repeat a few times.  

---

If you want to evolve your processes, let's talk. Reach out today at processdigitalconsulting.com to start the conversation!

If only we could version control decisions.

To view or add a comment, sign in

More articles by Dwayne McDaniel

  • Getting In The Right Lane Early

    This is my first post after driving from San Francisco to my new home of Chicago. I was very fortunate to have the…

    2 Comments
  • Don't Let The Blank Page Intimidate You

    Writing is easy. Writing is hard.

    2 Comments
  • "If This, Then That" In The Bigger Picture

    One of the topics people assume I am talking about when I talk about Process Management and improving overall…

    1 Comment
  • Understanding Swim Lanes

    In a discussion the other day I used the term 'Swim Lane' casually and it brought the conversation to a halt, as the…

    4 Comments
  • Some Things Require Waterfall (Sorry Agile Only Folks)

    If we are building a house, it would be amazing if the plumber, the electricians and the interior decorators could…

    4 Comments
  • Stay Simple

    "Everything Should Be Made as Simple as Possible, But Not Simpler" -Roger Sessions paraphrasing Albert Einstein. No…

  • Keeping Focused On One Idea

    "Take back one idea. Focus on it and implement it.

    1 Comment
  • Getting On Board With Board Game And Board Room Strategy

    What do games like Pandemic, Between Two Cities and Terraforming Mars have in common with managing a large scale…

    2 Comments
  • When You Are At A Crossroads, Look All Directions

    I you subscribe the the theory of infinite diverging multiverses, then you believe that each and every decision any of…

  • The Data Must Flow (And Not Just Into Its Own Silo)

    Laziness is one of the traits that serves computer scientists well. Really it is an aversion to repeating themselves at…

Others also viewed

Explore content categories