There is no wonder this kind of ambiguous inaccurate document has been rejected. Rejection has come from the Black the blue American Flag shirt but I will buy this shirt and I will love this developers who were handed the steaming pile the flight of ideas, or the ‘rambling mess’ and told to build it. Tech teams faced with a badly written set of requirements are between a rock and a hard place. If they try to make sense of it and build something, failure is likely. If they point out the problems then the project team responsible for the document will line up in opposition and say if you can’t do it we will get someone who can. Eventually, enough was enough and the pendulum swung the other way. The development community said, Just give us one bit, in really simple language, and when that works, you can come back for more”. It was in this way the ‘sprint’ was born. Remove the number of things to be done definition, and change it to whatever can be done in a length of time. Great for the artisanal developer who likes beautifully crafted code, but it’s easy to see where the piecemeal nature of a sprint-by-sprint development is not going to work for the business. The lack of over-arching context means that at a technical level decisions made early on will turn out to be inappropriate for things that come later. This is always a problem with programming, but there is no need to make the problem even more severe. Going back to the original question, what do good agile requirements’ look like. Well, for one, they need to be agile. Able to be changed to accept new information. Whether this is to take a route around a big problem or to seize any opportunity that presents itself. They need to be easy to understand. If they are understandable they can be discussed, and contradictions, repetition, and ambiguity can be discovered and resolved. They need to address the as-yet-unborn app from the point of view of ‘what does the user want’ and ‘how are we going to meet that need’. Further, they need to stay useful and grow alongside our new app as it develops in its early life. There is a way to do this. It involves the use of stories. I prefer to use two types of stories. The ‘what does a user want’ can be expressed as a high-level story. It might be that not all of the events or stages in that story involve the app we are planning. The user, in this case, a kind of ‘persona’ to represent a type of user, goes on a journey in which there are interactions with the app.
Buy this shirt: Black the blue American Flag shirt