Entering the modeling mode
Is it only me or is their something called a modeling mode in software development? The state means that when I have some free thinking time, I start modeling. Like when I'm turning of the light or is out on a walk with the dog. I guess there can't be too much outside input, because if I bring Peter on a walk, I don't enter the mode.
I get into the mode when we're entering or are in a stage when we do a lot of modeling in the project. The coming sprint, I'll spend a lot of the time modeling. This will result in lots of self addressed e-mails produced just when I'm going to sleep.
Then fun thing is when I enter the mode I start to think about some use case and I address it like there is a solution and I haven't just figured it out. Like there was some finished perfect solution I just have to find. Strange, because we're building the product. There are no finished solutions waiting around the corner.
It's a fun mode to be in, when I figure out a solution, alone or with someone else. Sometimes it takes a lot of time: our configurable fields used for tracking business key values have been on the table for a year.
Now you agile developers probably raise the red (or black!) flag. Modeling? Lot of planning and specification? Well, it's not that bad. We have short but intense sessions, me and one or two of the developers. I describe some use case or entity needed for the coming sprint. And then we discuss it and work the white board. After some discussions we take a photo of the white board and move on to other issues. If we feel we're getting near we document the modeling in our information model (an XSD-file) or in a powerpoint storyboard. Next session we start where we finished, first making sure we all have the same picture of what we've accomplished. Sometimes this makes all leap forward, sometimes we have to start all over. Like I said, there are seldom one perfect solution.