Herotalkies is a movie streaming service that allows Tamil audience worldwide watch new tamil movies online legally.
Situation
Herotalkies had hired a team of software developers and an experienced CTO to develop its platform in-house. However, eight months into the development team had various incidents of perpetually delayed releases. The founders were getting worried that they were being overtaken by competitors and they would be too late. Hence they engaged Akrity as a software development consulting team.
When we took over the project we conducted two analysis activities: one, a high level code review of the existing code base to identify any architectural flaws and two, a full review of the software development practices employed.
Diagnosis
The existing development plan had incompletely defined features and no defined priority. Lack of priority on the features meant that the team was not directing itself well
Collaborative workflow methods and tools were not employed. Many times work done by individual developers would become redundant in the next cycle resulting in heavy rework causing huge productivity losses.
The code base was built on top of a weak architecture. We identified that client side and server side tasks were not well bifurcated exposing some security risks
Minimum server side bookkeeping, for handling user payments was missing which was required for handling customer queries
The code and content were so tightly bound that releasing content to the platform needed a new software release
Solution
After analysing the problem, we executed the solution in 3 key steps
STEP 1 Creating and communicating a prioritized product road map
Our first step was to prioritise the application features before putting them under development. We recommended the following thumb rule for features prioritisation, (which the client duly accepted):
1. Revenue generating features |
2. Security enhancing features |
3. Software stability features |
4. Marketing related features |
We called for workshops and heavily prioritised the features using the above thumb rule and
built consensus among all stakeholders regarding the product roadmap. With this categorisation we were able to define a minimum viable product that could be released in the given time frame and the business objectives could be met.
STEP 2 Setting up productivity workflow and workflow tools
We made the following recommendations and set up processes in place to
– Deliver software in short incremental releases |
– Regular status updates for all stakeholders |
– Focus ONLY on highest priority features first |
– Use Trello for defining releases and communicating status between stakeholders |
– Use git as a distributed version control with extensive use of branching and merging |
STEP 3 Execute and track multiple development sprints
The resident software developers at Akrity labs collaborated heavily with the developers at the customer organisation delivering refactored code meeting the minimum design guidelines we had set up. During these sprints we ensured to
Make architectural corrections by refactoring existing code |
Write new code compliant with maintainability standards |
Record bookkeeping of user payments |
Decouple software releases with content release on the platform |
Results
After engaging Akrity the first productive release was made within 40 days of takeover of the project. This was a major achievement for both Akrity and Herotalkies. For the first time customers of Herotalkies were able to make payments using a secure payment gateway and watch movies uninterrupted. The client has fully adapted the new workflow because it helps them
– release software faster, |
– manage features better and |
– produce more maintainable code. |
The client continues to appreciate the work that has been done by Akrity and acknowledges the role of Akrity labs in reaching a really critical business objective in such a short time.