team organization · application integration · application architecture


How do you define the boundary of an application?

One of the undecided problems of software development is deciding what the boundaries of a piece of software is. (Is a browser part of an operating system or not?) Many proponents of Service Oriented Architecture believe that applications are going away - thus future enterprise software development will be about assembling services together.

I don't think applications are going away for the same reasons why application boundaries are so hard to draw. Essentially applications are social constructions:

All of these are social things. We can draw application boundaries in hundred arbitrarily different ways. But it's our nature to group things together and organize groups of people around these groups. There's little science in how this works, and in many ways these boundaries are drawn primarily by human inter-relationships and politics rather than technical and functional considerations. To think about this more clearly I think we have to recognize this uncomfortable fact.

(If you are interesting in thinking further about applications and how they interrelate, you should take a look at the strategic design section of Domain-Driven Design)

if you found this article useful, please share it. I appreciate the feedback and encouragement

Find similar articles at these tags

team organization application integration application architecture