One of the things that I find myself doing a lot at work now that I have an architectural role is roping in developers, designers and PM's in terms of sticking to just what we need to meet the basic requirements. There's a desire most of the time to do a little more and anticipate a need or fulfill a wouldn't-it-be-cool. This becomes problematic because that kind of thing doesn't come for free in terms of time, and it tries to solve some problem that isn't a problem yet. It's an easy trap to fall into.
I find myself doing it all of the time with my own stuff, especially with the damn forum app. I still have this illusion that millions of other devs the world over are using it, and they're not. So with the plug-in architecture I've been baking into it now, I'm already doing things that I don't need to do, and it causes me pain. I don't always practice what I preach.
Right now I'm actually writing code for a forthcoming project into our core library, something I took on myself because I want it to be right, I want to set a template for the "right" way to write and frankly we don't have free resources for someone else to do it. I'm just about at the limit of what I can take because there are too many things that fall into my regular duties (heh heh, duties) that I'd much rather be spending time on. I set some goals for myself for the first 90 days that I really don't want to miss.