My Objective Today is to Make You Think

 

"Maybe There is a Better Way"

I recently presented at DeveloperDeveloperDeveloper in Sydney, and although my talk was Stuff About CQRS, I opened with the slide 

My Object Today Is to Make You Think ... 'Maybe There is a Better Way'

(slides here)

The real focus of this was around how normal people think, and how unlike normal people we developers really are. My role in development is all about enabling better communication, because fundamentally I believe the real value a developer brings to a project is not technical, but is in the way they interact with the team, and more importantly with the normal people they are actually creating software for.

Obviously some of this has roots in DDD, the Ubiquitous Language is obviously an attempt to traverse this chasm that seems to exist between us.

Then I touched on user interfaces, and how they are so rarely designed the way people think - normal people think about their objectives and goals, not in terms of data like we developers do. Inductive UIs are focused on tasks, unlike the traditional data driven UIs that we tend to throw at users - users and people don't think in grids and columns and rows, they think "I want to change my address", not "open my customer record, edit the three fields under address and save to the database" - only a sadist or a developer would think that way.

And finally I touched on things like NoSQL databases, which neatly solve a communication problem - they stop us thinking about How to store information and let us focus on What we are storing and Why.

And lastly I tried to show the link between CQRS and these business problems - how it made you focus on the language, on tasks and objectives and how it let you detach the How from the What and Why.

But most importantly, what I was trying to do in that presentation was to throw some non-mainstream ideas out into the audience, to spark discussion and debate, and to get people to think - Maybe There is a Better Way  

If only a few of those in the audience went away and Googled some of the ideas I was talking about, it will be another step towards moving development away from it's heavy focus on technology and technological solutions - and towards a people and business driven focus, where technology is an artifact, not the deciding factor.

 

 


Posted 07-19-2010 1:08 AM by Jak Charlton
Filed under: , , ,

[Advertisement]

Comments

gunteman wrote re: My Objective Today is to Make You Think
on 07-19-2010 4:17 PM

It's all true.  However...

"users and people don't think in grids and columns and rows, they think 'I want to change my address', not 'open my customer record, edit the three fields under address and save to the database'"

I've actually found that many users prefer the data driven approach. Find, act, save. Except for the saving bit, it's actually a very natural thing to do.

Jak Charlton wrote re: My Objective Today is to Make You Think
on 07-19-2010 7:12 PM

That's the "grid abuse" bit ...

For years we have told them this is how it has to work (because that's how our databases work) so they have become conditioned  when speaking to us to ask for these things...

Even highly technical users don't think in those terms naturally. Is it more optimal? perhaps in some scenarios, but then again, only developers care about optimisation, users care about objectives

Chris Tavares wrote re: My Objective Today is to Make You Think
on 07-20-2010 2:30 AM

That really depends on the user and the task, though. Have you ever seen a real data entry clerk? They want grids - those folks can churn through row after row at blazing speeds if the UI is set up right, and that generally means grids.

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Subscribe
Google Reader or Homepage

del.icio.us CodeBetter.com Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl CodeBetter.com Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of Devlicio.us
Red-Gate Tools For SQL and .NET

NDepend

SlickEdit
 
SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
LiteAccounting.Com
DevExpress
Fixx
NHibernate Profiler
Unfuddle
Balsamiq Mockups
Scrumy
JetBrains - ReSharper
Umbraco
NServiceBus
RavenDb
Web Sequence Diagrams
Ducksboard<-- NEW Friend!

 



Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers

 

Community Server (Commercial Edition)