Revisiting content management: Just build what you need!
Back in 2001 when I got laid-off from my job and started learning what this new .Net thing was all about, my first attempt at building something was a CMS that could do "everything." When I look back at it, well, it pretty much did do everything. You could drop in a UserControl that did whatever you need. It was like Sharepoint before Sharepoint.
And it took a long time to get it right. It has been reliably running CoasterBuzz for nearly five years, but it never needed to be what it was. What do you suppose was in there 95% of the time? Just a bunch of HTML.
So I started to hack out something new, given my vastly more developed skill set, and it's a fraction of the code, mostly the same functionality, and took almost no time to build. Looking back, I can see that I've spent so much of my time trying to account for every scenario I can think of instead of just addressing the one sitting right in front of me.
I can attribute this mindset in part because I've always wanted to build stuff that other people can use, which was largely a mistake because I never really did sell much of it. Building a product for everyone often satisfies no one, and I should know that more than anyone since I've always been the primary user of the stuff I've built.
We get so wrapped up in frameworks and "solutions" and other nonsense and it does little more than bog you down. I hate feeling like that. You can build things in a "smart" way without resorting to curing cancer.
It's liberating, and a lot easier to maintain.