Sustainability
From CitconWiki
Revision as of 01:12, 5 October 2008 by 62.132.92.211 (talk) (New page: Sustainability: Meeting the needs of the present without compromising the ability of future generations to meet their own needs --Bruntland Commission Horror Stories / Issues: * Tests n...)
Sustainability: Meeting the needs of the present without compromising the ability of future generations to meet their own needs --Bruntland Commission
Horror Stories / Issues:
* Tests not well factored
* Too much duplication
* Too much abstraction
* Dependencies between tests
* Mocks that mock something that doesn't exist
* Untested test frameworks
* Monolithic build
* Untested build scripts
* Convoluted
* Magic / Convenient
* Feedback
* WHy did it fail?
* Hard to read the logs
* What do we depend on?
* Who depends on us?
* (Nobody wants to be the) Build Wizard
* Separated from source
* Requirements cruft - do we still need this? WHo could we know?
* Creep
* (Agile) Value Fetish
* anxiety to deliver - from where?
* rewards for (the wrong) heroes
* lack of slack
* (Lack of) Visibility of problems (to management)
Answers:
* Refactor, Refactor, Refactor (build scripts) * Keep dependencies up to date * Speed / Performance / Feedback: * Rank code by how long since a test last failed. Move stable stuff into a build that's run less frequently * Products: Selenium Grid / Dever * Parallelize? * Collective ownership: should I add this test? * Build Quality: * Can we measure it? * Tests & Build get same status as the production code * better even? * Fresh eyes * Self respect * Retrospectives - give visibility of problems to management
Refs:
* Influence - The Psychology of Persuasion - Chaldini * The power of intuition - Gary Klein * Comparison of gambling and code & fix coding.