Lessons from history – on OO and Agility

https://bit.ly/2WG39HF   http://avancier.website


Surprisingly little is new in the word of software design.

Discussions in Linkedin, January 2019, promoted me to put on record that:

·         agile development principles are older than programming

·         software system theory is older and broader than “object-oriented thinking”

·         design tradeoffs related to decomposition and decoupling are eternal and universal.


The main aim here is to propose that balancing tradeoffs is more important than following uni-directional principles

And to say we ought to look again at system theory in the broad, rather than from a purely “object-oriented” angle.

Some other points emerged from discussion.

By early February 2019, the paper had grown too long and was divided into shorter papers.

Agility and tradeoffs

·         The flowering of agile methods - since the 1940s

·         Agile architecture – an oxymoron?

·         On maintaining a large persistent data structure – and its impact on agility


Systems and tradeoffs

·         The Physics of Systems

·         General software system theory - and design tradeoffs

·         The fading of purely “Object-Oriented” thinking about systems – since 1990

·         How encapsulation does not prevent knowledge sharing


For more on general system theory come to our next System Theory for Architects tutorial in London.