Posts Tagged ‘design vision’
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,…
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,…
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,…
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
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…
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
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…
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…