18 Jun 2009

Ted Neward: Rethinking "Enterprise"

An almost philosophical talk on "what is the right answer" to a given problem, and how people usually evaluates solutions.

Historical perspective on the what the mentors/teachers/vendors of the software industry try to convince us of, but it is not the same as the truth.

Examples: J2EE/EJB
Why did so many people bite so hard on the J2EE hype wave?

Examples of how the brain works - put things together.

When somebody says "enterprise" your brain looks for things associated with enterprise:
- relational database
- client server type topology
- app servers

Face it, you are prejudiced since you are technacist

So how to "rethink enterprise"?

- Resist the temptation of the familiar
Every project is different
Reject the "goal of reuse" (yagni) until you have written the same system the third time
This is the most prominent cause of failure for projects

- Befriend the Unconformable truth
Be cynical
Question the assumptions
Look for hidden costs
Investigate the implementations
The presenter should also be able to tell you where it should NOT be used

- Eschew the "best practice"
In certain scenarios the "best practice" does more harm than good
Best practice are our attempts to avoid thinking
These practices need a Context to be relevant
Rename to "our current practice"

- Embrace the "perennial gale of creative destruction"
Said about market economies
Same holds for languages, patterns, tools, practices etc.

- Create an evaluation function of your own for each technology/pattern/practice introduced into your awareness
Context matters

- Attend the goals
Define the goals - features and scenarios for runtime behavior expectancies

Conclusion: Rethink the enterprise for yourself!

No comments: