Interview Story - Accomplishment
I was working as a Technical Project Manager for our ConsumerTech CRM application. This CRM application is a unified desktop application used by the ConsumerTech Contact Center agents across the globe to serve ConsumerTech Customers. It is a multi-channel application supporting Voice, Chat, and Email channels. It is used by around 75,000 agents and over a million transactions are created per day.
We received an ask for transformation of the entire CRM application in a phased manner. This was a 10-year legacy application, with projects following the Waterfall model and the architecture was Monolith with UI (js module) and Backend (Java) running in the same codebase. In addition to being a performant CRM, it also provides remote diagnostic support, product registration, ConsumerTechCare Agreement Sales and Repair enablement.
I was involved in leading 4 tracks within the larger project. The technical side of the transformation involved conversion from Monolith to Microservice architecture of the backend functionality, splitting the UI(js) into multiple independent modules and improvement with respect to the deployment (CI/CD pipeline).
Since the transformation was phased, it started off with the key modules I was in charge of. The Product Owner came up with an initial set of requirements in the Project Requirement Document (PRD) format.
I then began analyzing the legacy code and proposed the missing requirements to the Product Owner. I had hands-on knowledge of the legacy system as I had worked as a Java/JS developer for the same. We had multiple meetings to go over the project and things kept evolving based on my analysis. The requirements were never frozen.
The duration of the project was divided into two versions (V1 and V2) with the first release being at the end of V2.
At this point, I proposed the Agile way of working. My goal was to shorten the development time and catch any problems more quickly. I also recommended an agile coach for the team and got the team introduced to the agile framework.
I faced multiple challenges at this point. The UI team was very new and it was hard for them to understand the features. The backend team was experienced as it was the same team working on the legacy application but they were resistant to the idea of the agile model. They were not ready to start the design with the ever increasing/evolving requirements. Instead, they wanted a firm set of requirements.
To keep the project moving forward, I worked with the technical architects to design clearer project specifications for both UI and backend teams. I studied the Microservice framework as well as the new UI technology proposed to be used (vue js). I also spoke with both teams to give them a firmer understanding and increase my clarity of the final product.
Working with the Product Owner, I explained how the Agile approach applies User Stories to define project requirements. Because she wasn’t familiar with this approach, she didn’t want to modify their Project Requirement Document into the User story format. So, I started writing the User stories with proper acceptance criteria. I shared the same with the management and the Product Owner.
She saw the value of this approach. From there, the Product owner also started writing the requirements in the User Story format for the newer requirements. This became the norm later on. I followed the same approach for all of my 4 tracks including the end-to-end flow which involved the interaction between the various web modules of the product.
With the initial project requirements more clearly defined on this massive undertaking, my teams were on board and it was time to dive in. In parallel, I worked with the technical leads from the backend and UI modules. I spent the first two Sprints in the design and estimation (Story Point Format) of the User stories associated with my track and shared the same with the Product Owner.
From there, we developed a Minimal Viable Product (MVP) with buy-in from the Product owner. I was able to calculate the team velocity after a couple of sprints. Based on this I was able to estimate a tentative end date for the completion of MVP which also included user acceptance testing (UAT).
The first release was planned after 18 months.
At this point, the teams felt comfortable with the concept of Agile, got into the rhythm of sprints, and the project started building momentum. One challenge that came up was breaking down the remaining scope of work into Sprint sized pieces. To keep work on track, I introduced Sprint ceremonies as part of our model, which involved creating an overall Backlog, backlog grooming, Sprint Planning, Sprint Review - Retrospection and Sprint demos.
Thus I was able to tackle this big problem/challenge by breaking down the overall requirements into granular work structures(User Stories) which helped in delivering quality results.
This specific transformation increased the efficiency and improvement of our customer service agents. Specifically, it reduced overtime hours by 10% for agents serving the customers, approximately 8,000 hours per month.
Beyond my 4 tracks, I was also involved in the technical architecture of the overall application. Based on my experience I proposed solutions to others challenges. I also provided training on the approach followed to the other tracks involved in this application. The Agile method approach, User Stories, Sprint Ceremonies, and managing the evolving project requirements became the norm of working across the application. My work on this project also earned me a promotion.