"Why should we write our tests first? Isn't that going to slow my development?" "What? Assigning a single task to 2 developers? How is that efficient? What a waste of resources!" "Look, in the perfect world your advises are great, but I have a project to finish here." In this talk Marcello explores efficiency in contrast to effectiveness. He looks into how practices, traditionally accepted as efficient, sometimes turn out to be less effective than a few "impractical" things he has come across.
4. software is not as much about Øs and 1s
Ø111ØØØ1ØØ111ØØØ1ØØ111ØØ111111ØØ111Ø111ØØ
Ø1ØØ111ØØØ1ØØ111ØØØ1ØØ111ØØØ1ØØ111ØØØ1Ø
Ø111ØØ111111ØØ1111111ØØØ1ØØ111ØØ1Ø1111ØØ111
12. Customers don’t know what they want
Customers change their mind all the time
Customers are too busy to get involved
i mp ra ct ic a l
If I listen... BANG! Scope creeps in!
Customers want everything!
I keep adding and removing must haves
22. impact map WHAT
HOW
WHAT
WHO
WHY HOW
WHAT
WHO
HOW
WHAT
[Adzic 2012]
23. project mission sprint vision sprint planning sign off retrospective
Include a sprint vision (example) workshop
in every iteration, prior to sprint planning
24. Goal of sprint vision (example) workshop
To define sprint vision and acceptance criteria
25. As an <actor>
I can <behaviour>
So that <value>
Given <pre-condition>
When <act>
product backlog
Then <expectation>
32. How can I test something I haven’t done yet?
It takes time to learn TDD
The team is not confident they can do it
i mp ra ct ic a l
It’s legacy. The code is untestable
Customer is not paying for tests
My manager doesn’t give me time to test
54. There is no time for quality
The budget doesn’t cover quality
It’s a very simple project
i mp ra ct ic a l
We’ve done it thousand times
Quality is vague, deadlines are real!
Do the needful now. We’ll come back to it later
55. Outer Quality
Quality is like onions
Inner Quality
http://www.flickr.com/photos/monteregina/4103317832/
70. 2 resources 1 task? do the math!
Why isn’t everyone else doing it?
They will just chat and not get anything done
i mp ra ct ic a l
I do all the work the other guy just looks
How do you track the time per task?
Geeks don’t want to talk to other people
71. 2 developers
sharing a screen
working on the same task
82. Who’s paying for that?
What? Write code and delete it? What?
I am already working 9 to 5
i mp ra ct ic a l
Solving a problem that has already been solved?
I am committed to a sprint
I have a release, can’t join you today
83. “Adults don’t think their way into a new way of acting.
They act their way into a new way of thinking” –
Richard Pascale
84. ✓ 1 hour every week
✓ developers go to a meeting room
✓ do TDD in pairs
✓ 20 mins each round
✓ at the end of each round:
✓ delete the code and swap pairs
86. “We have a great tool in this language. We can kill
it by making a mess. We can kill it by being
arrogant. We can kill it by ignoring the enterprise.”
87.
88. “Be daring, be different, be impractical, be anything
that will assert integrity of purpose and imaginative
vision against the play-it-safers, the creatures of the
commonplace, the slaves of the ordinary.”
ImpracticalQuote
89. Marcello Duarte
I work here
I contribute here
I tweet here @_md