Most agile people say big designs up front rarely pay off. You spend so much time doing design that you delay the opportunity of feedback from real, working software. But I sometimes do BIG DUF. It’s not that the design is big, it’s the problem that is big. So I need an up front big picture with just a few big parts.
It helps me conquer and divide.
That’s not a bad thing. What I find really painful is casting the design in concrete. When your design is cast, then your mental state is already cast in concrete too. And that means that it is a lot harder to do the right things. So, more gets added to the concrete slab and it’s real hard work to break anything off. When I have a BIG DUF, I often look at how to reduce it, rather than increase it.
I don’t think it’s wrong to have a BIGDUF, it’s worse if you have a BIGDIC (BIG Design in Concrete). That concrete block will hurt you later … a lot.
In other words, the size of a BIGDIC does not matter, it’s the rigidity that’s the problem (— That’s so lame, I could not resist!)