Community Page
- writethatdown.com/ Jump to website »
-
Subscribe -
Community
-
Top Commenters
-
Popular Threads
-
Recent Comments
- Thanks, Steven!
- Have to say - I did the same thing! Great article.
- Thanks, Chris! Glad you liked and I appreciate you subscribing to the blog!
- Great article! I actually subscribed to your RSS yesterday after reading it. Concise and effective.
- I am going to start in on the series this evening - been a hella crazy week!
Write That Down
Start-up Product Management.
What makes a good requirement?
That’s something that is completely open to interpretation. In my humble opinion, a good requirement is one that is clear and direct. It communicates what it is supposed to and then moves on.
No muss, no fuss.
There are many out there that will ... Continue reading »
That’s something that is completely open to interpretation. In my humble opinion, a good requirement is one that is clear and direct. It communicates what it is supposed to and then moves on.
No muss, no fuss.
There are many out there that will ... Continue reading »
9 months ago
Consider the need for feedback being the purpose of iteractions, and cash flow being reason for releases, you get more feedback, and more releases with fewer requirements even if you waterfall just one requirement if you don't work in an agile shop. You also reduce your risk with smaller requirements package.
So what is a requirement, a decision to develop something, a what, a functional requirement. That one functional requirement will spawn several non-functional requirements, decisions as to how well the what should work before it is released to the customer. They are decisions. They look like modal sentences.
Requirements are value packages. With smaller sets of requirements you can maximize the value delivered to the customer. You can also reduce the training effort required to use the delivered functionality. A series of small releases will get your customer up to speed quicker than a waterfall of all that funcitonality at the end.
9 months ago
I completely agree. I've always thought of features being a collection
of requirements. It just happens that agile "features" are usually 1:1
- 1 requirement, 1 feature. Whereas waterfall are typicall
many-to-one, as you point out in your comment.
The difference lies in how they are packaged and presented and worked
on, but not essentially what they are - that always remains the same.
Thanks for the thoughts and turning the perspective around.
9 months ago
9 months ago
the the post was un-clear, but I always think about a feature as a
collection of requirements; not necessarily 1:1. With agile, you can get in
to much trouble that way for the exact reasons you mention.
8 months ago
You can preview the book, which is written in English at: http://www.synergio.eu/?menuid=259
I am interested in your comments
7 months ago
read as soon as I can.
6 months ago
Most of us who have writen our own programs have used the agile process and we all know how that comes out.
Agile has its place in the developement world but it should be use for what it is good at. Rapid demos and software that is constanly changing. Its good for small teams that work together in a bullpin type of enviorment. Its not so good for large projects that have firm delivery dates or contractual needs. Its also not good for critical software (Banking, Aviation, atomic bombs and such).
In closing waterfall is all about comunicating in clear detail and envolving all the stakeholders.
6 months ago
But the major issues I have with waterfall is this - requirements change - you will never have 100% perfection and clarity up-front. Plus, most smaller companies can't afford such large overhead at the outset of a project. In addition, people need to talk regularly. Some developers in the waterfall mindset just want everything spelled out for them so they don't have to think; that's a bad sign. You want developers thinking - they are very smart people.
And, more importantly - you need people talking and discussing things. Asking questions instead of assuming what the requirements say is right, even if they think it's wrong or misplaced. The people writing requirements are not always right, and the rest of the organization can't expect them to be. In heavy waterfall organizations, you can inevitably end-up with perpetual finger-pointing in that scenario.
If a developer feels a "crystal, crisp, and clear" requirement sucks and is wrong, many times they will implement it anyway. Why? Because when it comes back to them as being a bug, it's easier to say, "I coded this to spec - that's a requirements bug" then it is for them to get up, ask the question, engage in the discussion, and maybe alter the requirement if necessary.
Conversely, the person writing requirements can argue, "well just because I made a typo or overlooked something that's common sense doesn't mean the developer doesn't have a responsibility to ask. That's a coding bug."
It's much easier to just foster communication and teamwork than writing huge amounts of requirements documentation and throwing it over a wall.