DEV Community

Functional Javascript
Functional Javascript

Posted on

Accidental Complexity - Video Notes and Review

The video:


7 minutes, 26 seconds, and the Fundamental Theorem of Agile Software Development
by Joe Rainsberger, from the Agile Lightning Talks (2013-11-07)

Tags:

accidental complexity
complect
technical debt
spaghetti code
ravioli code
big soupy codebase
plasma ball effect
software rot
BBoM (Big Ball of Mud)
antipatterns
bloatware
slowware
brittleware
overarchitecture

The Notes (with my own added):

essential complication
accidental complication
total complication
TC = EC + AC

AC:
Accidental Complication, or
Accidental Complexity

causes...
cut corners
feel pressure
have to get it out the door

solutions...
reduce AC
squeeze out AC

TDD

  • think
  • write a test
  • ask, how much does this test suck?

write just enough code to make it pass

clean the kitchen

  • refactor a bit now
  • because if we don't clean the kitchen, then we have to clean the garage

refactoring

  • is how you reduce AC

To estimate, you have to refactor.
SCRUM cannot work without XP.

My personal review:

vague, no specifics, no examples
mostly platitudes and generalizations
no formulas, no metrics, no measurement strategies
selling his TDD course indirectly
aimed at the beginner to intermediate programmer

Summary and Takeaways:

ABR (Always Be Refactoring) and testing your code

P.S. - Best advice ever for Software Arcitecture :)

Stop building car boats.

Discussion (0)