0

I need some help from the community - I hope StackOverflow covers general architecture questions.

So this is not the first time when co-workers of hundreds-people organizations discuss implementation details of the next 'very complex system', which 'will do everything and make everyone happy' without trying to split things into smaller parts.

When I speak about Abstraction and Decomposition and the necessity of splitting into smaller modules with (preferably) a simple interface - nobody seems to understand and reply literally like "we all know how software is developed" or just ignores what I write.

Am I such a unique person with overweight self-esteem, or does that happen often in Software Organizations?

Darren
  • 138
  • 1
  • 8
noonex
  • 1,975
  • 1
  • 16
  • 18
  • no, generally everyone knows how their bits fit together. The only difference is for the 'bricklayers' who simply code what they're told, as you often get in outsourced organisations. – gbjbaanb Jun 10 '15 at 08:17

1 Answers1

2

Architecture is handled very differently between organisations. If an architect exists as a job role, they are responsible for variable amounts of detail with more or less responsibility depending on the development lifecycle, organisation structure, or developer experience.

Generally though as a rule I would expect an architect to handle the high level modular composition (not class level, but service/package/container level), and any externally visible APIs, maybe a database schema, and any important security points. But it very much depends on the context.

And so to answer your question (I think?), yes I would expect developers to understand how to break large components into classes, including the logical relationship between them. I would expect they understand SOLID design principles and probably some design patterns. I wouldn't necessarily expect them to understand how to break requirements into large components - because this may be done by an architect.

James
  • 224
  • 2
  • 13