Approach For Transformation
Major Challenges for transformation
One of the major challenges about transforming to micro services is, how to approach it.
- How ensure that the transformation is successful?
- How to transform a monolith to micro services?
- How to transform a gigantic and cluttered business process to a lean and clean product development?
A lot of times, micro services and moving to the cloud are explained as cake walks and missions that would complete with a blink of an eye. This is not true.
If you don’t get the first step right, there are high chances that you would not reach the destination, at least in the desired time frame.
Understand the Purpose & Big Picture
We have to understand that this is a holistic exercise and you should consider the bigger picture when you think of transformation.
The need for transformation as to WHY a transformation is needed has to be clearly spelt out.
These goals could be Attain Business Agility or Reduce operational expense or Customized business offering etc.
This would be the base to define the goals and problems to solve for before the team.
Once the goal is set and vision is created, there must be a value-driven conversation for each & every activity aligned with the goal established.
Product mindset and value stream mapping
For any established goal system or offering are to be truly transformed from state A to state B, this needs to be done without impacting business smoothly and swiftly.
The difference between the traditional way of thinking about and lean development is
- Business or user aligned creation of product roadmap
- Dedicated ownership of the product
- Organizational alignment, ownership, and transparency from sales to pre-sales to product owner to the development team
- Clear visualization of features the peace code software deliveres
- ROI mapped with each incremental software release
Some of the alignment aspects we will see in the practices session
When we are moving from state A to state B, it’s quite essential to assess and understand the current state thoroughly.
This means that we need to do an enterprise-wide discovery. There are many ways in which this can be done.
- The best way is to assess who first, meaning the users of the system.
- Then understand what functions do they use in this system.
- Which functions are treated by which components?
- Where are the components placed in the entire ecosystem this would give a 360-degree view of the system?
It is important to plan holistically in this mission.
Stages Of Transformation
Discovery: The very first page could be Discovery that we briefly touch based in which other than who what which where we can also gather the details of the users’ pain points the delivery challenges with respect to each function and component
Due Diligence: Once this is done, then we can enter into a due diligence phase. In this phase, we define the treatment type to be applied to the components discovered in the earlier phase. Whether a given feature or a component needs to be retired, whether a given component can be replaced by a third party offering, whether the existing system can be relocated to the new platform for the cloud platform and the last one where we have to rewrite and rethink about the functionality and the component as well.
Prioritize Features/Components: Once the due diligence is done then the actual what can begin. The first step of that is to prioritize the feature set n the components which need to be transformed This activity should be logically done for all the components except the ones which are going to get retired. These components and features can be built and implemented. Post the successful implementation, these components can be integrated or launched for the users.
Incremental migration: To continue the transformation, the prioritization, implementation, and integration activity can be done iterated for until all the pieces of software and functionalities are not transferred from state A to state B. There should be careful migration of the existing customers and on-boarding of new customers of software. During the transformation, there is a time where the new platform and lower platform both exist. Hence it is important to create the strategy for incremental migration roll-out and on-boarding. This is related with the existing application and features transformation to the new world but what about new product ideas where there is no existing system.
What about new development
Well, when you have a new product Idea a similar exercise can be done.
- First you think of the idea and its value.
- Then you realize the beneficiaries of that idea that is the value getting created for the specific segment of users.
- You can then paint the user journey is and what users need to do in order to get a value.
- You will also think of whom the system would interact with and what are the different roles involved in making the function or the offering fulfilled.
- Once we have done this you have a fair idea of how the product is going to function, what all different users, different functions and the features are there going to consume it.
- Pick up the most important user and the bare minimum function set that can provide value to the user. This is called as the minimum viable product that’s MVP
- After the MVP is created, Create Epics or high-level features or milestones that the team should implement.
- Each of the requirements for the user flow or user story then can further be placed from this Epic.
- These requirements are user stories, which are then groomed with the development team to build out the software.