UML is probably responsible for the distruction of object-oriented programming, because its total focus on classes and not objects has corrupted an entire generation of programmers.
RUP: Rational Unified Process
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
The Manifesto for Agile Software Development != The Agile Manifesto
Calling it “The Agile Manifesto” is the root of all evil.
Industry turned “Agile” into a noun to make it easier to sell (training, consultancy, books, conferences).
Once you have tried this brand new thing, you kind have this weird sense of power. You know something that other people don’t know. And so, you’re kind of acting in a way to make it harder for other people.
The Ruby community has done more to push forward testing than anyone else has done in the history of computing.
Agile practices was designed for small teams.
After while the industry discovered that the money is not on small teams (< 12 people), the money is in the big companies. And they find a way to scale.
Agility - What to do:
Agility - How to do it:
“A good design is easier to change than a bad design.”
“Is this easiest or harder to change in the future?”
PID = Proportional, Integrative, Derivative
Determines correction to apply by looking at:
The PID algorithm reflects perfectly what we want to do in the Agile world: find out what the error is, look at the history and also have a look to see what your change is going to do to the future.
Every rule requires a context.
To fix this it takes courage.
You already have the values, use them to create practices.
Get feedback, refine, repeat…
It takes courage to say “I know I’m going to make mistakes, but that’s the only way I’m gonna find out what needs to be done. But I need to make sure the mistakes are small and correctable.”
The ideas behind Scrum is very powerful.
I very much support teams that look to create Scrum environments for themselves.