Our remodeling project is scheduled for 12 weeks. I'm very familiar with project execution, that is a big part of what I do for a living. Watching the progress of our remodel I've been thinking about real versus perceived project progress. The chart below reflects the relationship.
When we build software there is a decent amount of time getting groundwork put in. You have to get the build process working right, get your integration tests working, get version control working the way you want it. You probably need to use some framework code. It is a lot of stuff that doesn't really feel like progress to a non-technical person.
Then you start framing out the software. Big swaths go in place, but mostly just stubs. Everything looks like it is coming together really fast, but it is largely a façade. Things are just in place to make sure it all comes together right.
At the end, it feels like the thing is so close to done but it just keeps dragging on. The edge cases have to be handled, error handling needs improvement. You need to log things. Not to mention that final design of the visual elements. This is where people get frustrated.
I fully expect the same thing to happen with this remodel. It seemed like a long time to get the structural stuff rolling. This week it seemed like a lot started to happen, and with the framing right around the corner it will feel like we are almost there. Then, things will take a very long time to get the light switches all wired up right and all the final punch list items completed.
While I ride the Perceived Progress line I'm going to try to keep a good grounding on the Actual Progress line. It is the only one that matters after all.