Tag Info

Hot answers tagged

12

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 ...


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 ...


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 ...


8

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, ...


8

This seems to me to be the unspoken elephant in the room with Agile projects: how do you prevent them from evolving into chaos? Let's look at the Agile Manifesto for a moment. Agile desires: Early and continuous delivery Embracing changing requirements Delivering working software frequently Developers and business stakeholders working together daily ...


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 any 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 ...


6

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 ...


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

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

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

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

I would look at this as an iterative process. Step 1 is to gather requirements. Step 2 is to sort them. Step 3 is to prioritize them. Step 4 is the break each down into small enough bits to estimate effort. Step 5 is to coalesce these bits into a global effort bucket (let's say 84 person-days). Step 6 is to map the effort to resources (84 person-days / 2 ...


3

I have almost been there, implementing the solution that I am about to describe. The reason I am not currently using that is... well, besides my personal preference for other version control systems rather than TFS, is that the company using it found a more suited software for this. In TFS, this is easy to implement. Whether you want to use "bug", "task" or ...


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

If you are the one receiving the informal information/suggestion, ask the person to send you an email. Apologize in advance and stress that you don't want to forget about such a good idea and that your boss prefers a more formal process before considering anything. I don't think you need a separate system for tracking, but requests should be identified. Not ...


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 ...



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