Sunday, 24 March 2013

Keeping up promises

During last years we've made a lot of promises to our users. We have promised features, less bugs and regular frequent releases. As it turns out it was impossible to keep up these promises. Only a small percent of features were added and our release schedule is already broken.

From the other side we've added what was most important to our users: new, searchable history window with updated backend, more stability and more usability. And some other, smaller things: proxy configuration, roster with conferences, MUC for XMPP. We've released 4 big version almost on time. That is not bad for a small group of developer working part time on a best Polish Open Source project.

Too much optimism

The source of problem seems obvious: we overestimate our capabilities and underestimate problems. Every task always takes more time that we think it will. We set our targets too high: our road map had a few or even a dozen of big features per release.

The other issues are more of a personal kind. We have much less time to work on Kadu (jobs, studies and so on). We hope to resolve this one by finishing studies and leaving our jobs ;)

Solution

Solution is very simple: start underpromising and overdelivering. No more than one big feature per release.

At first I've removed almost every feature that was marked 1.0 but OTR support. Then I've removed all bugs that are not regressions or crashes. This means 1.0 will not be as awesome as we would like it to, but it will be released soon.

Next thing I've changed was removing RoadMap from wiki. We don't need two separate lists of things to do. Looking at them was very demotivating (oh, how many things to do, and we still haven't even done 15% of this...). Go and read Joel's entry on software inventory - this is pure truth.

This does not mean that only one feature will be done and only crashes and regressions will be fixed. Probably we will do more. But we won't promise this.

No comments:

Post a Comment