Skip to main content

Do it in small pieces

In a Agile project when we plan the work for the project, we split it in small pieces, a.k.a. User Stories. Then in the begging of the project we prioritize the small pieces in order to do first the most important pieces ("how" to prioritize is a subject to another post).
But all of this doesn't matter if the team decide to work in all the story at once.

The whole idea of breaking down the work and prioritize it, is to be able to keep delivering some business value along the development time. And more than that is a way to follow up the project progress.

Suppose that we have a project that will have 1 week iterations. In the first day of the 1º iteration the project board was with this status:

Stories                          In Dev                         In Tests                 Done
1                                       X
2                                       X
3                                       X
4
5
6
7

In the second day the developer Fulanom who was developing the Storie 2, decided to start coding a little piece of Storie 5 because the code was very similar to the Storie 2 code, just changing some parameters...

So in the second day the Project Board was:


Stories                          In Dev                         In Tests                 Done
1                                       X
2                                       X
3                                       X
4
5                                       X
6
7

All the others DEVs had the same ideia, what bring us to the following scenario:
Stories                          In Dev                         In Tests                 Done
1                                       X
2                                       X
3                                       X
4                                       X
5                                       X
6                                       X
7                                       X

This is bad, because now we have a Atomic Commit to the iteration, where or we delivery all the stories or we don't delivery any Story!
The idea behind the creating story, prioritizing,  is to not follow the Waterfall pattern of Atomic Projects.
Although sometimes from a coding perspective makes sense to code a new story instead of testing the coded story, this is not a great deal. As in the end you still have to test both stories. And as a test infected I'm sure that the surprises will arise during the tests. 

Comments

Popular posts from this blog

Como é trabalhar na ThoughtWorks

Uma pergunta recorrente que me fazem é: - E ai, como é trabalhar na ThoughtWorks? Bom, vou tentar responder isso... Pra começar é muito diferente de tudo que já vi aqui no Brasil. Nenhuma das empresas pelas quais passei, ou empresas que ouvi amigos próximos falando sobre o dia-a-dia se aproximam do que eu vejo aqui na ThoughtWorks. Isso tanto para bom, quanto para "não tão bom". A ThoughtWorks te contrata para a Thoughtworks não para um projeto Isso pra mim é algo muito bom, a maioria das empresas de consultoria no Brasil quando querem te contratar falam algo do tipo: "Temos um projeto em Alphaville com duração de 6 meses e possibilidade de prorrogação..." Nesse cenário se tem projeto essas empresas contratam como loucas, e quando chega final do ano e os clientes tem um freezee elas demitem! Para em fevereiro do outro ano começarem a contratar de novo. Isso nunca fez sentido para mim. Na ThoughtWorks, quando você é contratado você vira um ThoughtWorker....

Thunderbird with Microsoft OWA in Ubuntu 11.10

So, you as I are tired of Evolution's problems in Ubuntu 11.10 ? Move on to Thunderbird... To have it working with Microsoft OWA following the these steps: Install DavMail Download and install  DavMail . It will act as a proxy between Thunderbird and your Microsoft webmail. Configure DavMail Some tips:  Exchange 2003: https://mail.company.com/exchange/ Exchange 2007 Webdav mode: https://mail.company.com/owa/ Exchange 2007 EWS mode: https://mail.company.com/owa/ Exchange 2010 EWS mode: https://mail.company.com/owa/ Exchange 2010 EWS mode with unsupported authentication form e.g. Windows Live login:https://mail.company.com/ews/exchange.asmx In my case as I'm behind a proxy I had to mark the option "Use system proxy settings" in the Proxy tab: Click save then you should see a message in your system tray, saying that DavMail is correctly configured. Configuring Thunderbird In Thunderbird main window click menu Fil...

Pairing techniques

This week my colleague Guilherme Motta  and I did a presentation about Pair Programming, that were really fun, we learned a lot. During our research I noticed that there are few posts, wikis or sites about Pairing Practices, so I'm sharing with you some practices that we found. Ping Pong In this technique the first programmer writes a minimal failing unit test, the second programmer modifies the code to pass the unit test(s) than the second programmer writes a new minimal failing unit test and gave the keyboard back to first programmer, and so on. This loop continues as long as any programmer is able to write failing unit tests. The technique can result in the driver role switching as often as a few minutes or less. Pros: CV  taught me this one and was really fun, because you don't have to discuss a lot, although you keep conflicting the programmer's ideas.   Cons: I don't know. Chess Clock Using a chess clock the pair define a time inter...