To Model or Not to Model is the Question!

For Model is optional/and possibly an impediment, unless asked for.

The following picture depicts my understanding of what piece of technology resides where when writing the code from a UI->Business->DB.

When doing TDD<->Code, there are very short and quick feedback cycles due to which there is good paced development.

When doing it with modeling involved as the short feedback cycles turns into a painstakingly long , and hence looses the pace that could have been achieved with no MDA at all.
Even with MDA as a choice, is it beneficial to extract technical details from the model or derive the model from the interface?

The interfaces act as the point of inflection of choosing whether to MDA or not.

I am not very much into Big-Upfront-Design camp,maybe due to lack of experience but as I understand every software solution in the writing has its own characteristics that are better dealt with when dealt with no big designs that over-shadow its actual requirement.

With features like reverse engineering from code-to-UML, although the cycle could be shortened, but only to load the design with something conceptual at a high level, even with a high probability that the same understanding could be useless or simply a cause of not being able to implement an elegant solution.

The fact that MDA is dependent on the interfaces to proceed and TDD creates those interfaces, not by thinking-out the complete system, but on a case-by-case basis, so the two approaches can exist, but in true agile spirit?

I don’t think so.

~rohit.

One thought on “To Model or Not to Model is the Question!”

Comments are closed.