Wednesday, April 8, 2015

Technical Debt Experience

Technical Debt is understood as a eventual result of poor design or code.

It often takes toll on the immediate team working on the service or the product and eventually dominoes to the entire organization.

There are numerous reasons why projects and products and more importantly teams are burdened with ever increasing technical debts.

Through my little experience working at a startup, I am in some ways sometimes a contributor and a recipient of technical debt, often causing much needed re-booting of system internals and in some cases 'with a deep breath' - a re-write.

There are few other reasons that add to the technical debt of a team and hence the organization.
One of the most common reasons could be lack of interest or mental lethargy.
Often, this has led very good designers, developers to slack away and script off lousy work that has to be re-worked again.

Contributors to technical debt of a team lose trust within members of the team and hence the organization.

Few ways which we are experimenting and practicing are:
1. Having single owner for a problem.
This means that the problems would be taken up by individual and he/she would take responsibility of solving the problem end to end. He may take help of others in solving the problem, but the crux would be to own the problem and the solution.

2. Release often and release early and effectively.
We are trying to practice this. Effective ways of doing things require focus and time.
Releasing often reduces the regression in the system allowing faster feedback and improvements which strengthen the overall system.

The above two principles can be applied to every single activity.
From communicating with customers --> ideation --> story boarding --> implementation --> marketing --> sales --> operations ->  customer feedback.

Please give your feedback in comments below. Do share your experiences

No comments:

Post a Comment