Editorials

Modern Modeling Strategies

Modern Modeling Strategies
One current software development trend is to allow code to model as much as possible. Agile shops are the best examples of this strategy. As a result, many times a team can go to the complete extreme of not producing any models such as Class Diagrams or Database Diagrams.

IMHO, these two concepts are not mutually exclusive. As I have experienced Agile development it does not say ,”No Documentation.” It says, document with code first, then with other means when code is not sufficient.

How do you document with code? The most common technique is to document using tests. Instead of developing and maintaining detailed requirements documents with tons of business rules, an Agile shop will instead maintain a suite of tests validating those business rules. The effort is put into Test Code instead of into a document that does nothing and requires as much effort to maintain.

Unit tests are great for demonstrating small details. However, they don’t provide a picture for how your software is put together, what classes exist, how they interact, state requirements, or data flow. I have also found that a database diagram is a great help when writing software interacting with a database, especially as the size of the database grows.

Historically, we design first, and code later when creating models of our data or software. In an Agile world, this process is turned on its head. The software often comes first, or in segments, requiring models to be maintained a piece at a time. Complete data structures may be modified due to reasonable refactoring or new requirements.

So, I’d like to get some feedback from our readers about a few questions this brings to mind:

  • What are the tools you use in this kind of environment?
  • Do you attempt to keep your diagrams in synch with physical database releases as you go, and if so, how?
  • How do you integrate modeling into your workflow?

Please drop me a note with your experience by sending an Email to btaylor@sswug.org.

Cheers,

B en

$$SWYNK$$

Featured White Paper(s)
All-At-Once Operations
Written by Itzik Ben-Gan with SolidQ

SQL supports a concept called all-at-onc… (read more)