Skip to main content

Pivot and Refatoring

Refactoring is an essential -if not the most critical - skill for many reasons. In the context of a startup, especially.
The lifetime of a startup is determined by how many pivots are left. To increase this number, I have to accelerate the "build-measure-learn" cycle.
Eric Ries in "The Lean Startup" (p 168, bottom):
The company pivoted [...]. On the sufaces the pivot seems quite dramatic in that the company changed its position, its name, and its partner strategy. It even jettisosoned a large propotion of the features it had build. But at its core, a suprising amount stayed the same. 
First of all, here ist the hedgehog concept again:
But at its core, a suprising amount stayed the same.
And here ist the part about refactoring:
It even jettisosoned a large propotion of the features it had build. But at its core, a suprising amount stayed the same. 

The company had factored its work into a structure. That set allowed a set of features in the form of a product. A pivot changed the product (besides other things). Therefore I would have to break up the factoring into its parts and reassemble it.
This seems not like refactoring at first, but I would have to refactor my code in such a way that the change of product becomes trivial.
Mastering refactoring means that the building part in the "build-measure-learn" cycle reduces dramatically and accelerates the cycle. This is especially important when I am on a project for some time. In the beginning, the baggage of features is quite light, and fast-changing is easy. Later not. This is the point where refactoring becomes crucial.

Comments

Popular posts from this blog

Futureproof Software

From here:  https://dzone.com/articles/the-secrets-of-futureproof-software Self-healing Self-patching, or more broadly, self-updating Backward compatibility Dynamic adaptation/ability to evolve over time Intent-based Made up of reusable futureproof components

Choose Projects you do NOT do!

Inspiration from FluentC++ Choose which project NOT to work on. Be clear what you want and which projects are toxic. Keep the Hedgehog-concept in mind. Be sure that you are a) deeply passionate about the project b) the project can be the best in the world quality c) you can earn money with it If one of the three points is not met and not realistic soon don't do the project. Play around with it privately. Maybe you can pivot there so that it meets the criteria.