We are going through our planning process for our next delivery cycle at work. And one thing that keeps coming up is that the team is attempting to dive way too deep way too fast.
What do I mean?
Our goal for our planning is to define as many high level user stories as we can. We are also attempting to decompose those stories a bit to see if they need to be subdivided into smaller stories.
However, many times we find ourselves talking in terms of database tables, or object model methods/properties. Although this is all fine and dandy in some cases as it may flush out a huge issue early on. But, if you ask me early planning is NOT the time to start talking about architecture or database schema.
The reason this is bad (in my opinion) is:
- You are taking away from other stories that may need to be decomposed or created
- You are spending time talking about the product, and not producing the product. Remember the product is all the really matters at the end of the day
- Making design decisions this early can be counter productive and actually lead to major problems.
- There may be people in the room (QA, BA’s, etc) which simply do not care about the low level design decisions or may not completely understand those concepts. If this is the case you are not only wasting their time, but you may also find yourself spending time explaining details that are just not that important.
- I am sure there are more, but this is good for now.
Just keep this in the back of your mind. Try to hold of making the ‘important’ decisions till the last responsible minute. This will allow for better knowledge gathering and possible change. I will say this, it is up to your team to determine what the ‘last responsible minute’ is.
Till next time,
07-22-2009 8:30 AM