Examines some of the fundamental problems with the way the industry thinks about software "engineering", and breaks some notions in order to find useful ways of improving your code quality, and your skills and discipline as a developer.
15. Cognitive Dissonance *
Engineers deal with tangible, immutable
constraints, like gravity
The practice of developing software is
an inherently creative discipline
* Thank you, Jones
16. Cognitive Dissonance
Developer constraints (scope, schedule,
budget) potentially / often in flux
Software is inter-related; working on one
part changes the others
No project is exactly the same as another
It’s not useful to measure high-level,
intangible things like whole projects
This is where scrum comes in handy
Instead, we can use lower-level, more
22. Backing up...
What is a metric?
Measurement assigns numbers based on well-
- Sometimes the environment must be
- Special development procedures that track
various activities - Wikipedia (paraphrased)
You can cheat and use booleans, too