Cal Evans has posted a sort of "call to arms" for the developers out there, asking them to be more honest with software estimates and think realistically about the project and its complexities.
As developers, we see projects not as a job that must be done, but as art that can be created, as a project that needs to be crafted. It’s not a spreadsheet of numbers to us, it’s a sketch on a napkin of something we want to build. As such, we see the big picture, but miss the details. So when we tell a customer/client/family member “Yeah, I can build that this weekend”. In our mind, we mean it. We honestly think the project is simple enough to be built in a weekend. It rarely is though.
He goes on to talk about some of his own experience with the "just a weekend" claims and the over-promising that comes easily to devs. He suggests a few things to link about as you're estimating your next project - can you actually do it (not a "learn on" project) and thinking about when it will be done based on availability, not just desire and work in isolation.