I like to think of the projects that we work on as puzzles. Often times, project information is jumbled up and scattered around just like a new puzzle out of the box. You have (though often times you might not) all of the information you need, but none of it is coherently pieced together…yet. What methods do we use to help us “frame” our project? Models are a great tool to help us visually understand jumbled information.
We typically look to define the scope, or boundary, of a project by discovering what systems are required in the context of the project. For this type of scoping, we would use a System Context Diagram. I relate this to what most people do when they start their puzzle, which is define the puzzles boundaries.
By defining the limitations of the puzzle, then we can slowly work to define other logical groupings. When we look at a puzzle after we have finished defining the boundaries, we generally look to categorize pieces that are similar to each other. Blue water pieces will be grouped with other blue water pieces, and snow pieces will be grouped with snow pieces. In a project context, we would use an affinity diagram to group together similar features and business objectives.
As the requirements elicitation process matures, we soon discover that some of these different groupings actually relate to each other more so than we originally have thought. We start to piece together how various systems truly interact with each other. With the discovery of new requirements and interdependencies, we start creating other diagrams to help us better illustrate the whole picture. In the context of the puzzle, we start to piece together the snow and the blue water as we start recognizing that some pieces are interdependent on others. By putting these together, we get closer and closer to the whole picture.
Puzzles and the projects that we work on both require methodical analysis. More often than not, there is usually more than one path to get to a solution. Some puzzles may be easier solved from the inside out, and some projects that we are on may require other types of models or methodology to control for unknowns.
All I know is that software projects, models help these large puzzles a little clearer.