SlideShare una empresa de Scribd logo
1 de 71
Presented at a SA staff meeting at NCEN
by Liz Lavaveshkul
Source: TeleLogic
What is requirements management?
“The purpose of requirements
management is to establish a
common understanding between
the customer and the … project …
This agreement with the customer
is the basis for planning and
managing the … project.”
The Capability Maturity Model for Software (CMM) from the
Software Engineering Institute at Carnegie Mellon University.
www.sei.cmu.edu/cmm
Why is RM so important?
Approximately 60 – 70% of projects failures
result from poor requirements gathering,
analysis, and management.
-- Mela Group, March 2003
Why bother with Requirements?
• To show what results the users want
• To communicate and focus team members
on clear goals
• To tell decision-makers what is required
vs. desired
• To allow the design to be optimized
Why bother with Requirements?
• To supply confidence in the system
THOUGHOUT its development
• To check that the system and all its parts
do what is wanted
• To prevent over design or omitted needs
• To control development and outsourcing
Why do you need requirements
management?
• The status of the project is never clear until we find
we’ve missed project milestones
• We have very little formal development process
• The objectives always seem to change at the worst
times
• Change is very costly and time consuming for us
• We have difficulty communicating intent between
departments
• We end up over-engineering our solutions, which is
costly
Do any of the following statements seem familiar?
Why do you need requirements
management?
• We have trouble testing against original intent and stated
need
• We are never sure whether our tests are full and
complete
• Our test cycles are often too long and costly
• Our customers often include design in the requirements
• We have difficulty organizing requirements into smaller
manageable sets
Who should use a RM tool?
• Systems Engineers
demand functionality
• Highly advanced requirements
management and analysis
• Distributed users
demand collaboration
• Analyst/Architect
demand a common
language
• Reviewers demand
instant access from
any location
• Interested in central set of
requirements accessed
globally
• Need for multi-disciplines to
communicate more efficiently
• Not so advanced, mainly
interested in review
functionality
The Benefits of Requirements
Management
• Satisfaction
• Integration
• Testability
• Communication
• Visibility
• Change control
• Quality
• Optimization
• Compliance
The Benefits of Requirements
Management
• Satisfaction: real business needs met
• Integration
• Testability
• Communication
• Visibility
• Change control
• Quality
• Optimization
• Compliance
The Benefits of Requirements
Management
• Satisfaction: real business needs met
• Integration: the pieces work together
• Testability
• Communication
• Visibility
• Change control
• Quality
• Optimization
• Compliance
The Benefits of Requirements
Management
• Satisfaction: real business needs met
• Integration: the pieces work together
• Testability: know what to test the delivery against
• Communication
• Visibility
• Change control
• Quality
• Optimization
• Compliance
The Benefits of Requirements
Management
• Satisfaction: real business needs met
• Integration: the pieces work together
• Testability: know what to test the delivery against
• Communication: consistent ideas of what the
solution is for
• Visibility
• Change control
• Quality
• Optimization
• Compliance
The Benefits of Requirements
Management
• Satisfaction: real business needs met
• Integration: the pieces work together
• Testability: know what to test the delivery against
• Communication: consistent ideas of what the solution is for
• Visibility: managers can take a global
view
• Change control
• Quality
• Optimization
• Compliance
The Benefits of Requirements
Management
• Satisfaction: real business needs met
• Integration: the pieces work together
• Testability: know what to test the delivery against
• Communication: consistent ideas of what the solution is for
• Visibility: managers can take a global view
• Change control: the impact of change
can be assessed
• Quality
• Optimization
• Compliance
The Benefits of Requirements
Management
• Satisfaction: real business needs met
• Integration: the pieces work together
• Testability: know what to test the delivery against
• Communication: consistent ideas of what the solution is for
• Visibility: managers can take a global view
• Change control: the impact of change can be assessed
• Quality: we know what quality means for
the business
• Optimization
• Compliance
The Benefits of Requirements
Management
• Satisfaction: real business needs met
• Integration: the pieces work together
• Testability: know what to test the delivery against
• Communication: consistent ideas of what the solution is for
• Visibility: managers can take a global view
• Change control: the impact of change can be assessed
• Quality: we know what quality means for the business
• Optimization: we deliver only what is wanted
• Compliance: demonstrate compliance with regulatory authorities and SOX
The Benefits of Requirements
Management
• Satisfaction: real business needs met
• Integration: the pieces work together
• Testability: know what to test the delivery against
• Communication: consistent ideas of what the solution is for
• Visibility: managers can take a global view
• Change control: the impact of change can be assessed
• Quality: we know what quality means for the business
• Optimization: we deliver only what is wanted
• Compliance: demonstrate compliance with
regulatory authorities and SOX
Types of Requirements
• User Requirements – define
the results the users expect
from the system
• System Requirements –
define what the system must
do to satisfy the users
• Design Requirements –
define all of the components
necessary to achieve the
system requirements
“The homeowner shall hear an
alarm when smoke is
detected.”
“The alarm will produce a
sound between 125 – 155
dBA.”
“The alarm will be produced by
part # 123-45-678.”
Writing a requirement
• Uses complete sentences
• States subject and predicate
– Subject is a user type or the system under consideration
– Predicate is a condition, action, or intended result
• Consistent use of language
• Specifies:
– Desired goal or result (User requirement)
– Function (System requirement)
– Constraint (either)
• Contains a success criterion or other
measurable indication of the quality
Language
• Use consistent language, for example:
– “Shall,” “will,” or “must” are mandatory
– “Should” is optional, but omission must be justified
– “May” is desirable
• Use consistent terminology
– Define terms – use a Glossary
– Avoid using the same name for different things
– Avoid using different names for the same thing
Anatomy of a Good User Requirement
“The Internet user shall be able to access their
current account balance in less than 5 seconds.”
Defines a user type
Defines a positive end result
“To be” verb
Performance criteria
Anatomy of a Good User Requirement
• This requirement sentence identifies a specific
user and end result that is wanted within a
specified time.
“The Internet user shall be able to access their
current account balance in less than 5 seconds.”
Defines a user type “To be” verb
Defines a positive end result Performance criteria
The challenge is to seek out the user type, end result, and
success measure in every requirement you define.
Anatomy of a Good User Requirement
• It also defines the success in measurable
terms: “access … account balance in less
than 5 seconds.”
“The Internet user shall be able to access their
current account balance in less than 5 seconds.”
Defines a user type “To be” verb
Defines a positive end result Performance criteria
The challenge is to seek out the user type, end result, and
success measure in every requirement you define.
Characteristics of a Good Requirement
• Correct
• Complete
• Clear
• Consistent
• Verifiable
• Traceable
• Feasible
• Modular
• Design-Free
• Positive
Characteristics of a Good Requirement
• Correct
• Complete
• Clear
• Consistent
• Verifiable
Technically and legally possible
Characteristics of a Good Requirement
• Correct
• Complete
• Clear
• Consistent
• Verifiable
Technically and legally possible
Expresses a whole idea or statement
Characteristics of a Good Requirement
• Correct
• Complete
• Clear
• Consistent
• Verifiable
Technically and legally possible
Unambiguous and not confusing
Expresses a whole idea or statement
Characteristics of a Good Requirement
• Correct
• Complete
• Clear
• Consistent
• Verifiable
Technically and legally possible
Unambiguous and not confusing
Expresses a whole idea or statement
Not in conflict with other requirements
Characteristics of a Good Requirement
• Correct
• Complete
• Clear
• Consistent
• Verifiable
Technically and legally possible
Unambiguous and not confusing
Expresses a whole idea or statement
Not in conflict with other requirements
It can be determined that the system
meets the requirement
Characteristics of a Good Requirement
• Traceable
• Feasible
• Modular
• Design-Free
• Positive
Uniquely identified and can be tracked
Characteristics of a Good Requirement
• Traceable
• Feasible
• Modular
• Design-Free
• Positive
Uniquely identified and can be tracked
Can be accomplished within cost & schedule
Characteristics of a Good Requirement
• Traceable
• Feasible
• Modular
• Design-Free
• Positive
Uniquely identified and can be tracked
Can be changed without excessive impact
Can be accomplished within cost & schedule
Characteristics of a Good Requirement
• Traceable
• Feasible
• Modular
• Design-Free
• Positive
Uniquely identified and can be tracked
Can be changed without excessive impact
Can be accomplished within cost & schedule
Does not impose specific solution on design
(i.e., implementation free)
Characteristics of a Good Requirement
• Traceable
• Feasible
• Modular
• Design-Free
• Positive
Uniquely identified and can be tracked
Can be changed without excessive impact
Can be accomplished within cost & schedule
Does not impose specific solution on design
(i.e., implementation free)
Written in the affirmative, not the negative
Requirements Should be Correct
• The requirement should be technically and
legally achievable
– Have studies been completed?
– Does the technology exist?
– Will the implementation of the requirement stay within
existing legal guidelines?
Requirements Should be Correct
A correct requirement is one which does not try to
achieve some “pie in the sky” objective.
For example, the
requirement “The system
shall be 100% reliable” is
technically not achievable.
Requirements Should be Correct
A requirement may be technically achievable, but
not necessarily legally feasible because it may be
outside the framework of existing legal regulations.
For example, allowing the
user to access private
information online, without
the necessary security
checking, is technically
achievable, but is contrary to
current federal regulations.
Requirements Should be Complete
• Express a whole idea or statement
– Is the requirement standalone?
– Is the requirement dependent on preceding
requirements at that level of achievement?
– Is the requirement necessary for subsequent
requirements at that level of development?
Requirements Should be Complete
A complete requirement should not depend on
other requirements to be implemented. If a
requirement states “The radar system shall track
aircraft,” it leaves the reader asking “How many?
Inbound or outbound?”
Requirements Should be Complete
Also, beware of multiple requirements contained
within a single statement. For example, “The
system shall determine the number of users
online at all times and pass the number of users
to the system administrator who shall have the
ability to disconnect users from the Internet.”
Requirements Should be Complete
Instead, the statement can be broken down into
atomic statements:
Beware of multiple requirements contained within a single statement.
For example, “The system shall determine the number of users
online at all times and pass the number of users to the system
administrator who shall have the ability to disconnect users from
the Internet.”
“The system shall maintain a log of online users.”
“The system shall provide log information to the system
administrator.”
“The system shall allow the system administrator to
disconnect user(s) from the network.”
Requirements Should be Clear
• The requirement should be unambiguous
and not confusing
– Use words that are not confusing
– Use a commonly agreed set of terms
– The construct of the sentence should be standard
– Use definite, concrete terms
– Omit needless words
– Avoid language the target reader may not understand
– Do not overwrite
Requirements Should be Clear
When writing a requirement, always strive to
maintain clarity. An excellent reference is “The
Elements of Style” by Strunk and White.
For example, don’t “utilize” a function,
rather “use” a function.
Requirements Should be Clear
When you use the word “system,” do all the readers
have the same understanding of the word?
If you try to impress your readers with
arcane grammar only used in graduate-
level English classes, you will most likely
confuse and irritate them, as they will
have to reach for the dictionary too many
times.
Requirement Should be Consistent
• The requirement should not be in conflict
with other requirements
– Are there redundancies?
– Are the same terms used throughout?
– Are all requirements referencing the same dictionary?
– Requirements repeated in many sections can be
pulled into a common requirements set to avoid
duplication
Requirements Should be Verifiable
• Verification Methods:
– Testing
– Analysis
– Demonstration
– Inspection
Requirements Should be Verifiable
• It can be determined that the system
meets the requirement using one of the
standard verification methods:
• Testing: Usually the most
comprehensive of the verification
methods. This is also commonly referred
to as “white box” testing.
This method tests not only the output,
but also how the output is achieved,
considering the unique internal
deviations as a result of different states
and nodes.
Requirements Should be Verifiable
• Analysis: This method generally uses
mathematical algorithms
(expressed nowadays in computer
simulations) to ensure the
requirement is met.
Requirements Should be Verifiable
• Demonstration: also known as
“black box” testing, where the
system is given input, and the output
is compared against the expected
results.
Requirements Should be Verifiable
• Inspection: As the name implies,
this method checks or inspects the
system to ensure conformity to the
requirement.
Requirements Should be Verifiable
• You should always ask, “Is the
requirement testable?”
• When the requirement is implemented and
the system is built, you need to verify that
the system, indeed, does what is required
of it.
– To verify the system, people generally use
one of the four classic verification methods
mentioned previously. (Testing, Analysis,
Demonstration, and Inspection)
Requirements Should be Traceable
• The requirement should have a unique
identifier and traced to its origin.
– Ensures completeness
– Prevents “scope creep”
– It is a specific goal in any Requirements Management
process
– Allows quick impact assessment when requirements
change
Requirements Should be Traceable
• A primary aim of any requirements
management process is traceability of
requirements.
How much traceability?
100%!
Requirements Should be Traceable
• According to Standish Group, 52% of
required functionality is never included in
the finished system. Then, when system
testing commences, you discover the
missing functionality. You then have to not
only fix the system to accommodate the
missing functionality, but you have to test
all of the other requirements again to
ensure that the fixed requirement will not
break any existing functions (commonly
referred to as regression)
Requirements Should be Traceable
• When requirements change, as they
almost always do, the impact must be
accessed to ensure that the potential
change will still satisfy the parent
requirements and not adversely impact the
child requirements.
Requirements Should be Feasible
• The requirement should be written so as to
be achievable within cost and schedule
– Do you have the resources?
– Do you have the time?
– Do you have the right people?
Requirements Should be Feasible
A requirement may be technically achievable, but
way beyond the scope of current project
resources.
For example, you have a requirement that states,
“The system shall maintain a 99.9% mean time
between failures,” but the costs of achieving
99.9% reliability may be so exorbitant that the
other requirements may not be implemented due
to insufficient resources.
Requirements Should be Modular
• The requirement should have limited
cross-referencing interdependency.
– Group similar requirements together
– The use of a standardized outline structure helps
tremendously with achieving modularity.
Requirements Should be Modular
This allows the requirement to be changed
without excessive impact. For example,
the I.E.E.E. 12207 standard contains the
different outline templates for the various
types of requirements in a system, from
the Concept of Operations (CONOPS) to
the Software Test Plan (STP).
Requirements Should be Modular
• When you use these templates, you
achieve several goals:
– You start achieving modularity
– You are starting to standardize your process
Requirements Should be Design-Free
• The requirement should be
implementation-free
– Avoid design
– Describe what is required, not how it would be
implemented
– The requirement should be written with enough detail
to satisfy the level above
– The requirement should be written at a level of
abstraction to be design free for the next level below
Requirements Should be Design-Free
• During requirements development, we tend to want to
jump right into the design of the system
• Instead of trying to describe the desired functionality or
stakeholder wants, we tend rather to state how the
system will be implemented. Many times, this leads to
increased cost and complexity because the optimal
design space has now been restricted.
• For example, a system requirements document may
state: “The network shall use an ATM protocol.” This
constrains the design of the network to use ATM
technology, when another protocol may be the more cost
effective solution.
Requirements Should be Positive
• Requirements should be written in the
affirmative.
– Reduces the chances of having two requirements say
the same thing.
– Reduces the possibility of two requirements being
inconsistent — one stating something in the
affirmative and one in the negative but with different
conditions or numeric values
– Helps with the verification — it is much easier to test
to a positive statement where something observable
will happen as a result of a user action
Requirements Should be Positive
– A negative statement that a user action or
statement that something will not result in a
condition would be more difficult to test and
observe
– Less chance of misinterpretation, especially in
the case of double or multiple negatives
Requirements Should be Positive
For instance, instead of stating:
“No unsuccessful login attempts will go
unrecorded.”
Try rather:
“All unsuccessful login attempts shall be
recorded.”
Quiz Time!
Rate this Requirement
“The Order Entry system provides for quick,
user-friendly and efficient entry and
processing of all orders.”
Is this a good requirement? If not,
recommend an improvement.
Rate this Requirement
“Invoices, acknowledgements, and shipping
notices shall be automatically faxed during
the night, so customers can get them first
thing in the morning.”
Is this a good requirement? If not,
recommend an improvement.
Rate this Requirement
“The system OS shall be upgraded in one
whack.”
Is this a good requirement? If not,
recommend an improvement.
Rate this Requirement
“The ATM user shall be able to view the
current account balance after an update
within 5 seconds.”
Is this a good requirement? If not,
recommend an improvement.

Más contenido relacionado

La actualidad más candente

Business analyst 101 program Mumbai India
Business analyst 101 program Mumbai IndiaBusiness analyst 101 program Mumbai India
Business analyst 101 program Mumbai IndiaDeepak Kadam
 
The Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringThe Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringVanessa Turke
 
Requirements gathering for developers
Requirements gathering for developersRequirements gathering for developers
Requirements gathering for developersDorje McKinnon
 
Getting to the core, requirements gathering in the wild
Getting to the core, requirements gathering in the wildGetting to the core, requirements gathering in the wild
Getting to the core, requirements gathering in the wildFemke Goedhart
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesOnur Demir
 
BABoK V2 Requirements Elicitation (RE)
BABoK V2 Requirements Elicitation (RE)BABoK V2 Requirements Elicitation (RE)
BABoK V2 Requirements Elicitation (RE)AMJAD SHAIKH
 
requirement gathering for EMR customization
requirement gathering for EMR customizationrequirement gathering for EMR customization
requirement gathering for EMR customizationZEESHAN ASIF
 
BRD Best Practices
BRD Best PracticesBRD Best Practices
BRD Best PracticesYev Ioffe
 
Requirements Gathering for Project Management Success
Requirements Gathering for Project Management SuccessRequirements Gathering for Project Management Success
Requirements Gathering for Project Management SuccessWG Consulting
 
