299
votes
Accepted
Should the solution be as generic as possible or as specific as possible?
My rule of thumb:
the first time you encounter the problem, only solve the specific problem (this is the YAGNI principle)
the second time you run into the same problem, consider generalizing the ...
97
votes
Should the solution be as generic as possible or as specific as possible?
A specific solution [...] requires more work in the future if similar requirement is needed
I have heard this argument several dozen times, and - to my experience - it regularly turns out to be a ...
84
votes
Accepted
How to develop excellent software with agile methods?
The formal answer is you misunderstood agile, agile does not dictate requirements, stakeholders do. The core of agile is not to carve your requirements in stone but rather have them emerge as you go, ...
77
votes
How to develop excellent software with agile methods?
There doesn't even seem to be a place for attractive qualities in agile.
You are comparing apples and oranges. In traditional waterfall, if your requirements say you need the must-haves, you get a ...
66
votes
Should the solution be as generic as possible or as specific as possible?
TL;DR: it depends on what you're trying to solve.
I've had a similar conversation with my Gramps about this, while we were talking about how Func and Action in C# are awesome. My Gramps is a very old ...
55
votes
Accepted
How to deal with stories that share functionality
User Stories are not system specifications or functional requirements. Rather, they are the beginning of a conversation that can lead to such specifications or requirements.
Accordingly, I would ...
36
votes
Accepted
Robustness vs Correctness Competition
There are many situations in which these two might be in conflict. For instance, robustness can involve resilience under heavy load. If an approximate (i.e., incorrect) response to a request can be ...
36
votes
Where can I find requirements specification for Open Source software?
Requirements don't need to be captured in a formal software requirements specification or any other kind of document. They can be captured in tests (primarily acceptance tests and system tests, but ...
35
votes
Accepted
Should an e-commerce application reserve products before attempting payment?
You have two excellent answers (I've upvoted both). But they each address only a part of the problem, and this is why I feel obliged to come with a third answer
Your challenge is hybrid:
It's a ...
32
votes
Should "between x and y" be commutative?
If your current spec leaves this undefined, the behaviour is completely arbitrary, there is no "right" or "wrong" definition. So if your QA engineer cannot point you to the exact paragraph in the spec ...
30
votes
Accepted
Phrasing a requirement about filename encodings
The requirement, as stated, is fuzzy to me.
The first question I would have is: how many character encodings need to be supported? Possible interpretations include:
Every encoding ever devised, ...
28
votes
Accepted
How can user stories not contain requirements (when written on a card) and still be implementable
This answer will focus on how to work with User Stories and lower level requirements. I won't be discussing the virtues, or lack thereof, of Scrum or Agile. I won't be talking about gurus either.
...
28
votes
How to develop excellent software with agile methods?
However, all agile processes I know strongly favor must-be requirements. These always get the highest priority.
As they should - look at your Kano model again: if the must-be requirements are not ...
24
votes
Accepted
How to avoid rewriting parts of an application
As I commented, I have a strong feeling that the requirements were not clear the first time or probably you missed some important details.
Not everything can be addressed with better code, best ...
21
votes
How to actually find out what has to be done in object oriented design?
So how can I learn to really do object oriented design? What I want to learn is: given requirements know how to get started working on them in a process that leads to find out what has to be done and ...
20
votes
Is deciding the release date before collecting all requirements un-agile?
There's absolutely no "Agile" problem with having a fixed release date if you're prepared to move one of the other two edges of the "iron triangle": the requirements for what needs to be in that ...
20
votes
Accepted
Where can I find requirements specification for Open Source software?
Don't let the software prevent you from seeing the projects.
I challenge the idea that you need requirements for a software. And suggest that requirements are for software projects. And that there are ...
18
votes
Should an e-commerce application reserve products before attempting payment?
This isn’t a software problem, it’s a business problem.
You should ask the business how they want to handle the situation. Perhaps they simply want to take the order and ship it a little bit late. For ...
18
votes
Where can I find requirements specification for Open Source software?
Some good answers here already, especially for your question where requirements are found in Open Source projects. Let me say something about the reasons why is it hard to find a formal spec document ...
17
votes
Accepted
How to document non-functional requirements in User Stories?
Non-functional requirements come in many forms, but they have one thing in common: The don't describe functional behavior of the system but rather put constraints on the design choices that you can ...
17
votes
Robustness vs Correctness Competition
These two are just examples as you said. In fact, all non-functional requirments of that sort can potentially conflict with each other. In the book "Building Evolutionary Architectures" there is a ...
16
votes
When does the team discuss requirements when using Kanban?
You're right that Kanban doesn't have the concept of Sprints or Sprint Planning like Scrum does. That's because it's a leaner methodology. More things are done just-in-time.
It's up to you to decide ...
16
votes
Accepted
Why bother gathering requirements when we know they will change?
Because not all requirements do change, and not all requirements change in the same ways. You're not going to spend awhile working on software to manage a warehouse, only to suddenly decide to instead ...
15
votes
How to deal with stories that share functionality
Don't: Try and split the stories, Do one story and then the other.
Do: Ensure the dev team is aware of the second story.
The problem with trying to plan out the detailed tasks and thing up a generic ...
15
votes
Accepted
How to deal with a large codebase with no requirements and the responsible person leaving the company soon
I have ported several older VB6 applications to the .NET framework, all of them with almost no documentation, from that experience I can I give you some recommendations. First, let me say, getting rid ...
14
votes
Phrasing a requirement about filename encodings
The requirement that you've written doesn't have the characteristics of a good requirement. Specifically, it's not cohesive, it's not atomic, and it's not unambiguous. Because of the lack of these ...
14
votes
Should the solution be as generic as possible or as specific as possible?
Primarily, you should try to anticipate whether it is likely that such a change will occur - not just a remote possibility somewhere down the line.
If not, it's usually better to go for the simple ...
14
votes
Should an e-commerce application reserve products before attempting payment?
Look at it from the user's side: would you like to order a product, go thru all the payment details page (including, for example, entering credit card data), having your card charged, then having the ...
13
votes
Accepted
Requirements Gathering in SCRUM. Acceptable to talk about High Level requirements in first sprint?
In Scrum, requirements go in user stories. The product owner is responsible for talking to all of the stakeholders and gathering requirements. There is generally no single requirements document at ...
13
votes
Should "between x and y" be commutative?
This is a usability or user experience question. How SQL or any other system behaves is irrelevant, the question is what makes most sense from a users perspective.
The current behavior does not make ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
requirements × 373requirements-management × 50
agile × 45
design × 42
use-case × 39
project-management × 36
specifications × 35
documentation × 34
user-story × 26
systems-analysis × 20
uml × 18
scrum × 15
functional-requirements × 14
development-process × 13
software × 10
architecture × 8
communication × 8
engineering × 8
testing × 7
terminology × 7
diagrams × 7
project × 7
user-experience × 7
client-relations × 7
sdlc × 7