Add, Improve, or Automate Processes

6 minutes
From

editione1.0.1

Updated August 7, 2023

While some people may embrace a well-defined process that provides structure, it may bring a negative connotation to others who value autonomy and independence. At some point, all programmers feel the frustration of dealing with โ€œred tape,โ€ or the lengthy process to gather the necessary approvals to move forward with a decision. But processes arenโ€™t always a bad thing, as they provide a tremendous amount of value.

Whether you work for a large Fortune 500 enterprise, a development agency, a small scrappy startup, or even freelance for a living, you will follow processes every day and probably even develop new processes. Building a process provides value because it allows you to standardize a set of steps to complete specific tasks. By doing so, you are able to increase efficiency and scale your throughput by training others to follow the process.

When you take a set of steps, which may need to be done in a specific order, and formalize them into a process that can be followed by anyone anytime that task needs to be completed, you add value by creating consistency. Youโ€™ve defined a standard way of doing something that can be completed the same way every time, regardless of who is performing the task.

Assuming youโ€™ve documented your newly formed process, you unlock numerous advantages. First, you can reference the steps in the process at any time, which can save you in the future if you forget how to perform a task you havenโ€™t done in a while. Sometimes a process only needs to be performed on a monthly, quarterly, or yearly basis. As long as you have your process documented, you can always reference the documentation and be confident youโ€™re performing the steps correctly every time.

Second, you can scale your process by training other people on how to perform the tasks. Whether itโ€™s a sales process or a deployment process, youโ€™re now able to train an entire team on how to perform a specific task. You have just created value.

Furthermore, processes can be measured, and anything that can be measured can be improved. If youโ€™re able to define specific and quantifiable metrics that accurately reflect the efficiency of the process, you can track how well youโ€™re performing the process. Once you have a baseline for how efficient your process is, you can work towards refining it to improve that efficiency even further.

And lastly, in many cases processes can be partially or fully automated. Processes often define a set of repeatable steps, and if some or all of those steps can be automated with scripts, programs, or third-party tools, you may be able to reduce the burden on teams and individuals who rely on those processes. The time saved by automating a process adds up over time and can provide a significant amount of value for a company depending on how often that process is performed.

So, as a developer, how can you add processes to add value? Start by observing your day-to-day tasks, and look for things you repeat over and over again. A good rule of thumb is if you repeat a task more than three times, thatโ€™s a potential candidate for a process, if thereโ€™s not already one in place.

โ€‹exampleโ€‹
  • Help your team formalize an onboarding process for new hires.

  • Help formalize a deployment process to ensure the code getting pushed to production has been thoroughly tested.

  • Add a process around code reviews, even if itโ€™s just adding a standard template for the description to include testing instructions, a change log, multiple approvals, or anything else that should be filled out before opening up a pull request.

  • Propose adding, modifying, or removing steps in the software development lifecycle that you think will help your team work more productively.

  • Push for better-defined requirements from the product team before you begin designing the technical solutions.

  • Push for more-thorough design documents before you and your teammates begin implementing a solution.

  • Document the process for applying a hotfix to a release build.

  • Document the steps needed to manually run a set of commands from the command line to perform a specific task.

  • Help formalize a bug reporting process to make sure youโ€™re gathering the required data every time, such as date first seen, browser version, the userโ€™s role, and steps to reproduce.

With a little creativity, you can create a process around almost anything. And as you build out these processes, youโ€™ll start to see what works and where the processes break down and need to be improved. Then, you can rework them to accommodate a new use case and improve the process. This improves efficiency and reduces errors because itโ€™s documenting a standardized way to perform a task. Think of it like bumper lanes in a bowling alley or swimming lanes in a lap pool. The process is supposed to guide someone to perform a task while reducing the chances of making costly mistakes.

Processes are a great way to formalize a set of steps that others can follow. Processes give you leverage to scale those tasks at the expense of adding rigidity and extra work. Keep in mind that too much process can be a bad thing, so thereโ€™s a balancing act youโ€™ll need to look out for if youโ€™re looking for areas where you can add or improve a process.

Add Value without Writing Code

While most of the ideas in this section so far have involved coding, there are other ways to add value without writing any code, such as writing documentation. Often overlooked by both young and experienced developers, the ability to write clear and concise documentation will set you apart from the rest of your teammates.

Transferring knowledge through written sources has been used by almost every civilization thatโ€™s ever existed. Thereโ€™s a reason itโ€™s so valuable, and writing is a skill that anyone can do and anyone can learn.

As a business matures, knowledge is gained. That knowledge is valuable, and it probably took a lot of effort on someoneโ€™s part to build an understanding of a specific problem, a customer pain point, or a nuance of the industry. When you work hard to solve a problem, fix a bug, or develop a new feature for a customer, try to document what you learned on an internal knowledge base.

Youโ€™re reading a preview of an online book. Buy it now for lifetime access to expert knowledge, including future updates.
If you found this post worthwhile, please share!