Requirements Gathering: What Could Possibly Go Wrong?
Requirements Gathering: What Could Possibly Go Wrong?Requirements Gathering: What Could Possibly Go Wrong?
Requirements Gathering: What Could Possibly Go Wrong?Eugene O'Loughlin
 
Business Requirements Gathering - Current & Future State
Business Requirements Gathering - Current & Future StateBusiness Requirements Gathering - Current & Future State
Business Requirements Gathering - Current & Future StateJason Bargent
 
Agile business analyst
Agile business analystAgile business analyst
Agile business analystTechcanvass
 
Tool Kit: Requirements management plan (babok on a page)
Tool Kit: Requirements management plan (babok on a page)Tool Kit: Requirements management plan (babok on a page)
Tool Kit: Requirements management plan (babok on a page)designer DATA
 

La actualidad más candente (18)

Business analyst 101 program Mumbai India
Business analyst 101 program Mumbai IndiaBusiness analyst 101 program Mumbai India
Business analyst 101 program Mumbai India
 
The Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringThe Art and Science of Requirements Gathering
The Art and Science of Requirements Gathering
 
Requirements gathering for developers
Requirements gathering for developersRequirements gathering for developers
Requirements gathering for developers
 
Getting to the core, requirements gathering in the wild
Getting to the core, requirements gathering in the wildGetting to the core, requirements gathering in the wild
Getting to the core, requirements gathering in the wild
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering Techniques
 
