In software development, we’re always working to improve the way we plan, build and deliver software. The most popular ways we do this are often by applying automation, DevOps or Agile concepts – or a combination of all three.
However, unless we have a traceable process, something is always going to get missed and/or we’ll have to reinvent the wheel each time the same situation arises. In that regard, traceability is the linchpin of process improvement.
Process is great but a double-edged sword. It streamlines work, makes it more efficient and democratizes work. With process, there is not just one person who can do a job. Anyone who knows the process can pitch in and help out. But there is also an ugly little secret…
Process is awful! It almost always involves different teams with different priorities. It invariably involves multiple people. It doesn’t respond well to change. And it takes time to get it right. Understanding the ultimate goal of a process improvement initiative may not be immediately obvious to everyone and without a clear goal, your initiative can fail.
Tasktop sits in an interesting position within an organization’s process improvement initiatives. We help different teams coordinate, but only after they agree on their new process. During our sales process, we proactively help our customers come to agreement on what they want. We like to call this the marriage counselling portion of the cycle. The physical implementation of their integration is usually the easy part. Getting different teams to agree is much harder.
And we’re no different.
Tasktop uses Tasktop Integration Hub to integrate:
- Our CRM tool
- Product management tool
- Agile tool
By practicing what we preach, we understand our customers’ pains and we’re using our own tool to help solve them.
Here’s what I’ve learnt from our ongoing efforts to crystallize some of our internal processes:
Don’t boil the ocean. Identify the smallest, most impactful bit that needs to be addressed first. Get a win between teams. This builds momentum and encourages continued effort. Without ongoing buy-in from the various stakeholders, your initiative will stall. As an example, we didn’t start out with a full integration of our CRM tool, Product Management tool and Agile tool. We started out by synchronizing Features from our Product Management tool to our Agile tool. Only after that process was running smoothly, did we feel comfortable to scale up to include other tools.
Start off manually. Don’t automate. As Michael Hammer said “Automating a mess yields an automated mess”. Yes, this will take a certain amount of energy (some will say “waste”…). There will be manual updates. People will complain. It will take a bit more time in the beginning, but think of it like an investment. Before we began automated integration of our CRM tool, we had our field email in requests. It took time to pull these into our Product Management tool. It wasn’t the most efficient method, but it taught us a lot. The additional time spent now can yield big dividends in the future. Why? Read on…
Starting small and inefficiently enables you to change your mind. Not only will you be able to see where you can make improvements, but the upfront costs aren’t that high because you didn’t spend months building out an automated process (the ideal, but misguided solution). Instead, you documented the process (very lightweight) and when you see areas for improvement, you don’t have to rebuild anything. You simply update the documentation. You’ll have lower overheads, so you’ll have fewer objections to altering the process. So we quickly realized that the emails being sent in didn’t have enough information for us to properly triage them. We provided email templates and changed them many times until we were all happy that they provided the necessary information. Changing up an email template was quick and didn’t cost anything. We were able to make changes quickly.
Now you’re first process is working nicely. You’ve iterated and verified that it fits the needs of your stakeholders. You’ve confirmed that it works within the bigger picture. Now it’s time to automate. Now you can build out your tools. You can implement a more sophisticated integration strategy (a la Tasktop). Now that we were all happy with the necessary information in the Request emails, we could ensure that our CRM tool and Product Management tool had the proper fields set up to allow a smooth integration of that information.
Now it’s time to identify the next little bit you need to bite off. See how it folds in with the previous process. Does it change what you’ve been doing? If so, you can pivot quickly. If it doesn’t, that’s a sign that your first process is working as designed. Keep the momentum going. As I said before, the first part of this process was to integrate Features between the Product team and our Engineering team. We automated that well before tackling the Requests coming from our field. The most important part of scaling is to realize that as your processes expand, you have to follow the same methodology. Start small, start inefficient, iterate quickly and only then automate.
A process takes time
I could talk about the ugly underbelly of certain processes, but it would take too long to explain and Randall Munroe has already done a better job than I could to illustrate my points.
And finally, I’m reminded of the story of the architect who waited a year after constructing a building complex before installing sidewalks. Sure, people got a bit muddy. There wasn’t a clear path to go from point A to point B, but people figured it out. Then a year later, the “process” of walking between buildings was formalized with cement. You know there were some people upset by muddy shoes. People had to walk across wet grass from time to time. There was some cost to that, but that cost ends up paving the way for the best overall solution (I make no apologies for the pun). Now I don’t know if this story is true or not, but like the best stories, it’s truth doesn’t come from whether it happened. Its truth comes from its wisdom.
Creating a good and sustainable process doesn’t happen all at once, it takes time and it’s, well…it’s a process.
Speak to us today to see how we can help you define your process and integrate your best-of-breed tools to greatly enhance your organization’s software delivery.