Friday, 13 August 2010

Will DI change the way we teach OOD ?

As technologies such as Dependency Injection frameworks like Guice and Spring gain traction and become main stream practices, do we need to change the way we teach Object-Oriented Design ?

DI usage has an impact on the dependencies between classes, and how classes are instantiated and generally "wired" together. These patterns greatly facilitate unit testing of our implementations.

Current OOD material does not yet support this concept, may be we should start to think about that.

Thursday, 12 August 2010

Not using UML yet ?

Is that possible ?

I was going over some archival messages at stackoverflow the other day and came across a post about different technologies being used in organizations. I was surprised to see a low turn out in the UML column. Not using UML in your projects is akin to building a house without a blueprint. Possible, but highly risky.

Not to mention how to fix that leaky water pipe five years down the road (what pipe ?).

Wednesday, 11 August 2010

Do new Best Practices = old Best Practices

Back in the 90's we had a set of Six Best Practices that were published by Rational and formed the foundation of the Unified Process. These are:
  • Develop Iteratively
  • Manage Requirements
  • Use Component-Based Architectures
  • Model Visually (UML)
  • Continuously Verify Quality
  • Manage Change
Then some years ago, these were revised into the ABCDEF Best Practices:
  • Adapt the Process
  • Balance Stakeholder Priorities
  • Collaborate across Teams
  • Demonstrate Value Iteratively
  • Elevate the Level of Abstraction
  • Focus Continuously on Quality
So, do they still convey the same meaning to our teams ?