BABoK V2 Requirements Elicitation (RE)
BABoK V2 Requirements Elicitation (RE)BABoK V2 Requirements Elicitation (RE)
BABoK V2 Requirements Elicitation (RE)
 
requirement gathering for EMR customization
requirement gathering for EMR customizationrequirement gathering for EMR customization
requirement gathering for EMR customization
 
SMART Requirements
SMART RequirementsSMART Requirements
SMART Requirements
 
BRD Best Practices
BRD Best PracticesBRD Best Practices
BRD Best Practices
 
Requirements Gathering for Project Management Success
Requirements Gathering for Project Management SuccessRequirements Gathering for Project Management Success
Requirements Gathering for Project Management Success
 
Requirements Gathering: What Could Possibly Go Wrong?
Requirements Gathering: What Could Possibly Go Wrong?Requirements Gathering: What Could Possibly Go Wrong?
Requirements Gathering: What Could Possibly Go Wrong?
 
requirement documentation
requirement documentation requirement documentation
requirement documentation
 
Business Requirements Gathering - Current & Future State
Business Requirements Gathering - Current & Future StateBusiness Requirements Gathering - Current & Future State
Business Requirements Gathering - Current & Future State
 
Agile business analyst
Agile business analystAgile business analyst
Agile business analyst
 
Requirements Management
Requirements ManagementRequirements Management
Requirements Management
 
Tool Kit: Requirements management plan (babok on a page)
Tool Kit: Requirements management plan (babok on a page)Tool Kit: Requirements management plan (babok on a page)
Tool Kit: Requirements management plan (babok on a page)
 
Suresh Veluguri_BA
Suresh Veluguri_BASuresh Veluguri_BA
Suresh Veluguri_BA
 
Business analyst ppt
Business analyst pptBusiness analyst ppt
Business analyst ppt
 

Similar a RM Benefits

Writing effective requirements
Writing effective requirementsWriting effective requirements
Writing effective requirementsLizLavaveshkul
 
How to be successful with Agile at Scale. 2013 PM Symposium
How to be successful with Agile at Scale. 2013 PM SymposiumHow to be successful with Agile at Scale. 2013 PM Symposium
How to be successful with Agile at Scale. 2013 PM SymposiumDerek Huether
 
Requirements Engineering @ Agile
Requirements Engineering @ AgileRequirements Engineering @ Agile
Requirements Engineering @ AgileGirish Khemani
 
How to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersHow to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersAXIA Consulting Inc.
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityJeff Bramwell
 
