The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
Requirements are Gathered (From the customer/consumer)
Specifications are Written (for the developers)
But the lack of either or both, is a MANAGEMENT problem IMO. Now it is either the problem of a bad manager, or a poorly managed process.
Tiny projects. You can be a little sloppy.
But lets say you are trying to replace the FAA Radar/Plane Tracking systems?
(An upgrade that has failed more than once)
You get to the point where the exactness of the Requirements "feel" like Specifications, but they are really not. Because they should not be "specifying HOW to get the job done" just what the result is Required to be!
Requirements and specifications should be handled by the business team and/or product owner.
Requirements: I want a form to enter in someone's name. Specifications: The text boxes have to be next to each other, on the same horizontal line.
These two can be in the same document or in separate documents; it all depends on how things are done at your company or with the client.
Software design document: You take the requirements and specifications, and you paraphrase them, but this time you add the detailed design specs on how to accomplish the business ask.
Theoretically, you should be able to hand a well written design document to a team and only need to answer minimal questions, or have very few subsequent follow up meetings on the SDD. I say theoretically, because theory and application are so far apart sometimes.
Good point in "theory". Many software companies mixed RS. I've seen too many places where the line between requirement and specification is gray. To me that's very confusing.
A requirement is what end users tell me what they want in non-technical terms. A specification is the translation of user's terms to a bounded and testable terms. Both documents should be done separately.
Specification is what you get from the manager in a group meeting with some motivational powerpoint presentation after the customer's requirement has gone through the "telephone game" from sales person to marketing to CEO to CFO to CTO to corporate manager to product manager to your manager (I'm sure I'm missing another 50 layers.)
This is really a confused question. To "specify" something is to "identify (something) clearly and definitely". One can specify a requirement. One can specify a design. One can specify a test. If you want a good example of how things like this are named, research the specifications (and similar documents, like plans or standards) used by the U.S. Department of Defense, or the IEEE, or ISO.
For every stated need, there is a stated deliverable.
A "Correspondence Matrix" shows the relationships.
Need Deliverable Design Code Test
Element Element Element
aN aD aDE aCE aTE
bN bD bDE bCE bTE
cN cD cDE cCE cTE
... ... ... ... ...
"I intend to live forever - so far, so good." Steven Wright
"I almost had a psychic girlfriend but she left me before we met." Also Steven Wright
"I'm addicted to placebos. I could quit, but it wouldn't matter." Steven Wright yet again.
If you have project creep, then your project should be managed using "agile" technique. Ship the first version of the product when it does something concrete, then update continuously according to the whims of the paying customer.
This is one of the great distinctions between waterfall ("design everything up front") versus agile ("start simple and manage the mission creep") styles. With agile, your customer gets something useful sooner and is generally happier in the long run since new ideas and features can be added as part of the plan.
Obviously a lot of effort has to go into properly creating and maintaining these documents which is why many organizations skip over or combine these steps. Or even call them by a different names for emphasis to a given audience.
How and why would be well beyond the scope of this reply there lots of different opinions out there on what is really important in the process.
I have been using Visual Studio 2015 Community Edition for some time and am generally pleased with it. Yesterday I noticed Update 2 for it was available. So I set it to install with some other features (like Azure stuff).
I should have known what to expect when the upgrade took nearly 2 hours! Once it was done, I ran a brief test and it seems to work OK, although VS took a little longer to load. But then I checked my systems drive. I had 30 GB (that is thirty-giga-bytes) less free space.
Fortunately I have lots of spare space on the drive. But 30GB for an upgrade!? Wow! VS is really getting more bloated every year.
And all I want to do, is to re-engineer a simple Windows WPF desktop app into an Apple desktop app. And for all its bloated size, VS2015 Update 2 does not seem able of this simple task! Xamarin is all about iOS and Android. It does not seem to have any capability to output anything for Apple desktops. Aaaaaaaaaaaaaargggggh!
Yep, same experience here...even after downloading and running from the iso, two installs on two different machines were 2+ hours each. I really haven't started using it yet, just a POC for an Android app using Xamarin, and another POC for a IVR/softphone app. I still use VS 2010 for most stuff.
some of that is probably temporary stuff that can be deleted and it's probably also the update install download which can be deleted.
But, yeah, it's bigger.
Government can give you nothing but what it takes from somebody else. A government big enough to give you everything you want is big enough to take everything you've got, including your freedom.-Ezra Taft Benson
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
Last Visit: 31-Dec-99 19:00 Last Update: 28-Feb-21 14:07