The Holy Java

Building the right thing, building it right, fast

Craft

THIS IS ONLY A DRAFT

About the craft of software development and why it matters.

Effectiveness: the capability to achieve a chosen set of goals.

(Effectiveness = doing the right thing, efficiency = doing it right.)

By “craft” I mean focus on the following:

  • Making our organizations more effective
  • Building the right software, building it right, building it quickly

There are multiple aspects – organizational, human (motivation, mastery, …), technical (skills, …).

Note: The pages Why lean? and Code Quality should be moved here.

Resources

People, organizations, values

  • Drive: The Surprising Truth About What Motivates Us
  • Bob Marshall: Rightshifting – according to the author, 80% of knowledge work organizations are very ineffective, wasting resources on non-value-adding activites; only few are effective, even fewer highly effective. Rightshifting is the attempt at shiting them to the right, towards higher effectiveness. Links to a few videos explaining it more. Related: Steve McConnell’s Business Case for Better Software Practices, referring to a study by SEI; “The actual distribution of software effectiveness is asymmetric. Most organizations perform much closer to the worst practice than to the best.” – the best performing 10 times better then the worst/average (productivity, speed, defects, value)
  • Tim O’Reilly: Create More Value Than You Capture (30 min + questions) – build apps that matter, that change how we do things. Thinking just about money is bad. Try to make the society better, smart, create more value than you capture, solve important problems, help people. Ex. startups: Uber, Square, Code for America.

Software development

  • Kent Beck: Making Making CoffeeScript [video, 20 min] – a wonderful and inspiring demonstration of some of the key values and practices of efficient software development (while developing a test framework for/in CoffeeScript) – focus on shortening the feedback loop and application of parallel change; iterative evolution/emergence.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: