Tag Info

Hot answers tagged

12

To be honest, after spending close to two years immersed in Agile development, I still think "user story" is just a fancy term for "functional requirement". It's different at a superficial level, e.g. it always takes a certain form ("as an X, I want Y so that Z..."), but the key elements - identifying the stakeholder and the rationale - are also inherent in ...


11

functional requirements What the system is supposed to do, process orders, send bills, regulate the temperature etc. etc. operational requirements These are about how to run the system. Logging, startup/shutdown controls, monitoring, resource consumption, back up, availability etc.etc. technical requirements These are about how the system is ...


10

Baby steps. Continue to write the SRS for a while. Then call a meeting and discuss whether they still serve a purpose. Does anyone still read them? Is the time spent on them justified? Is there another intermediate step that would be more lightweight? You never know, you might find that you're wrong. Remember the Agile manifesto, we find more value in ...


9

I would say that it depends entirely on the nature of your business and the type of client relations you have. Do you or your client have a pressing pressing "salt at the dinner table" need? Do you or your client often need condiments of other sorts? Do you or your client have a history of needing "just this one thing" and then needing that "just one ...


8

Loads to be said about all that. Due to this being Programmers.SE I will ignore the aspect about falling out of favor with some folks and your "baffledness". If you want input on those, I suggest you pay workplace.SE a visit instead. Apart from that, let's look at the technical issues here: You are a developer (I assume here), that tells the QA how to do ...


7

Ron Jeffries wrote a long time ago about the 3Cs of user stories (http://xprogramming.com/articles/expcardconversationconfirmation/) with the emphasis on a card (short description), conversation between the customers and the delivery team once a user story becomes actionable, and the agreed confirmation of a story after that conversation. essentially, ...


6

One thing you should definitely consider is that they too may be reacting to lots of time critical requests. Taking your example of "change the text to 10pt, then the next day change it to 12pt", unless you have reason to believe that they are deliberately screwing with you, which it does not seem like they are doing, then think about why are they asking for ...


6

Epics are Placeholders In just about an Agile methodology the concept of Epics would be as much as you should need for a Requirements Specification, place holders is what you need at that level. Those entries will be prioritized constantly, any more detail is wasted effort if the requirement gets low priority for a long time, or never even gets implemented. ...


6

One strategy: Consider the SRS ID as just a number, and don't imply any strong notion of consecutive order (The social security number is a reasonable example.) Don't recycle numbers. When an ID in a sequence is deleted, mark it "Deleted", "Deprecated", etc. I prefer to keep the requirement text in the deleted item so that I have a running record of the ...


5

Congratulations! You have ascended from programmer/hacker/coder to software engineer, the advanced level at which architecture is a concern. Many professionals in coding never advance that far and never ask this question, so you should be justifiably proud of yourself. Architecture is precisely what you crave: it is all about observing principles that make ...


5

The short answer is that it is difficult, but not completely impossible to manage changes. You have to realize though that changes always happen and they're most likely new ideas that have never been considered in scope before. Now onto the long answer: there are many different strategies you can consider to manage changes all with pros and cons. Below is ...


5

If you don't have an assumptions section you will just have the unknown assumptions of the programmers while they were coding. You have to constantly make deliberate and unconcious assumptions when you are building something - you might as well have them written down.


5

To me, a critical element of a User Story is that it captures Why and How a user uses the system. It is especially useful because it does not specify much in the way of how the system delivers the required functionality. When UI and Usability testing is needed, the User Story may be the most important document. Sure, you can have selenium verify that ...


4

Trying to do TDD out-of-blue on highly complex requirement is never good idea. TDD is meant as long-term approach and commitment. TDD won't make it easy to implement change requests and new features overnight. Also, like Carl said, having answers as "if possible" and "maybe" only shows lack of understanding and commitment from side of management. If you ...


4

One thing to do is to try to be forward looking and design your data structures to be able to handle a change, even if you don't put the algorithms and user interface around it yet. Take your Android multi-user functionality as an example. When designing the single user API, ask yourself if you ever have more than one user, if your design will make it easy ...


4

Requirements will grow and change. I don't think anyone could argue that. How to collect and process incoming requests. In my experience it helps when gathering requirements if there is a single or very small group of customers acting as a filter for delivering new or updated requirements to a small group of development planners. Anyone from their side ...


4

There is no reason that all the conditions have to be one requirement. The system shall sell alcohol only to those older than 18. The system shall require proof of age to sell alcohol. The system Shall not sell alcohol to those with alcohol related problems. These are all perfectly valid requirements, and the system is not valid unless it meets all the ...


4

They're the client. They get to decide what they want and what they don't want. The way you get them to tell you what they don't really need is by attaching time and dollar estimates to the unnecessary features. They will quickly realize which features are really important to them. Before signing a contract with a client involving money, you need to know ...


3

It is hard to tell what metrics to collect for an unknown project with unknown goals. I would strongly recommend you to take a look at some kind of goal definition approach (such as GQM). Using this methodology you might come with metrics that best suit your needs. Basically, GQM (goal, question, metric) defines a process where: you first define your ...


3

The first programmer is better. YAGNI is in play, and a program that passes arbitrary condiments isn't worth 200% more in the face of requirements that requested a program that passes salt.


3

The effect on contributing systems is irrelevant at the level of a user story. The user does not care how it works. As a [user role], I want [something] so that [benefit] Ex: As a [mobile phone customer], I want [buy a phone] so that [I can make phone calls]. Note the total absence of any mention for the need to build cell towers ;)


3

Requirements are that and only that: what is the required outcome for the system in question? In this case, the System Requirements appears to be: Application A must be able to: install a new service of type 1, 2, or 3 change the service type of an existing service of type 1, 2, or 3 disconnect a service of type 1, 2, or 3 in ...


3

User Stories capture the need of a user to be able to do something, the details of which will be elaborated on during the iteration in which a team takes on that story. That is, a User Story is the basis for a discussion--it is not "Requirements" as such. So, system requirements should come up in that discussion that occurs during the iteration. Note that ...


3

"Product Owner" is a term from Scrum, which is only one form of Agile. Scrum is really designed around the notion of small teams of seven plus or minus two, who do all the development and testing of the project solution. The Team would work with a Product Owner, who owns what goes into the project and what does not. To scale Scrum, organizations have ...


3

As described, it sounds like a design decision, not a system requirement. I think the requirement should sound like this: "The marklar depends on the user's state of residence. For users in NY, NJ ... . For users in WA, ... etc." or "The marklar depends on the user's state of residence, and is calculated according to the following table: ..."


3

Assumption is a strong word. You definitely do want an assumptions section. But you also definitely do want that section to be validated for accuracy. If, for example, you are designing an app with the assumption that all of its users will be power users, then it had better be true. So basically, call it what you want (assumptions, prerequisites, ...


3

This sounds like your agile system of working with the stakeholder is almost-but-not-quite working. Firstly, imperative user stories (you should give an example) are simply more detailed, so you can generate better tests from it. Taking this example shows that they do work, but are brittle in the face of changing customer requirements. If the customer has ...


3

Rather than thinking of this customer as 'difficult' which is negative, how about seeing that just they want to be really involved in the process? Perhaps their experience with working with other suppliers has benefited from a close working relationship? Historically, she has been allowed to completely dominate the development process Do you have ...



Only top voted, non community-wiki answers of a minimum length are eligible