This post is about me coming to terms with, and understanding some of the mistakes I’ve made of the past year with my company, what I did about them, what I learned and how I’m going to ensure mistakes aren’t repeated.
It’s pretty personal. Writing honestly about where you’ve screwed up is always hard. I hope this helps other people to maybe avoid the same mistakes I’ve made. I certainly don’t come off looking too clever here, but for me, this post is to bring closure to a long period of self-doubt and hard reflection.
In December 2010, I formed a small company so that I could build great products and offer my expertise and hopefully, quit my day job, work for myself and, eventually, rule the world.
In doing this, I conceived and started working on a product, Confman, which, initially was intended to be used as a tool by conference organisers to keep track of costs, tickets and venue expenses.
It quickly snowballed as I thought of more and more things it could and couldn’t do. Just now, the feature list is so long that it’s well beyond my ability to produce anything in the timescales which I allowed myself.
Why did this happen? Because of scope creep, my love for building new things and solving problems, because I care passionately about the problem domain – but large this happened because of me , I lost focus on the problem I had set out to solve and it grew arms and legs because I tried to do everything at once.
In short, the problem was a lack of discipline and pragmatism on my part, which is certainly not ideal. Feeling like I had to rush things out because I only had limited time to work (my day job that pays my bills is as a Ruby Engineer with FreeAgent Central Ltd) was folly. As a craftsman, I know that the best jobs take time; that things worth doing are worth taking the time to do well.
In addition, it felt like I had something to prove, that I had to ship quickly and rush though or somehow I don’t deserve to be in business. This is down to pressuring myself to attack every single problem a) at once and b) by myself. Neither of these things are true or useful.
I’ve learned the hard way a lesson that’s so blindingly obvious now: the reason Confman hasn’t shipped yet is because of me. It’s because I let myself get in my by making these pretty fatal mistakes, and I now understand (after screwing up so bad) exactly how to go about fixing things.
It’s hard to admit that you have a problem and harder still to admit that you are the problem.
How I fixed things
The underlying cause of my issues was self discipline. Because The Happy Geek Ltd is just me, I’m solely responsible for my motivation, my planning and the strategy for the company. I wasn’t meeting any of these responsibilities well.
Like a good geek, I decided that better tools will make it easier for me to focus and deliver what I need. The very same tools I use in my regular day job – where I do get things right would force me to think of my duties to The Happy Geek more like work and less like a hobby.
That set, I also had to take a big step back and have an aggressively pragmatic look at Confman, my plans for it, and what exactly I’m going to be able to release and when. Trello came in handy for sifting through what I wanted to do, what I needed to do and what I could do.
I added every single feature of Confman, implemented or planned, as a card, and when that was done (there were a lot of cards – too many). I went back to the original RDD spec that I’d written for Confman and settled on 5 cards which encapsulated what I initially intended to do.
These went straight into Pivotal Tracker, ready to be worked on.
Every two weeks, I go back into Trello and Tracker and reconcile what’s been done with what I’ve still got to do. Every two weeks, I repeat the prioritisation exercise I carried out initially to ensure that I"m keeping all my focus on the smallest possible units.
None of these things are great secrets – they’re fairly standard Agile development practices. The challenge for me was changing how I was thinking about the work I was doing on Confman, focusing on my goals and getting things done.
There were some personal things I had to get over too:
I had to ignore my competitors . People I respect and admire are now building similar products and services. I started worrying that what I was building wouldn’t be able to measure up to their work. This was hugely demotivating.
They’re working in the same problem domain, but they’re solving things differently to me. My focus is on building the best thing I can, the market can decide if it’s good enough or not – the exact same test that the competition will all have to pass.
I had to be willing to sacrifice all my free time for my work . This was particularly hard for me to convince myself of. I don’t give all my time to work on The Happy Geek stuff; but I’m always willing to. If I have to work on, then everything gets put on hold. Luckily, I have a very understanding and supportive Fiancé.
The biggest thing for me was to be willing to fail, totally and utterly, to be wrong, to be second best, to be anything other than successful ; sounds strange but I’m more relaxed about working on Confman because I’m not building it up as this massive pillar of perfection in my head any more.
I may write more about this some other time — but this is all I have to say just now. This is what’s working for me, it might not always work, but I’m always happy to adapt and change.