What role does modeling play in the development of software?
It depends on what kind of software you’re building. The analogy that you’ve probably heard me use is that if you’re building a doghouse, you can get a pile of lumber and some tools, and just build it. But for a house, you need to start with the blueprints. The challenge is that even those small things end up as big things sometimes. This is happening with e-commerce. Ebay and E*Trade are growing up and going through changes in architecture. But whether the design is in someone’s head or on a whiteboard that’s modeling. Everybody does modeling, but then it’s a matter of formalizing the model. Are there software projects that don’t need modeling tools? Find me a project that doesn’t have a whiteboard in a cubby somewhere. Is there a language that you turn to time and again? I develop in Java and C++. That’s partly for the object-oriented nature of the languages and partly for historical reasons. I once thought God intended us to develop in Ada, but then I realized that She thought diffe