In computer industry planning is important. Well, everybody says that planning is important, I know of only two types of planning functionalities:
- ASAP - As Soon As Possible
- ASAP - After September, April Possibly
To Estimate or Not to Estimate?
Estimation is really difficult. Moreover, as we know, it is really hard to estimate correctly. Maybe it's because an IT job is more of artist stuff rather than an automated factory.
This year on DevDay, I heard a really interesting talk about making estimations in IT.
But still, it is good to predict costs, not the time spent on the current issue.
Scrum, the most popular methodology, gives us Sprint. In my opinion, the biggest advantage of a Sprint is shortness.
Why shortness? Because if we fail we can cancel or even delete our work, and in the next Sprint do something better. The funny fact is that developers usually do not remove their code; they comment it out.
Scrum Plus Long-Term Planning
On of the idea of scrum is a possibility to plan work for a long time. When we take repeatable tasks, and the same amount of people (or Story Points), we should be able to plan our work to the end of the universe. Unfortunately, IT stuff is usually not repeatable. Moreover, it is really difficult to explain why changing the position of Button A takes three hours, but making the same change to Button B takes three days.
I'm sure that every developer has such situation is his or her life. And explanation usually was something like:
mmmm, You know, mmmm, [mumbling], because mmmm [mumbling]
The only serious explanation I've heard in my life was:
We are using JSF
If you don't know what JSF is, don't even bother checking it out. This technology without proper use is dangerous.
Planning or ... ?
To be precise, I don't know. But I suspect that business guys need to share our man-days. There are a lot of them with plenty of ideas. And they need to know when their ideas have a chance to be implemented and installed on production.
But as I wrote before, it is always ASAP stuff. So, maybe instead of planning time, it's better to just order global backlog? Real ASAP stuff will be put on the top and the rest on the bottom. Such change requires a lot of trust between coders and white collars. And this is really difficult to achieve.