We sometimes want to do too much when get something to work on. We want to exceed what we have been asked to do. That can sometimes lead to problems. Recently in our Agile training we received from Arin Sime and Kent McDonald we completed an exercise with Legos. At first thought I think we wondered if we had gone back to elementary school. We were passed out our requirements that we needed to fulfill. Our class was broken up into four groups and we each took all the Legos out and used them all to build a house. We all fulfilled the requirement to build the wall but went further to use all of our pieces. “While I am here I should use all of the pieces we are given!”
We are exceeding the customers desires, that must be good right? The problem when we build more than we were asked for is we are making assumptions. A tenet of Agile development is to give business value as soon as possible. To do this we must build something that can be released quickly. When we add more than is asked for we must test those additional pieces or features. We assume the product owner will want this and any time we assume there is a good chance we are wrong. In my experience as a software developer I remember many times where the eagerness to please can cause delays in shipping. When we get specific requirements we need to fulfill them.
Have you ever experienced this in your work?