Craftmanship is based on diciplines not process.
Work in short cycles
Team and personally
dont wait for definition
- its okay to throw things away, you have learned..
abstract away volatility
Decouple yourself from others (technically and personally). Use Mocking to be able to test your own use of interfaces
Never be blocked (this is one of the most vital ones)
Avoid turgid viscous architectures (cloudy/thick) - e.g. an enterprise architecture created by people that have no responsibility for delivering
Incremental improvement (the boyscout rule) - it will not happen later.. ref example with Sushi chef that cleans his tools as apart of the making..
No grand redesigns - (sidenote: Developers have much power in organisations. The requirements is in the old system.)
- if you have a mess, clean it gradually
- port it in bits to a new technology. Re-implement bit by bit.
Technology and language does not matter.. Good programers
Don't write bad code - there is no way to rush and go fast. Rushing will make you slower.
This is a mental shift when you are under pressure to deliver..
If you want to go fast, go well.. (Programmers put the preassure on themself)
Clean code
TDD
QA should find nothing
Avoid debugging (replaced by writing tests)
Manual Test Scripts are Immoral
Automation is required to do all the trivial regression testing!
The cost of automating is assumed to be 3 manual runs..
Definition of Done
Must not be ambiguous
- Requires successful run of all UnitTests (with 90% coverage)
- Required successful run of all acceptance tests (Uncle Bob uses FitNesse)
Test through the right interface
GUI testing tools test your system through the GUI
Business rules should not be tested via GUI, since the GUI can be unchanged when business rules change and vise versa.
API tests also need to be in place
Databasetests can also be applied when needed
Unit testing (90% coverage)
Components - API tests (50% coverage)
Cross components (20% coverage)
Full system integration (5% coverage)
Exploratory testing via GUI (
Apprenticeship
New people need mentors
Use good tools
Tip: Git source control
Continuous Integration
Use it..
Open Office
Collaborate and interact
Key takeaways: Uncle Bob is persuasive as always. This talk was detailing his keynote on Wednesday.
Subscribe to:
Post Comments (Atom)
1 comment:
Hi Torbjørn. I like this sentence: "- port it in bits to a new technology. Re-implement bit by bit."
Can you bring that home into your organization?
Otto
Post a Comment