#FailStory: Why so damn perfect
Posted by
Łukasz Marek SielskiRelated reading
There are fairy many blogs about success. I enjoy reading them, but they don't teach me much new. In general they say about the same thing, values and rules. Recently my friends followed the trend of FailCamp and I did regret I couldn't join. Anyhow it reminded me that not only successful people have something to share.
Don't get me wrong. It's not about telling - it all went wrong. It's about telling - I know where is my fault, don't do it!
And here it goes. First. Most important. Focus!
From last project I started to use small and handy app called Toggl. I love it, because it makes time tracking so simple, that it's pathetic to say "another thing to remember". In fact it helps a lot, when you want to prove where your time goes and what kills your productivity. In the end, it's not only defensive mechanism. Or, more, it defends yourself from your own demons.
I made an experiment. Currently in my free time I work on some own projects and I have daily habit to spend equal time on it each day. I did my metrics to find out slow progress and it went out that:
- 10% of my time was planning and defining the goal
- 10% of my time were actual features
- over 60% of my time was spent on refactoring
- 20% were distractions
Worst was that this focus on perfectness didn't gave my any results. But without it work weren't moving at all. After long swapping specific elements I have found one solution and one big issue.
Solution: Spend some time on discovering BDD (Behaviour Driven Development) and actually use it.
- PRO It give goal/feature reason for code
- PRO It shapes beautifully your interfaces
- CON It seems nice on model level, but begins nightmare on client side
- CON(PRO?) It challenge your skill to name your goals
And that last point mimic one of biggest issues of mine and of many project I know, worked with/in, watched, etc.. Goal. Me, as well many business decision makers and also developers who want to do "NEXT BIG THING" work as follows:
- I will do next big thing
- I will put bit of all that is elsewhere (do a lot of cool charts, nice wire frames, great designs)
- I will do cool and neat code (something awesome!)
- I will pitch it and get huge funding (millions)
- I will be rich (as money is only goal I can name)
When, according to success blogs (which now have more sense), should be:
- I observe people and find the issue
- I work out possible solutions for the issue
- I describe solutions by human language (BDD Features)
- I code a little, I ship, I validate, repeat,...
Hope you enjoyed. Thanks