The modern software development workflow is currently stuck in a local maxima where developers are forced to use a myriad of tools and SaaS services on a daily basis in order to do their jobs. These SaaS companies, smartly, try to be best-of-breed of their own niches but time and time again ignore how well they fit into the landscape of tools that a developer must master in order to accomplish meaningful work.
On a daily basis a developer might have to interact with many services the image below shows.
Those are a lot of tools each requiring a fair amount of time to ramp up in order to get familiar with them.
A follow up question that you might ask is: how complicated is to setup a workflow like the above for a company? We will point out some of the pitfalls that we have noticed from our previous experience in this industry.
People and Resources to setup a Workflow
Let’s assume for a moment that you want to set up from scratch a well functioning workflow for your company, ideally covering most of the parts that we mentioned previously. The minimum effort required, assuming that you don’t have infrastructure that you own, is to connect all the integrations in the workflow.
A big drawback is that you will likely need a senior developer to select the tools for each task and to decide how complex the workflow will be. On top of that, the developer needs to work to ensure that the setup is properly done and it follows best practices and the price is a developer doing the integrations instead of allowing them to focus in their domain and solving the company’s core problems.
In case that you want to install the tools on-prem you might require to invest more time and effort, and start thinking about having a dedicated DevOps team to take ownership of the tools.
Another pitfall in setting up a sophisticated workflow is that many times there are biases about what constitutes a best practice and how it should be implemented. This depends on the previous experience of the developer that will decide the complexity of the workflow and set up the integrations. The harm here is that if the developer experience is not up to the circumstances it could result in short cuts by neglecting important tasks leading to bad outcomes at the product level.
Beside the problem of managing, maintaining and using the tools that are part of each workflow there is another entry barrier that might make it difficult to adopt it: the maturity level that your company has in terms of best practices for the software development life cycle (SDLC).
Understandably, not all companies are in the same page in terms of maturity level given different factors, such as:
- Lack of time to implement top down ideas from more senior developers
- Lack of a team that can take ownership of the infrastructure required
- Lack of knowledge of best practices
The lack of sophistication can undermine the process of building and releasing software consistently, therefore leading to the company to be more prone to have a bad image with their users, as their product is more unstable. Another disadvantage is the loss of revenue due to downtimes or lack of adoption from users, finally another important problem to mention is that it generates toil in your teams and creates unexpected outcomes.
For that reason having best practices implemented as part of the workflow in an out-of-the-box fashion can level up all companies to avoid some of the most common problems.
There is nothing wrong with having different tools to perform different tasks of the workflow, however you might need a big team of DevOps to afford that luxury. Not all companies can afford a team dedicated to install, maintain, audit and upgrade those tools whenever it is required. Also, there is a significant cognitive load in learning to leverage each of those tools in a meaningful way.
We at Xtages believe that there is a better way to implement these practices out-of-the-box with minimal effort and without friction for developers. If you are interested in learning more visit our website to stay tuned as we will be launching soon.