One Weird Trick to Design Perfect Applications (?)

What’s the right way to design an application?

Scanning the web, one might be tempted to believe that all sites must use AngularJS Backbone.js Ember.js some sort of javascript framework, all services must be RESTful, and if those services aren’t of the “micro” variety, well…

Is that really the case, though?

Is there a right way, or is it case of choosing the way which most closely matches our current context? We can say rules are rules, but experience will teach that rules lose meaning when divorced from the context they were formed in response to. There is no universal best practice. Without understanding the “why” behind a rule, you can’t determine whether it applies.

A conversation with John Evdemon captured principle this in regards to the latest application architecture “sensation” (AKA microservices):



A Kindle highlight shared by Tony DaSilva extends this principle to enterprise architecture:

There is no evidence that structure in and of itself affects the profitability of a company; different structures work best for different companies.

Meeting a need involves two architectures: the architecture of the problem and the architecture of the solution. Understanding the architecture of the problem is a necessary prerequisite to designing the architecture of the solution. Without that context providing definition of the desired end, imperfect though it may be, any proposed solution becomes a shot in the dark. Attempting to extend a technology or technique outside its range of utility risks harming its credibility (see SOA).

Thinking isn’t an option, it’s a requirement.

3 thoughts on “One Weird Trick to Design Perfect Applications (?)

  1. I believe, in every era, follower professionals face a thinking shortage – I called it “Planet Thinking” when a professional influences with success stories while thinking of a solutions. A cause of this might be information-globalization.

    During this process, we just keep selecting one way (i.e. the right way for us) without checking others.

    This is a duty of independent thinkers like “John Evdemon @jevdemon” to keep the discussion on. Thanks and appreciation.

    Liked by 1 person

  2. Pingback: Microservice Architectures aren’t for Everyone | Form Follows Function

  3. Pingback: A Meaningful Manifesto for IT | Form Follows Function

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.