Using Unblocked to Fix a Service That Nobody Owns
It is commonplace for services to be owned by no one. See how easy it is to understand and fix a service with very little documentation and the magic of Unblocked.
Join the DZone community and get the full member experience.Join For Free
Working in technology for over three decades, I have found myself in a position of getting up to speed on something new at least 100 times. For about half of my career, I have worked in a consulting role, which is where I faced the challenge of understanding a new project the most.
Over time, I established a personal goal to be productive on a new project in half the time it took for the average team member. I often called this the time to first commit or TTFC. The problem with my approach to setting a TTFC record was the unexpected levels of stress that I endured in those time periods. Family members and friends always knew when I was in the early stages of a brand-new project.
At the time, however, since I always wanted to provide my clients with the best value for the rate they agreed to pay for my services, there really wasn’t any other option.
Recently, I discovered Unblocked … which provides the possibility to crush TTFCs I had set on past projects.
Unblocked, which is still in beta, at the time of this writing, is focused on removing the mysteries in your code. The AI platform trains on all the information about your project and then allows you to ask questions and get answers about your project and codebase.
It absorbs threads stored within instant messaging, pull requests, source code, and bugs/stories/tasks within project manager software. Even project information stored in content collaboration solutions can be consumed by Unblocked.
Information from these various sources is then cataloged into a secured repository owned and maintained by Unblocked. From there, a simple user interface allows you to ask questions…and get answers fast… in a human-readable format.
Use Case: The Service Owned By No One
The idea of taking ownership of a service or solution that is owned by no one has become quite common as API adoption has skyrocketed. Services can be initialized to meet a shared need by contributors from various groups within the organization.
This can be an effective approach to solve short-term problems, however, when there is no true service owner, the following long-term challenges can occur:
Vulnerability mitigation – who is going to address vulnerabilities as they surface?
Bug fixes and enhancements – who is going to fix or further extend the service?
Tooling updates – who will handle larger scale migrations, like a change in CI/CD tooling?
Supportability – who is responsible for answering general questions posed by service consumers?
I ran into these exact issues recently, because my team inherited a service that was effectively owned by no one. In fact, there were features within the service that had very little documentation, except the source code itself.
The challenge for our team was that a bug existed within the original source code and we weren’t sure what the service was supposed to be doing. Efforts to scan completed tickets in Jira or even Confluence pages would result in incomplete and incorrect information.
I attempted to perform searches against the Slack instant messaging service, but it appeared that the chat history around these concepts had long since been removed as a part of corporate retention policies.
Getting Started with Unblocked
The Unblocked platform can be used to reduce an engineer’s TTFC by simply selecting the source code management system they wish to use:
After selecting which source code repositories you wish to use, you have the opportunity to add integrations with Slack and Jira as shown below:
Additional integrations can be configured from the Unblocked dashboard:
After setup, Unblocked begins the data ingestion and process phase. The amount of time required to complete this step is largely dependent on the amount of data that needs to be analyzed.
At this point, one of the following client platforms can be prepared for use:
Unblocked Client for macOS
Unblocked IDE Plug-in for Visual Studio Code
Unblocked IDE Plug-in for any JetBrains IDE (IntelliJ, PyCharm, and so on)
There is also a web dashboard that can be accessed via a standard web browser.
Where Unblocked Provides Value
I decided to use the web dashboard. After completing the data ingestion and processing phase, I decided to see what would happen if I asked Unblocked “How does the front end communicate with the back end?”
Below is how the interaction appeared:
When I clicked the
block-patterns.php file, I was taken directly to the file within the connected GitHub repository.
Diving a little deeper, I wanted to understand what endpoints are available in the backend.
This time I was provided the result from an answer that had been asked 11 days earlier. What is really nice is that the /docs URI was also provided, saving me more time in getting up to speed.
I also wanted to understand what changes had been made to the backend recently. I was impressed by the response Unblocked provided:
For this answer, there were five total references included in the response. Let’s take a look at several of these references.
Clicking the first reference provided information from Github:
The second reference provided the ability to download Markdown files from the Git source code management:
The experience was quite impressive.
By asking a few simple questions, I was able to make huge progress in understanding a service that is completely new to me in a matter of minutes.
The “service owned by no one” scenario is more common now than at any other point in my 30+ year career in technology. The stress of having issues to understand and fix – without any documentation or service owner expertise – does not promote a healthy and productive work environment.
My readers may recall that I have been focused on the following mission statement, which I feel can apply to any IT professional:
“Focus your time on delivering features/functionality that extends the value of your intellectual property. Leverage frameworks, products, and services for everything else.”
- J. Vester
Unblocked supports my personal mission statement by giving software engineers an opportunity to be productive quickly. The platform relies on a simple interface and AI-based process to do the hard work for you, allowing you to remain focused on meeting your current objectives.
By asking a few simple questions, I was able to gain valuable information about the solutions connected to Unblocked. In a world where it can be difficult to find a subject matter expert, this is a game changer – especially from a TTFC perspective.
While updating my IntelliJ IDEA client I realized there is even an Unblocked plug-in that I could have utilized just as easily too! The same good news applies to users of Visual Studio Code. This functionality allows engineers to pose questions to Unblocked without leaving their IDE.
The best part is that Unblocked is currently in an open beta, which means it is 100% free to use. You can get started by clicking here. Take Unblocked for a test drive and see how it holds up for your use case.
I am super interested in hearing about your results in the comments section.
Have a really great day!
Opinions expressed by DZone contributors are their own.