Robert V. Binder

Posts Tagged ‘design vision’

Technical Equity

March 27, 2012  |  Blog, Business, Process, Software Products  |  No Comments

Technical Equity is the value that accrues when a software system is well-formed.  Instead of burdening you with unnecessary excess cost, your codebase works for you. Technical equity pays dividends: you avoid wasted effort and the consequences of buggy releases, and gain the advantage of releasing sooner and/or with more features,…

Read More

Testability Part 4: White Box Strategies

March 8, 2012  |  Blog, Software Testing, Testability  |  No Comments

This post covers part four of my 2010 talk on testability. White box testability refers to specific programming practices and components that can improve or hinder testability.
Since Dykstra’s 1968 note “Go To Considered Harmful,” practices for producing clean, well-structured, readable, and maintainable software have been the subject of extensive discussion,…

Read More

Steve Jobs’ Product Design Philosophy and Systems Engineering

October 7, 2011  |  Blog, Business, Software Products  |  No Comments

Steve Jobs’ genius was in conceptualizing unique interfaces and packaging that resonated very deeply for large numbers of customers, and in the second half of his career, combining this with a business and operational model that generated huge returns to shareholders and delighted 100s of millions.
During his interlude with NeXT,…

Read More

Software Testability, Part 3: Accidental Untestability

This post covers part three of my 2010 talk on testability.
Aren’t the dancing hamsters a stitch?
Not so funny if you have to test code whose stability or controllability makes you feel like you’re wearing the hula-hoop.
To reveal a bug, a test must:

Reach the buggy code
Trigger the bug
Propagate the incorrect result to an observable interface
Incorrect…

Read More

Software Testability, Part 2: Controllability and Observability

July 20, 2011  |  Blog, Software Testing, Testability  |  2 Comments

What makes a software system easier or harder to test?

 
 The general aspects are controllability and observability.
This post covers part two of my 2010 talk on testability.
 
 Controllability determines the work it takes to set up and run test cases and the extent to which individual functions and features of the system under test…

Read More

Software Testability, Part 1: What is it?

My 2010 keynote at the Google Test Automation conference considered the dimensions of software testability and its implications.

Click here for the slides.
Click here to view the video

This presentation is serialized in following posts.

Part 1: Testability: What is it?
Part 2: Controllability and Observability
Part 3: Accidental Untestability
Part 4: White Box Testability
Part 5:…

Read More

How a Big Ball of Mud becomes a Black Hole: Why Software Architecture and Process Matters

July 11, 2011  |  Blog, Business, Process, Software Products  |  No Comments
Cosmic matter spiraling into a black hole

Once upon a time, I had a Software 25 company with a struggling division as a client. They were selling and supporting an integrated enterprise system brought in by acquisition. This product, at version 7.0, was dominant in its market. But, with apologies to Gresham, bad software was driving out…

Read More

Is Making Movies Like Making Software?

June 20, 2011  |  Blog, Business, Process, Software Products  |  4 Comments

After proving that good project management and software engineering could result in on-time, in-budget, high quality results for contract software development, I was designated as the project manager of a large fixed-price development project. Despite my objections, a second project manager was also assigned to this project. The relationship was explained as…

Read More