Refactoring and Restructuring for Reclaiming the Re-investment
·
Applying
Lean thinking
o
Eliminating waste
·
Analyzing
Product suits [products can be of different nature - claimants of the space] <= [create knowledge]
o Analyze all procured products sets you might have
§
Product Type – 1 [Clothing infra]
·
Sub-product type – 1
·
Sub-product type – 2
·
Sub-product type – 3
§
Product Type – 2 [Toys infra]
·
Sub-product type – 1
·
Sub-product type – 2
§
Product Type – 3 [Books infra]
·
Sub-product type – 1
·
Sub-product type – 2
§ Product Type – 4 [...]
· Sub-product type – 1
· Sub-product type – 2
o
Different kinds of risks involved and running with those risks
o
Legacy
system which needs to be rid of
o
Non-used
stitched product (3rd party, middleware) or components
o
What
can be disposed form which all products, stitched 3rd party
products/components
o
Why
the above to be marked for elimination
o
How
did you arrive at conclusion that they need to be slashed out and how do you see the removability
o
Who
all will be impacted due to the elimination [which all customers, which all
employees, which all out sourced partners]
·
Side
effects
o
Broken:
Because of elimination process which all product/components are affected and
need rebuild – to be assessed to report on the cost overhead.
o
The Termites:
Because of the idle non-re-factored code how is the product or component
staying with infected safety & security threats and being launched to
customers still.
o
Defects:
Because of the idle non-re-factored code how much is the code infected and
requires core design changes, principle changes etc..
·
Motivation
o
Check what the motivation behind eliminating
waste is!
o
Whether eliminating these wastes is proving any
insight to implement required changes or new implementation and whether that is
motivating?
·
Re-factor [c
o
Eliminate non required eco system
o
Eliminate legacy component
o
Eliminate 3rd party dependency as
much as possible
o
Eliminate Safety and Security threats
o
Eliminate Maintenance Cost
o
Eliminate multiple management & change
control systems on your defined levels
§
Ex: GIT, TFS, SVN, CVS…=> Code set-1, Code
set-2, Code set-3…
§
Ex: JIRA, TFS, Bugster, QDDTS
·
Restructure [Optimizing the whole]
o "Modularize" for effective management
o
Re-think on how to restructure to eliminate
impacts if any
·
Reclaim [Optimizing the whole]
o
Post eliminating the waste from all the above, and
post restructuring => propose new component, new design, propose new
maintainable architecture functional modules/components/products/subproducts.
o
Reclaimed space can used as pluggable interface
or can be envisioned 5 years new product
as well.
·
Re-invest [Optimizing the whole]
o
Sell the new functional module/component/product
generate new set of revenue.
·
Let Go
o
Unless revisit/retrospectives happens on
periodic basis, understanding of let go components are not possible.
o
So retrospect periodically and LET GO of legacy
annotations.
·
Repeat
o
Repeat the above loop
Devesh Kumar PGDASDD, MS, PMP®, PMI-ACP(SM), MBA, MSF
Project Manager, Finance & Risk Technology, Thomson Reuters India
No comments:
Post a Comment