Wednesday, December 9, 2009

YAGNI

You ain't gonna need it.

Yesterday we were doing a DB design in our project which is just in its first sprint. I was paired with my team mate for this task and we were just going into discussions shaping our DB structure. Normalizing it and so on.

At one point I suggested a point from the perspective of extensibility in future. My team mate who is also our SCRUM master suddenly said YAGNI. And he started laughing. I was wondering what was that. Which language? Latin? Greek?

He quickly googled for the word YAGNI and the all the results said - "You ain't gonna need it". Instantly I recollected the SCRUM phillisophy of NO Big Design Upfront - NBDU. Just be in present do not worry a lot about future.

We laughed for while and continued back to work.

Thursday, December 3, 2009

Acceptance TDD

1. In acceptance TDD we first define the specific user- or customer-valued functionality we want our system as a whole to exhibit and only then implement the said behavior,most likely using TDD.

2. Acceptance test are:
-Owned by customer
-Written together with customer, developer, tester
-It is about what and not about how
-expressed in the problem domain -consize, presize

3. The requirement is to achieve correctness at feature level and not at code level.

4. Dev Cycle:
-Select a User Story
-Write Acceptance tests for the story
-Automate above tests
-Implement the story to pass teh above automated acceptance tests.

Back to SCRUM...

Long time.. almost 7-8 months.. I was missing SCRUM actually.

Thanks to my new assignment in my new job :). I am back to a SCRUM team, playing the role of the tester. I am happy that I can use all my learnings from my Waltham University :) for my new team and project.

Right on my first day I heard back all things about SCRUM, which I was forgetting slowly being out of touch since last few months. I had my first standup meeting today and people are talking about TDD and Acceptance TDD. Cool.