In my previous company I worked on a major enhancement to a legacy application where we inherited a smorgasbord of unit tests — approximately 7,000 tests in total. Whilst enhancing the application we spent an inordinate amount of time fixing broken tests. Of course requirements changed and so it was necessary to re-write tests to reflect this. But in this case rather than being facilitators, the tests became an impediment to innovation and change, and hence an impediment to quality. The unit tests were fragile.
So how could this have been avoided? In this article I’m going to be outlining…
I’m going to show my age by admitting that I was a certified Microsoft Solution Developer back in 2001. The core module for this certification was “Analysing Requirements and Defining Solution Architectures”, and one thing from this that has stuck is PASS ME, an acronym for non-functional requirements: Performance, Availability, Security, Scalability, Maintainability, and Extensibility. I’ve used it over the years as a quick ready reckoner. But it’s incomplete. It’s missing a very important S — Simplicity.
The importance of simplicity was reinforced for me recently as a result of being asked to perform peer reviews of event-driven solution architectures.
…
Enterprise Architect @ Nationwide