• Gary Varga (5/22/2013)


    It cannot be forgotten that sometimes maintainability must take an equal footing to performance. For some, being able to adjust a system to ever changing business rules is as important as getting the results quickly.

    As always there is not one single facet of systems delivery that has an overriding lead in business requirements. As such, compromise often needs to be found. Having said that, the compromise must be an educated choice i.e. proactively choosing a design that is maintainable but slightly slower that encompasses efficient algorithms will probably satisfy the requirements for an enterprise application. Of course that leads us to the differing emphasis various systems have...

    Only too true. And as well as causing a flexibility versus performance conflict those same ever-changing rules can mean that what is a performant algorithm today will have terrible performance (in fact it won't even work) next week because a changed business rule will have forced a schema change.

    Tom