Agile metrics - Agile KC Meeting 9/26/13
Agile metrics - Agile KC Meeting 9/26/13Agile metrics - Agile KC Meeting 9/26/13
Agile metrics - Agile KC Meeting 9/26/13molsonkc
 
Requirements Management Using Innoslate
Requirements Management Using InnoslateRequirements Management Using Innoslate
Requirements Management Using InnoslateElizabeth Steiner
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineeringPreeti Mishra
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and designPreeti Mishra
 
BABOK Study Group - meeting 1
BABOK Study Group - meeting 1BABOK Study Group - meeting 1
BABOK Study Group - meeting 1Paweł Zubkiewicz
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.pptSaqibHabib11
 
Software Test Engineer Senior
Software Test Engineer SeniorSoftware Test Engineer Senior
Software Test Engineer SeniorJongens85
 
Best Practices For Identifying Offshore Vendors
Best Practices For Identifying Offshore VendorsBest Practices For Identifying Offshore Vendors
Best Practices For Identifying Offshore VendorsD2E CONSULTING
 
Adressing nfr-with-agile-practices (english) - dec 16th
Adressing nfr-with-agile-practices (english) - dec 16thAdressing nfr-with-agile-practices (english) - dec 16th
Adressing nfr-with-agile-practices (english) - dec 16thmarwakhalid
 
06 business and functional requirements
06 business and functional requirements06 business and functional requirements
06 business and functional requirementsNamita Razdan
 
Agile2013 sustainable change
Agile2013 sustainable changeAgile2013 sustainable change
Agile2013 sustainable changeDennis Stevens
 

Similar a RM Benefits (20)

Writing effective requirements
Writing effective requirementsWriting effective requirements
Writing effective requirements
 
Requirements management by Dr Matthew Bell
Requirements management by Dr Matthew BellRequirements management by Dr Matthew Bell
Requirements management by Dr Matthew Bell
 
How to be successful with Agile at Scale. 2013 PM Symposium
How to be successful with Agile at Scale. 2013 PM SymposiumHow to be successful with Agile at Scale. 2013 PM Symposium
How to be successful with Agile at Scale. 2013 PM Symposium
 
Requirements Engineering @ Agile
Requirements Engineering @ AgileRequirements Engineering @ Agile
Requirements Engineering @ Agile
 
How to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite DevelopersHow to get the most from your E-Business Suite Developers
How to get the most from your E-Business Suite Developers
 
Benchmarking
BenchmarkingBenchmarking
Benchmarking
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise Quality
 
Agile metrics - Agile KC Meeting 9/26/13
Agile metrics - Agile KC Meeting 9/26/13Agile metrics - Agile KC Meeting 9/26/13
Agile metrics - Agile KC Meeting 9/26/13
 
Requirements Management Using Innoslate
Requirements Management Using InnoslateRequirements Management Using Innoslate
Requirements Management Using Innoslate
 
Requirements engineering process in software engineering
Requirements engineering process in software engineeringRequirements engineering process in software engineering
Requirements engineering process in software engineering
 
requirements analysis and design
requirements analysis and designrequirements analysis and design
requirements analysis and design
 
Agile 101
Agile 101Agile 101
Agile 101
 
BABOK Study Group - meeting 1
BABOK Study Group - meeting 1BABOK Study Group - meeting 1
BABOK Study Group - meeting 1
 
05_SQA_Overview.ppt
05_SQA_Overview.ppt05_SQA_Overview.ppt
05_SQA_Overview.ppt
 
Software Test Engineer Senior
Software Test Engineer SeniorSoftware Test Engineer Senior
Software Test Engineer Senior
 
CIS512_Topic1.pptx
CIS512_Topic1.pptxCIS512_Topic1.pptx
CIS512_Topic1.pptx
 
Best Practices For Identifying Offshore Vendors
Best Practices For Identifying Offshore VendorsBest Practices For Identifying Offshore Vendors
Best Practices For Identifying Offshore Vendors
 
Adressing nfr-with-agile-practices (english) - dec 16th
Adressing nfr-with-agile-practices (english) - dec 16thAdressing nfr-with-agile-practices (english) - dec 16th
Adressing nfr-with-agile-practices (english) - dec 16th
 
06 business and functional requirements
06 business and functional requirements06 business and functional requirements
06 business and functional requirements
 
Agile2013 sustainable change
Agile2013 sustainable changeAgile2013 sustainable change
Agile2013 sustainable change
 

Último

VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz1
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Callshivangimorya083
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxolyaivanovalion
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Delhi Call girls
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAroojKhan71
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxolyaivanovalion
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...amitlee9823
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfadriantubila
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusTimothy Spann
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxfirstjob4
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Delhi Call girls
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFxolyaivanovalion
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightDelhi Call girls
 

Último (20)

VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
Invezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signalsInvezz.com - Grow your wealth with trading signals
Invezz.com - Grow your wealth with trading signals
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Indiranagar Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Ravak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptxRavak dropshipping via API with DroFx.pptx
Ravak dropshipping via API with DroFx.pptx
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
Best VIP Call Girls Noida Sector 39 Call Me: 8448380779
 
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Junnasandra Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
VidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptxVidaXL dropshipping via API with DroFx.pptx
VidaXL dropshipping via API with DroFx.pptx
 
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
Call Girls Bannerghatta Road Just Call 👗 7737669865 👗 Top Class Call Girl Ser...
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
Sampling (random) method and Non random.ppt
Sampling (random) method and Non random.pptSampling (random) method and Non random.ppt
Sampling (random) method and Non random.ppt
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
Generative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and MilvusGenerative AI on Enterprise Cloud with NiFi and Milvus
Generative AI on Enterprise Cloud with NiFi and Milvus
 
Introduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptxIntroduction-to-Machine-Learning (1).pptx
Introduction-to-Machine-Learning (1).pptx
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 nightCheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
Cheap Rate Call girls Sarita Vihar Delhi 9205541914 shot 1500 night
 

RM Benefits

  • 1. Presented at a SA staff meeting at NCEN by Liz Lavaveshkul Source: TeleLogic
  • 2. What is requirements management? “The purpose of requirements management is to establish a common understanding between the customer and the … project … This agreement with the customer is the basis for planning and managing the … project.” The Capability Maturity Model for Software (CMM) from the Software Engineering Institute at Carnegie Mellon University. www.sei.cmu.edu/cmm
  • 3. Why is RM so important? Approximately 60 – 70% of projects failures result from poor requirements gathering, analysis, and management. -- Mela Group, March 2003
  • 4. Why bother with Requirements? • To show what results the users want • To communicate and focus team members on clear goals • To tell decision-makers what is required vs. desired • To allow the design to be optimized
  • 5. Why bother with Requirements? • To supply confidence in the system THOUGHOUT its development • To check that the system and all its parts do what is wanted • To prevent over design or omitted needs • To control development and outsourcing
  • 6. Why do you need requirements management? • The status of the project is never clear until we find we’ve missed project milestones • We have very little formal development process • The objectives always seem to change at the worst times • Change is very costly and time consuming for us • We have difficulty communicating intent between departments • We end up over-engineering our solutions, which is costly Do any of the following statements seem familiar?
  • 7. Why do you need requirements management? • We have trouble testing against original intent and stated need • We are never sure whether our tests are full and complete • Our test cycles are often too long and costly • Our customers often include design in the requirements • We have difficulty organizing requirements into smaller manageable sets
  • 8. Who should use a RM tool? • Systems Engineers demand functionality • Highly advanced requirements management and analysis • Distributed users demand collaboration • Analyst/Architect demand a common language • Reviewers demand instant access from any location • Interested in central set of requirements accessed globally • Need for multi-disciplines to communicate more efficiently • Not so advanced, mainly interested in review functionality
  • 9. The Benefits of Requirements Management • Satisfaction • Integration • Testability • Communication • Visibility • Change control • Quality • Optimization • Compliance
  • 10. The Benefits of Requirements Management • Satisfaction: real business needs met • Integration • Testability • Communication • Visibility • Change control • Quality • Optimization • Compliance
  • 11. The Benefits of Requirements Management • Satisfaction: real business needs met • Integration: the pieces work together • Testability • Communication • Visibility • Change control • Quality • Optimization • Compliance
  • 12. The Benefits of Requirements Management • Satisfaction: real business needs met • Integration: the pieces work together • Testability: know what to test the delivery against • Communication • Visibility • Change control • Quality • Optimization • Compliance
  • 13. The Benefits of Requirements Management • Satisfaction: real business needs met • Integration: the pieces work together • Testability: know what to test the delivery against • Communication: consistent ideas of what the solution is for • Visibility • Change control • Quality • Optimization • Compliance
  • 14. The Benefits of Requirements Management • Satisfaction: real business needs met • Integration: the pieces work together • Testability: know what to test the delivery against • Communication: consistent ideas of what the solution is for • Visibility: managers can take a global view • Change control • Quality • Optimization • Compliance
  • 15. The Benefits of Requirements Management • Satisfaction: real business needs met • Integration: the pieces work together • Testability: know what to test the delivery against • Communication: consistent ideas of what the solution is for • Visibility: managers can take a global view • Change control: the impact of change can be assessed • Quality • Optimization • Compliance
  • 16. The Benefits of Requirements Management • Satisfaction: real business needs met • Integration: the pieces work together • Testability: know what to test the delivery against • Communication: consistent ideas of what the solution is for • Visibility: managers can take a global view • Change control: the impact of change can be assessed • Quality: we know what quality means for the business • Optimization • Compliance
  • 17. The Benefits of Requirements Management • Satisfaction: real business needs met • Integration: the pieces work together • Testability: know what to test the delivery against • Communication: consistent ideas of what the solution is for • Visibility: managers can take a global view • Change control: the impact of change can be assessed • Quality: we know what quality means for the business • Optimization: we deliver only what is wanted • Compliance: demonstrate compliance with regulatory authorities and SOX
  • 18. The Benefits of Requirements Management • Satisfaction: real business needs met • Integration: the pieces work together • Testability: know what to test the delivery against • Communication: consistent ideas of what the solution is for • Visibility: managers can take a global view • Change control: the impact of change can be assessed • Quality: we know what quality means for the business • Optimization: we deliver only what is wanted • Compliance: demonstrate compliance with regulatory authorities and SOX
  • 19. Types of Requirements • User Requirements – define the results the users expect from the system • System Requirements – define what the system must do to satisfy the users • Design Requirements – define all of the components necessary to achieve the system requirements “The homeowner shall hear an alarm when smoke is detected.” “The alarm will produce a sound between 125 – 155 dBA.” “The alarm will be produced by part # 123-45-678.”
  • 20. Writing a requirement • Uses complete sentences • States subject and predicate – Subject is a user type or the system under consideration – Predicate is a condition, action, or intended result • Consistent use of language • Specifies: – Desired goal or result (User requirement) – Function (System requirement) – Constraint (either) • Contains a success criterion or other measurable indication of the quality
  • 21. Language • Use consistent language, for example: – “Shall,” “will,” or “must” are mandatory – “Should” is optional, but omission must be justified – “May” is desirable • Use consistent terminology – Define terms – use a Glossary – Avoid using the same name for different things – Avoid using different names for the same thing
  • 22. Anatomy of a Good User Requirement “The Internet user shall be able to access their current account balance in less than 5 seconds.” Defines a user type Defines a positive end result “To be” verb Performance criteria
  • 23. Anatomy of a Good User Requirement • This requirement sentence identifies a specific user and end result that is wanted within a specified time. “The Internet user shall be able to access their current account balance in less than 5 seconds.” Defines a user type “To be” verb Defines a positive end result Performance criteria The challenge is to seek out the user type, end result, and success measure in every requirement you define.
  • 24. Anatomy of a Good User Requirement • It also defines the success in measurable terms: “access … account balance in less than 5 seconds.” “The Internet user shall be able to access their current account balance in less than 5 seconds.” Defines a user type “To be” verb Defines a positive end result Performance criteria The challenge is to seek out the user type, end result, and success measure in every requirement you define.
  • 25. Characteristics of a Good Requirement • Correct • Complete • Clear • Consistent • Verifiable • Traceable • Feasible • Modular • Design-Free • Positive
  • 26. Characteristics of a Good Requirement • Correct • Complete • Clear • Consistent • Verifiable Technically and legally possible
  • 27. Characteristics of a Good Requirement • Correct • Complete • Clear • Consistent • Verifiable Technically and legally possible Expresses a whole idea or statement
  • 28. Characteristics of a Good Requirement • Correct • Complete • Clear • Consistent • Verifiable Technically and legally possible Unambiguous and not confusing Expresses a whole idea or statement
  • 29. Characteristics of a Good Requirement • Correct • Complete • Clear • Consistent • Verifiable Technically and legally possible Unambiguous and not confusing Expresses a whole idea or statement Not in conflict with other requirements
  • 30. Characteristics of a Good Requirement • Correct • Complete • Clear • Consistent • Verifiable Technically and legally possible Unambiguous and not confusing Expresses a whole idea or statement Not in conflict with other requirements It can be determined that the system meets the requirement
  • 31. Characteristics of a Good Requirement • Traceable • Feasible • Modular • Design-Free • Positive Uniquely identified and can be tracked
  • 32. Characteristics of a Good Requirement • Traceable • Feasible • Modular • Design-Free • Positive Uniquely identified and can be tracked Can be accomplished within cost & schedule
  • 33. Characteristics of a Good Requirement • Traceable • Feasible • Modular • Design-Free • Positive Uniquely identified and can be tracked Can be changed without excessive impact Can be accomplished within cost & schedule
  • 34. Characteristics of a Good Requirement • Traceable • Feasible • Modular • Design-Free • Positive Uniquely identified and can be tracked Can be changed without excessive impact Can be accomplished within cost & schedule Does not impose specific solution on design (i.e., implementation free)
  • 35. Characteristics of a Good Requirement • Traceable • Feasible • Modular • Design-Free • Positive Uniquely identified and can be tracked Can be changed without excessive impact Can be accomplished within cost & schedule Does not impose specific solution on design (i.e., implementation free) Written in the affirmative, not the negative
  • 36. Requirements Should be Correct • The requirement should be technically and legally achievable – Have studies been completed? – Does the technology exist? – Will the implementation of the requirement stay within existing legal guidelines?
  • 37. Requirements Should be Correct A correct requirement is one which does not try to achieve some “pie in the sky” objective. For example, the requirement “The system shall be 100% reliable” is technically not achievable.
  • 38. Requirements Should be Correct A requirement may be technically achievable, but not necessarily legally feasible because it may be outside the framework of existing legal regulations. For example, allowing the user to access private information online, without the necessary security checking, is technically achievable, but is contrary to current federal regulations.
  • 39. Requirements Should be Complete • Express a whole idea or statement – Is the requirement standalone? – Is the requirement dependent on preceding requirements at that level of achievement? – Is the requirement necessary for subsequent requirements at that level of development?
  • 40. Requirements Should be Complete A complete requirement should not depend on other requirements to be implemented. If a requirement states “The radar system shall track aircraft,” it leaves the reader asking “How many? Inbound or outbound?”
  • 41. Requirements Should be Complete Also, beware of multiple requirements contained within a single statement. For example, “The system shall determine the number of users online at all times and pass the number of users to the system administrator who shall have the ability to disconnect users from the Internet.”
  • 42. Requirements Should be Complete Instead, the statement can be broken down into atomic statements: Beware of multiple requirements contained within a single statement. For example, “The system shall determine the number of users online at all times and pass the number of users to the system administrator who shall have the ability to disconnect users from the Internet.” “The system shall maintain a log of online users.” “The system shall provide log information to the system administrator.” “The system shall allow the system administrator to disconnect user(s) from the network.”
  • 43. Requirements Should be Clear • The requirement should be unambiguous and not confusing – Use words that are not confusing – Use a commonly agreed set of terms – The construct of the sentence should be standard – Use definite, concrete terms – Omit needless words – Avoid language the target reader may not understand – Do not overwrite
  • 44. Requirements Should be Clear When writing a requirement, always strive to maintain clarity. An excellent reference is “The Elements of Style” by Strunk and White. For example, don’t “utilize” a function, rather “use” a function.
  • 45. Requirements Should be Clear When you use the word “system,” do all the readers have the same understanding of the word? If you try to impress your readers with arcane grammar only used in graduate- level English classes, you will most likely confuse and irritate them, as they will have to reach for the dictionary too many times.
  • 46. Requirement Should be Consistent • The requirement should not be in conflict with other requirements – Are there redundancies? – Are the same terms used throughout? – Are all requirements referencing the same dictionary? – Requirements repeated in many sections can be pulled into a common requirements set to avoid duplication
  • 47. Requirements Should be Verifiable • Verification Methods: – Testing – Analysis – Demonstration – Inspection
  • 48. Requirements Should be Verifiable • It can be determined that the system meets the requirement using one of the standard verification methods: • Testing: Usually the most comprehensive of the verification methods. This is also commonly referred to as “white box” testing. This method tests not only the output, but also how the output is achieved, considering the unique internal deviations as a result of different states and nodes.
  • 49. Requirements Should be Verifiable • Analysis: This method generally uses mathematical algorithms (expressed nowadays in computer simulations) to ensure the requirement is met.
  • 50. Requirements Should be Verifiable • Demonstration: also known as “black box” testing, where the system is given input, and the output is compared against the expected results.
  • 51. Requirements Should be Verifiable • Inspection: As the name implies, this method checks or inspects the system to ensure conformity to the requirement.
  • 52. Requirements Should be Verifiable • You should always ask, “Is the requirement testable?” • When the requirement is implemented and the system is built, you need to verify that the system, indeed, does what is required of it. – To verify the system, people generally use one of the four classic verification methods mentioned previously. (Testing, Analysis, Demonstration, and Inspection)
  • 53. Requirements Should be Traceable • The requirement should have a unique identifier and traced to its origin. – Ensures completeness – Prevents “scope creep” – It is a specific goal in any Requirements Management process – Allows quick impact assessment when requirements change
  • 54. Requirements Should be Traceable • A primary aim of any requirements management process is traceability of requirements. How much traceability? 100%!
  • 55. Requirements Should be Traceable • According to Standish Group, 52% of required functionality is never included in the finished system. Then, when system testing commences, you discover the missing functionality. You then have to not only fix the system to accommodate the missing functionality, but you have to test all of the other requirements again to ensure that the fixed requirement will not break any existing functions (commonly referred to as regression)
  • 56. Requirements Should be Traceable • When requirements change, as they almost always do, the impact must be accessed to ensure that the potential change will still satisfy the parent requirements and not adversely impact the child requirements.
  • 57. Requirements Should be Feasible • The requirement should be written so as to be achievable within cost and schedule – Do you have the resources? – Do you have the time? – Do you have the right people?
  • 58. Requirements Should be Feasible A requirement may be technically achievable, but way beyond the scope of current project resources. For example, you have a requirement that states, “The system shall maintain a 99.9% mean time between failures,” but the costs of achieving 99.9% reliability may be so exorbitant that the other requirements may not be implemented due to insufficient resources.
  • 59. Requirements Should be Modular • The requirement should have limited cross-referencing interdependency. – Group similar requirements together – The use of a standardized outline structure helps tremendously with achieving modularity.
  • 60. Requirements Should be Modular This allows the requirement to be changed without excessive impact. For example, the I.E.E.E. 12207 standard contains the different outline templates for the various types of requirements in a system, from the Concept of Operations (CONOPS) to the Software Test Plan (STP).
  • 61. Requirements Should be Modular • When you use these templates, you achieve several goals: – You start achieving modularity – You are starting to standardize your process
  • 62. Requirements Should be Design-Free • The requirement should be implementation-free – Avoid design – Describe what is required, not how it would be implemented – The requirement should be written with enough detail to satisfy the level above – The requirement should be written at a level of abstraction to be design free for the next level below
  • 63. Requirements Should be Design-Free • During requirements development, we tend to want to jump right into the design of the system • Instead of trying to describe the desired functionality or stakeholder wants, we tend rather to state how the system will be implemented. Many times, this leads to increased cost and complexity because the optimal design space has now been restricted. • For example, a system requirements document may state: “The network shall use an ATM protocol.” This constrains the design of the network to use ATM technology, when another protocol may be the more cost effective solution.
  • 64. Requirements Should be Positive • Requirements should be written in the affirmative. – Reduces the chances of having two requirements say the same thing. – Reduces the possibility of two requirements being inconsistent — one stating something in the affirmative and one in the negative but with different conditions or numeric values – Helps with the verification — it is much easier to test to a positive statement where something observable will happen as a result of a user action
  • 65. Requirements Should be Positive – A negative statement that a user action or statement that something will not result in a condition would be more difficult to test and observe – Less chance of misinterpretation, especially in the case of double or multiple negatives
  • 66. Requirements Should be Positive For instance, instead of stating: “No unsuccessful login attempts will go unrecorded.” Try rather: “All unsuccessful login attempts shall be recorded.”
  • 68. Rate this Requirement “The Order Entry system provides for quick, user-friendly and efficient entry and processing of all orders.” Is this a good requirement? If not, recommend an improvement.
  • 69. Rate this Requirement “Invoices, acknowledgements, and shipping notices shall be automatically faxed during the night, so customers can get them first thing in the morning.” Is this a good requirement? If not, recommend an improvement.
  • 70. Rate this Requirement “The system OS shall be upgraded in one whack.” Is this a good requirement? If not, recommend an improvement.
  • 71. Rate this Requirement “The ATM user shall be able to view the current account balance after an update within 5 seconds.” Is this a good requirement? If not, recommend an improvement.