Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. "What is requirement" vs. "What is design"

"What is requirement" vs. "What is design"

Scheduled Pinned Locked Moved The Lounge
helpquestionvisual-studiodesignhardware
29 Posts 19 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Frygreen

    Dear reader, I have an issue with the right balance between "what to have as requirement" and "what to have as design/architecture". Both have consequences in my projects. Let me try to explain it with two project-szenarios ( from embedded safety-critical systems engineering ) Szenario 1: There is a subsystem to develop (e.g. handling data of a sensor). The requirements-engineer writes a lot of requirements for this subsystem (lets say 500 requirements). Developers are designing and coding the system. So far so good. Problem: there are 500 requirements to validate somehow. If the complete system is handled in this way, there are actually 15.000 requirements to validate/test: Pure nightmare Szenario 2: These guys are seeing the topic more relaxed. They are creating only 5 requirements. The developers have now much more design/architectural choices and finally (let's assume) have the same solution. Advantage here: There are only 5 requirements to test/validate and the complete development is much faster now Did I explain my problem right? If I move anything in my design-documents, I save a lot of time for testing. But something seems to be strange here and I do not know what. Where is the right balance? Is there any theory behind

    W Offline
    W Offline
    wizardzz
    wrote on last edited by
    #7

    User scenario #1. Why? Two words: Scope Creep [^]. [Modified] Also, the number of tests may sound daunting, but if those are the requirements, they must be coded and tested to ensure quality. Is the motivation of using #2 to simply speed up the dev / test / release cycle?

    "Life should not be a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside in a cloud of smoke, thoroughly used up, totally worn out, and loudly proclaiming "Wow! What a Ride!" — Hunter S. Thompson

    1 Reply Last reply
    0
    • F Frygreen

      Dear reader, I have an issue with the right balance between "what to have as requirement" and "what to have as design/architecture". Both have consequences in my projects. Let me try to explain it with two project-szenarios ( from embedded safety-critical systems engineering ) Szenario 1: There is a subsystem to develop (e.g. handling data of a sensor). The requirements-engineer writes a lot of requirements for this subsystem (lets say 500 requirements). Developers are designing and coding the system. So far so good. Problem: there are 500 requirements to validate somehow. If the complete system is handled in this way, there are actually 15.000 requirements to validate/test: Pure nightmare Szenario 2: These guys are seeing the topic more relaxed. They are creating only 5 requirements. The developers have now much more design/architectural choices and finally (let's assume) have the same solution. Advantage here: There are only 5 requirements to test/validate and the complete development is much faster now Did I explain my problem right? If I move anything in my design-documents, I save a lot of time for testing. But something seems to be strange here and I do not know what. Where is the right balance? Is there any theory behind

      J Offline
      J Offline
      Joan M
      wrote on last edited by
      #8

      Szenario 1... :drool: IS THIS REALLY POSSIBLE???? is out there somebody capable to make a good requirement list? This is the best of the cases... choose always all the requirements. More requirements means better design, better testing, programming knowing the real goal... This is a dream come true.

      [www.tamelectromecanica.com] Robots, CNC and PLC machines for grinding and polishing.

      1 Reply Last reply
      0
      • F Frygreen

        Dear reader, I have an issue with the right balance between "what to have as requirement" and "what to have as design/architecture". Both have consequences in my projects. Let me try to explain it with two project-szenarios ( from embedded safety-critical systems engineering ) Szenario 1: There is a subsystem to develop (e.g. handling data of a sensor). The requirements-engineer writes a lot of requirements for this subsystem (lets say 500 requirements). Developers are designing and coding the system. So far so good. Problem: there are 500 requirements to validate somehow. If the complete system is handled in this way, there are actually 15.000 requirements to validate/test: Pure nightmare Szenario 2: These guys are seeing the topic more relaxed. They are creating only 5 requirements. The developers have now much more design/architectural choices and finally (let's assume) have the same solution. Advantage here: There are only 5 requirements to test/validate and the complete development is much faster now Did I explain my problem right? If I move anything in my design-documents, I save a lot of time for testing. But something seems to be strange here and I do not know what. Where is the right balance? Is there any theory behind

        F Offline
        F Offline
        Frygreen
        wrote on last edited by
        #9

        wow, such many, such fast answers: thank you. Ok, I understand. It is common opinion that szenario 1(based on detailed requirements-engineering)is clearly the preferred one. There are many arguments for this point of view. I will keep this in my mind tomorrow :-)

        H 1 Reply Last reply
        0
        • F Frygreen

          Dear reader, I have an issue with the right balance between "what to have as requirement" and "what to have as design/architecture". Both have consequences in my projects. Let me try to explain it with two project-szenarios ( from embedded safety-critical systems engineering ) Szenario 1: There is a subsystem to develop (e.g. handling data of a sensor). The requirements-engineer writes a lot of requirements for this subsystem (lets say 500 requirements). Developers are designing and coding the system. So far so good. Problem: there are 500 requirements to validate somehow. If the complete system is handled in this way, there are actually 15.000 requirements to validate/test: Pure nightmare Szenario 2: These guys are seeing the topic more relaxed. They are creating only 5 requirements. The developers have now much more design/architectural choices and finally (let's assume) have the same solution. Advantage here: There are only 5 requirements to test/validate and the complete development is much faster now Did I explain my problem right? If I move anything in my design-documents, I save a lot of time for testing. But something seems to be strange here and I do not know what. Where is the right balance? Is there any theory behind

          N Offline
          N Offline
          Not Active
          wrote on last edited by
          #10

          In scenario 2 what you seem to be referring as requirements are what I would call use cases. The use case would define the operation of the system from a users perspective, and what and how the tests should be conducted. The architect would then create the requirements from this. In most projects I have worked on there is one requirements document with many modules. I would doubt the effectiveness of only five tests to adequately cover a complex system.


          I know the language. I've read a book. - _Madmatt

          1 Reply Last reply
          0
          • P Pete OHanlon

            You seem to be missing the point slightly. Without requirements, you cannot effectively have design. How do you prove that a system works if you don't know what it's supposed to do. I am always amazed when companies think it's OK to start developing systems before they have fully gathered the requirements. If you do this, then you are actively shooting yourself in the foot. By the way, why does nobody seem to want to produce acceptance criteria? Without knowing what the criteria by which your application will be judged successful is, how can you prove to the client that you have delivered what they want. I appreciate that scenario 2 is close to the SCRUM mentality of just enough requirement, but frankly I don't by into this viewpoint. Having tried this out with clients in the past, I can tell you that this is ripe for scope creep and never delivering your application because there's always that little bit more that comes into scope. I believe there's a new term in vogue right now called Emergent Design, where you code and hope that a design comes out of it - we used to know this as either JFDI or "Making this sh*t up as we go along".

            I'm not a stalker, I just know things. Oh by the way, you're out of milk.

            Forgive your enemies - it messes with their heads

            My blog | My articles | MoXAML PowerToys | Onyx

            N Offline
            N Offline
            Not Active
            wrote on last edited by
            #11

            Pete O'Hanlon wrote:

            close to the SCRUM mentality of just enough requirement

            I've seen this misunderstood and abused. Requirements may not be fully fleshed out at first but no project I've worked on has succeeded without adequate and complete requirements in the end.


            I know the language. I've read a book. - _Madmatt

            P 1 Reply Last reply
            0
            • F Frygreen

              Dear reader, I have an issue with the right balance between "what to have as requirement" and "what to have as design/architecture". Both have consequences in my projects. Let me try to explain it with two project-szenarios ( from embedded safety-critical systems engineering ) Szenario 1: There is a subsystem to develop (e.g. handling data of a sensor). The requirements-engineer writes a lot of requirements for this subsystem (lets say 500 requirements). Developers are designing and coding the system. So far so good. Problem: there are 500 requirements to validate somehow. If the complete system is handled in this way, there are actually 15.000 requirements to validate/test: Pure nightmare Szenario 2: These guys are seeing the topic more relaxed. They are creating only 5 requirements. The developers have now much more design/architectural choices and finally (let's assume) have the same solution. Advantage here: There are only 5 requirements to test/validate and the complete development is much faster now Did I explain my problem right? If I move anything in my design-documents, I save a lot of time for testing. But something seems to be strange here and I do not know what. Where is the right balance? Is there any theory behind

              F Offline
              F Offline
              Frygreen
              wrote on last edited by
              #12

              It's me again: Let me take another position. In my project I am now the experience professional, I know how to perform RequirementsEngineering as well as how to apply high-valued design/architecture. Therefore: Instead of giving "my" developers many detailed requirements, I decide to have a very detailed design-documentation. In this way, I have the material not in an requirements-engineering-tool (e.g. doors) but in a word-document ( or an uml-model ). What's suspicious with this? Requirements are now somehow transformed :-))

              N J 2 Replies Last reply
              0
              • P Pete OHanlon

                You seem to be missing the point slightly. Without requirements, you cannot effectively have design. How do you prove that a system works if you don't know what it's supposed to do. I am always amazed when companies think it's OK to start developing systems before they have fully gathered the requirements. If you do this, then you are actively shooting yourself in the foot. By the way, why does nobody seem to want to produce acceptance criteria? Without knowing what the criteria by which your application will be judged successful is, how can you prove to the client that you have delivered what they want. I appreciate that scenario 2 is close to the SCRUM mentality of just enough requirement, but frankly I don't by into this viewpoint. Having tried this out with clients in the past, I can tell you that this is ripe for scope creep and never delivering your application because there's always that little bit more that comes into scope. I believe there's a new term in vogue right now called Emergent Design, where you code and hope that a design comes out of it - we used to know this as either JFDI or "Making this sh*t up as we go along".

                I'm not a stalker, I just know things. Oh by the way, you're out of milk.

                Forgive your enemies - it messes with their heads

                My blog | My articles | MoXAML PowerToys | Onyx

                L Offline
                L Offline
                Lost User
                wrote on last edited by
                #13

                Pete O'Hanlon wrote:

                I am always amazed when companies think it's OK to start developing systems before they have fully gathered the requirements.

                Requirement for a system we are doing (it was previously part of a much larger system, part bought, heavily modified after we bought the source code, in a different language) was "same as it currently does without all the bits we don't like". The requirements effectively come from the users each time they get shown what it currently does. It is also being developed to integrate with another system we have bought in which is being customised and configured by an external company. However they are doing their work at the same time. And the business processes keep changing as they realise what each system can, cannot, or currently does do. Surprisingly it is not going very well and the developers on the project are all extremely grumpy. I on the other hand, am finding the whole process highly amusing.

                Every man can tell how many goats or sheep he possesses, but not how many friends.

                1 Reply Last reply
                0
                • F Frygreen

                  It's me again: Let me take another position. In my project I am now the experience professional, I know how to perform RequirementsEngineering as well as how to apply high-valued design/architecture. Therefore: Instead of giving "my" developers many detailed requirements, I decide to have a very detailed design-documentation. In this way, I have the material not in an requirements-engineering-tool (e.g. doors) but in a word-document ( or an uml-model ). What's suspicious with this? Requirements are now somehow transformed :-))

                  N Offline
                  N Offline
                  Not Active
                  wrote on last edited by
                  #14

                  Requirements are meant to be, and should be, unambiguous. There is no room for different interuptations of how a component should function. If developer A expects a method to return an int but developer B codes for a string, you have problems. Look at the Mars Lander. One team expected metric measurements they other did not.


                  I know the language. I've read a book. - _Madmatt

                  1 Reply Last reply
                  0
                  • M Marc Clifton

                    Frygreen wrote:

                    there are actually 15.000 requirements to validate/test: Pure nightmare

                    On the contrary. This is pure joy!

                    Frygreen wrote:

                    There are only 5 requirements to test/validate and the complete development is much faster now

                    Now this is pure nightmare, because those 5 requirements were not thought out. Not only will they not explode to 15,000 but because those 15,000 aren't actually ever stated, your project is guaranteed to fail. I'm not sure if there is a balance. The more specs, the better the requirements, the better. The real question is, how do you test the requirements. That's the fun part! Marc

                    My Blog

                    L Offline
                    L Offline
                    Leslie Sanford
                    wrote on last edited by
                    #15

                    Marc Clifton wrote:

                    real question is, how do you test the requirements.

                    Hmm, I wonder if requirements could be written in a declaritive way using a logic programming language. Then the requirements could be "run" to see if they are self-consistent.

                    M 1 Reply Last reply
                    0
                    • N Not Active

                      Pete O'Hanlon wrote:

                      close to the SCRUM mentality of just enough requirement

                      I've seen this misunderstood and abused. Requirements may not be fully fleshed out at first but no project I've worked on has succeeded without adequate and complete requirements in the end.


                      I know the language. I've read a book. - _Madmatt

                      P Offline
                      P Offline
                      Pete OHanlon
                      wrote on last edited by
                      #16

                      Mark Nischalke wrote:

                      no project I've worked on has succeeded without adequate and complete requirements in the end.

                      That's the point. Just because you haven't fully fleshed out a requirement, it's still a requirement. Is it a functional requirement? Is it none functional? Is it OK to wait until 6 months into the project before introducing performance requirements? Having just finished with a 3 year project where the requirements were written in water because the client wanted to use this, I can testify to the pain it causes - especially when you have to scrap something because they change a requirement such as "it must run in SQL Server" to "it's got to run on Oracle on a Linux box using Oracle Spatial". That hurts development times, a lot, and ends up confusing the end customer because they aren't sure what they are going to receive, or when.

                      I'm not a stalker, I just know things. Oh by the way, you're out of milk.

                      Forgive your enemies - it messes with their heads

                      My blog | My articles | MoXAML PowerToys | Onyx

                      A 1 Reply Last reply
                      0
                      • L Leslie Sanford

                        Marc Clifton wrote:

                        real question is, how do you test the requirements.

                        Hmm, I wonder if requirements could be written in a declaritive way using a logic programming language. Then the requirements could be "run" to see if they are self-consistent.

                        M Offline
                        M Offline
                        Marc Clifton
                        wrote on last edited by
                        #17

                        Leslie Sanford wrote:

                        Hmm, I wonder if requirements could be written in a declaritive way using a logic programming language. Then the requirements could be "run" to see if they are self-consistent.

                        Exactly! While I've tried that, I have yet to succeed with non-trivial requirements, because they often require some significantly large pieces of data. What's missing, and what I've never taken the step to do, is to add the capability to capture the data and feed it into the application in a different way. For example, one application that I've written scans a Visio drawing that was manually created. The drawing is essentially the topology of a switch network. The application tests for situations in which the network cannot handle failed outputs. Needless to say, the application is complicated because of the way I do the testing (the algorithm solves the problem from a topology perspective, which is significantly faster than taking 5 years of processor time, literally, to test every switch permutation.) Anyways, there have been times when the algorithm erroneously reports an error, or vice versa. So I have this library of Visio drawings that I use to test prior errors in the algorithm, whenever I make a change. Geez, it would be so much easier if I had a button I could press that said "take a snapshot of the internal data structures". Sort of like a VM for the application's state. Anyways, sorry for the long-winded post! Marc

                        My Blog

                        1 Reply Last reply
                        0
                        • F Frygreen

                          wow, such many, such fast answers: thank you. Ok, I understand. It is common opinion that szenario 1(based on detailed requirements-engineering)is clearly the preferred one. There are many arguments for this point of view. I will keep this in my mind tomorrow :-)

                          H Offline
                          H Offline
                          HimanshuJoshi
                          wrote on last edited by
                          #18

                          Welcome. Glad that we can be helpful. One more teeny-tiny grammatical suggestion it is Scenario not Szenario.

                          P 1 Reply Last reply
                          0
                          • H HimanshuJoshi

                            Welcome. Glad that we can be helpful. One more teeny-tiny grammatical suggestion it is Scenario not Szenario.

                            P Offline
                            P Offline
                            Pete OHanlon
                            wrote on last edited by
                            #19

                            If only my German were a fraction as good as the posters English.

                            I'm not a stalker, I just know things. Oh by the way, you're out of milk.

                            Forgive your enemies - it messes with their heads

                            My blog | My articles | MoXAML PowerToys | Onyx

                            H 1 Reply Last reply
                            0
                            • P Pete OHanlon

                              If only my German were a fraction as good as the posters English.

                              I'm not a stalker, I just know things. Oh by the way, you're out of milk.

                              Forgive your enemies - it messes with their heads

                              My blog | My articles | MoXAML PowerToys | Onyx

                              H Offline
                              H Offline
                              HimanshuJoshi
                              wrote on last edited by
                              #20

                              Hmmm and If only my English was as good as your English, and don't even think about my German.

                              1 Reply Last reply
                              0
                              • F Frygreen

                                Dear reader, I have an issue with the right balance between "what to have as requirement" and "what to have as design/architecture". Both have consequences in my projects. Let me try to explain it with two project-szenarios ( from embedded safety-critical systems engineering ) Szenario 1: There is a subsystem to develop (e.g. handling data of a sensor). The requirements-engineer writes a lot of requirements for this subsystem (lets say 500 requirements). Developers are designing and coding the system. So far so good. Problem: there are 500 requirements to validate somehow. If the complete system is handled in this way, there are actually 15.000 requirements to validate/test: Pure nightmare Szenario 2: These guys are seeing the topic more relaxed. They are creating only 5 requirements. The developers have now much more design/architectural choices and finally (let's assume) have the same solution. Advantage here: There are only 5 requirements to test/validate and the complete development is much faster now Did I explain my problem right? If I move anything in my design-documents, I save a lot of time for testing. But something seems to be strange here and I do not know what. Where is the right balance? Is there any theory behind

                                S Offline
                                S Offline
                                Stuart Rubin
                                wrote on last edited by
                                #21

                                This may or may not help you, but I like to think of requirements as "what the customer needs", even when the customer is some other guy/department in the company. If it's "implementation", it's design. If they really do care about some aspect of the implementation, then that part could be a requirement as well. Think of requirements as describing the black box. For example, here might be some requirements: The software shall store the settings of the last 100 users. This should NOT be a requirement, but your implementation: The software shall use a MySQL database to store settings. Some other requirements: The system shall be able to operate for 24 hours continuously without needing the recharge the battery. The system shall be powered by a 9V battery. [<-- This could be a requirement because it fits into some other department's, the mechanical design, needs.] But these would be implementation: The software shall throttle the processor when possible to conserve power consumption. Making something a spec does not get you off the hook from testing, but it may affect the nature of the test. BTW, it IS worth spending time on figuring out how you want to handle this!

                                1 Reply Last reply
                                0
                                • F Frygreen

                                  Dear reader, I have an issue with the right balance between "what to have as requirement" and "what to have as design/architecture". Both have consequences in my projects. Let me try to explain it with two project-szenarios ( from embedded safety-critical systems engineering ) Szenario 1: There is a subsystem to develop (e.g. handling data of a sensor). The requirements-engineer writes a lot of requirements for this subsystem (lets say 500 requirements). Developers are designing and coding the system. So far so good. Problem: there are 500 requirements to validate somehow. If the complete system is handled in this way, there are actually 15.000 requirements to validate/test: Pure nightmare Szenario 2: These guys are seeing the topic more relaxed. They are creating only 5 requirements. The developers have now much more design/architectural choices and finally (let's assume) have the same solution. Advantage here: There are only 5 requirements to test/validate and the complete development is much faster now Did I explain my problem right? If I move anything in my design-documents, I save a lot of time for testing. But something seems to be strange here and I do not know what. Where is the right balance? Is there any theory behind

                                  E Offline
                                  E Offline
                                  Eddy Walravens
                                  wrote on last edited by
                                  #22

                                  Requirements should be "reasonable" and implementation independent. Before you go to design create a specifications document: specifications should be "feasible", a selection of the requirements taking into account the feasibility, costs, time to implement etc. Create functional specifications and constructional specifications. Design is a process of alternate analysis and synthesis steps. During an analysis step the concerns are the correct understanding of the semantics, the completeness, and the consistency of the function of the Object System. In a synthesis step, the concerns are the correct replacement of functional semantics by formal semantics and the efficiency of the construction of the Object System. Good book: Building Strategy into design (Jan L.G. Dietz)

                                  1 Reply Last reply
                                  0
                                  • P Pete OHanlon

                                    Mark Nischalke wrote:

                                    no project I've worked on has succeeded without adequate and complete requirements in the end.

                                    That's the point. Just because you haven't fully fleshed out a requirement, it's still a requirement. Is it a functional requirement? Is it none functional? Is it OK to wait until 6 months into the project before introducing performance requirements? Having just finished with a 3 year project where the requirements were written in water because the client wanted to use this, I can testify to the pain it causes - especially when you have to scrap something because they change a requirement such as "it must run in SQL Server" to "it's got to run on Oracle on a Linux box using Oracle Spatial". That hurts development times, a lot, and ends up confusing the end customer because they aren't sure what they are going to receive, or when.

                                    I'm not a stalker, I just know things. Oh by the way, you're out of milk.

                                    Forgive your enemies - it messes with their heads

                                    My blog | My articles | MoXAML PowerToys | Onyx

                                    A Offline
                                    A Offline
                                    AntonyQ
                                    wrote on last edited by
                                    #23

                                    Coming from a safety critical system design background, requirements need to be detailed, unambiguous and unique. Having more requirements doesn't help the design/implementation process if they are of poor quality. I'd much rather develop a system based on 100 good, verifiable requirements than 1000 poor, conflicting, duplicating requirements. In the old days writing requirements was seen as a skill in its own right. Modern practises see it as a hoop to jump through to keep the process assurance team happy. Good requirements doesn't always mean you'll end up with a successful project, but bad requirements almost always lead to a poor result (both in meeting the customer's technical expectations and schedule).

                                    1 Reply Last reply
                                    0
                                    • F Frygreen

                                      Dear reader, I have an issue with the right balance between "what to have as requirement" and "what to have as design/architecture". Both have consequences in my projects. Let me try to explain it with two project-szenarios ( from embedded safety-critical systems engineering ) Szenario 1: There is a subsystem to develop (e.g. handling data of a sensor). The requirements-engineer writes a lot of requirements for this subsystem (lets say 500 requirements). Developers are designing and coding the system. So far so good. Problem: there are 500 requirements to validate somehow. If the complete system is handled in this way, there are actually 15.000 requirements to validate/test: Pure nightmare Szenario 2: These guys are seeing the topic more relaxed. They are creating only 5 requirements. The developers have now much more design/architectural choices and finally (let's assume) have the same solution. Advantage here: There are only 5 requirements to test/validate and the complete development is much faster now Did I explain my problem right? If I move anything in my design-documents, I save a lot of time for testing. But something seems to be strange here and I do not know what. Where is the right balance? Is there any theory behind

                                      P Offline
                                      P Offline
                                      patbob
                                      wrote on last edited by
                                      #24

                                      You have a problem allright.. in scenario 1 the requirements-engineer is designing the product and using the "requirements" to enforce their design. That's the problem. Its not their fault, but they do need to learn a new way of thinking about problem solutions -- one that doesn't involve trying to figure out what the solution is but merely setting the outline of it. I know from experience how hard that is. Try having the requirements engineer prioritize the requirements into the set of must-haves and nice-to-haves. If they still have trouble, have them think about must-haves as requirements that the product will not ship without meeting, even if it delays the product, even if people have to get laid off because shipment was delayed, or even if everybody has to take a pay cut because the shipment was delayed. Having such dire consequences in mind when making the evaluation might help them make the separation.

                                      patbob

                                      1 Reply Last reply
                                      0
                                      • F Frygreen

                                        It's me again: Let me take another position. In my project I am now the experience professional, I know how to perform RequirementsEngineering as well as how to apply high-valued design/architecture. Therefore: Instead of giving "my" developers many detailed requirements, I decide to have a very detailed design-documentation. In this way, I have the material not in an requirements-engineering-tool (e.g. doors) but in a word-document ( or an uml-model ). What's suspicious with this? Requirements are now somehow transformed :-))

                                        J Offline
                                        J Offline
                                        jschell
                                        wrote on last edited by
                                        #25

                                        Frygreen wrote:

                                        Instead of giving "my" developers many detailed requirements, I decide to have a very detailed design-documentation. In this way, I have the material not in an requirements-engineering-tool (e.g. doors) but in a word-document ( or an uml-model ).

                                        What's suspicious with this?

                                        There is no real difference with that an what you said before. A typical cycle is requirements -> design -> implementation -> test (validate requirements) Any or all of those can be explicit or implicit. Whether a project succeeds or not can depend on many things but certainly having someone doing any of the above steps in at least an adequate way is going to make that more likely. So someone that creates an explicit design without explicit requirments must still understand what the requirements are (implicit) and must be able to translate that into a usable design which others can use effectively.

                                        1 Reply Last reply
                                        0
                                        • F Frygreen

                                          Dear reader, I have an issue with the right balance between "what to have as requirement" and "what to have as design/architecture". Both have consequences in my projects. Let me try to explain it with two project-szenarios ( from embedded safety-critical systems engineering ) Szenario 1: There is a subsystem to develop (e.g. handling data of a sensor). The requirements-engineer writes a lot of requirements for this subsystem (lets say 500 requirements). Developers are designing and coding the system. So far so good. Problem: there are 500 requirements to validate somehow. If the complete system is handled in this way, there are actually 15.000 requirements to validate/test: Pure nightmare Szenario 2: These guys are seeing the topic more relaxed. They are creating only 5 requirements. The developers have now much more design/architectural choices and finally (let's assume) have the same solution. Advantage here: There are only 5 requirements to test/validate and the complete development is much faster now Did I explain my problem right? If I move anything in my design-documents, I save a lot of time for testing. But something seems to be strange here and I do not know what. Where is the right balance? Is there any theory behind

                                          M Offline
                                          M Offline
                                          Member 4400298
                                          wrote on last edited by
                                          #26

                                          Requirements describe "what" the system must do. Design address "how" the system will meet the requirements. It is not uncommon for the people writing the requirements to want to also do the design, but that impulse must be resisted. If you can't write a requirement in the form of "The system shall ...", then it ain't a requirement.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups