Most companies today recognize that the definition and management of requirements for software projects needs improving. Companies may realize that they have been achieving their goals without formalizing a Requirements Management Center of Excellence. A Center of Excellence (CoE) has a lot of responsibilities and serves as the critical hub of managing software requirements.
Mr. Karczewski will present an overview of a Requirements Management Center of Excellence, covering benefits of establishing a CoE, Requirements Engineering phases and metrics, and what can be included in a CoE.
Joel Karczewski, Area Vice President at Paychex, is responsible for Enterprise Business Solutions and has over 25 years of Information Technology development and operational experience. Joel joined Paychex in 2008 and is responsible for groups that manage application design, development and testing, user acceptance testing and software configuration and release processes.
Prior to joining Paychex, Joel was a Principal at Vangard Group responsible for the development and implementation of systems for the Institutional Investment Division.
Joel holds a MBA from LaSalle University and has earned his Project Management Professional (PMP) designation from the Project Management Institute.
3. CoE Characterization
Is a logical grouping of related skills or
disciplines
A place where individuals can learn and
share knowledge
An organizational unit that can be either
face-to-face or virtual
3
4. Requirements Management
CoE Benefits
Bridge the gap that divides business and IT
Matches resources to demand
Participate in all strategic initiatives by providing expert
analysis resources
Evaluate the impact of proposed changes on all areas of
the business and effectively allocate resources according
to business priorities.
Improves efficiency
Speeds time-to-market
Reduces cycle times
Enables reuse of resources
Creates higher quality requirements
4
5. Best Practices
Metrics
Processes and Procedures
Enterprise Requirements Structure
Requirements Reuse
Integration with Testing
Baseline Strategy
Trace Strategy
Management
Change Management
Process Improvement
Requirements
Center of Excellence
Professional Development
Requirements Management Tool
Requirements Management Lifecycle
UI Prototyping
Requirements Management Governing Board
Usability Testing
Flow Diagramming
6. Requirements Influence Mindmap
Project
Definition/
Business Case
Change
Training Resources required Management
Input to Process
are defined
Scope
Used to develop
Used as baseline
User Training
of application
Verifies User’s Needs Prioritizes changes
have been met to application
Verifies coverage
Code Pain points are identified Business Unit
Development Used to write code
Requirements Improve or decrease Procedures
manual procedures
Used for
researching issues
Identifies actual
release inclusions
Verifies correct
Reviewed to implementation Planned in
learn application Release
Used to identify
scenarios to test
Application
Application
Release
Support
Management
Application
Testing
7. Benefits of using a
Requirements Management Tool
Manage versions and baselines
Facilitate impact analysis through tracing
Store requirement attributes
Integration with testing tool with
recognition of coverage
Identify reusable requirements
7
8. Benefits of Prototyping
Encourages early user participation and
involvement
Enhances understanding of how an application
will work
Promotes consistency in user interface design
Early design work can lead to a more usable
product in a shorter period of time
Can help sell management an idea for a new
product
8
9. Benefits of Usability Testing
Reduces costs by being early in the SDLC
Adapts to an agile environment
Detects missing elements or design flaws
UI prototypes are tested with users to insure a
design is:
• intuitive
• effective for the purpose
• easy to use
• easy to learn
• efficient to use
9
10. Benefits of a Trace Strategy
Impact of a change is easier to analyze
If a requirement can be traced forward to a
design artifact, it validates that the
requirement has been designed into the
system
If a requirement can be traced to a test case,
it demonstrates that the requirement has
been verified through testing
10
11. Benefits of integrating with a
testing tool
Test scripts may be developed quicker
Testing coverage is recognized in the
Requirements Management Tool
Verification that the software was coded
correctly– that it matches the
requirements
Validation that the right software was
built – it is what the customer wants
11
12. Requirements Engineering Phases
The requirements engineering process consists of:
1. Requirements Elicitation – the process of identifying the
needs of the user
2. Requirements Analysis - the process of refining the
requirements to ensure that all stakeholders understand them
3. Requirements Specifications – the process of documenting
requirements in a consistent, accessible and reviewable way
4. Requirements Validation – the process of ensuring that the
requirements are correct and will satisfy customer needs
5. Requirements Management – the process of managing
changes and understanding the impacts of those changes
12
13. Metrics – why measure & pitfalls
Why…
To assess your practice
Understand where improvements are needed
Pitfalls…
Difficult to collect the data
Too many metrics defined resulting in
excessive overhead
Metrics that are not simple – know the issue
that you are trying to improve
13
14. Best Practices
Measure current data
Start by implementing a small set of
measures
Automate data collection if possible
14
15. Drivers of change
Incomplete or
insufficiently
detailed requirements
Requirements not specified –
Incorrect requirements
Enhancement
or failed to meet user’s needs
Change Request Written
Requirements specified
and is working as designed Requirements specified
but coded incorrectly
Requirements specified
but not coded
15
16. Root Causes and Recommendations
Recommendation:
Analyst knowledge
Identify training
opportunities
Recommendation: Ensure
Lack of input from business
participation of appropriate
unit
business unit reps
Lack of input from Recommendation: Identify
PRIMARY end user appropriate end user participants
Inadequate user
Recommendation: Improve user
involvement in
participation during design process
requirements development
16
17. Root Causes and Recommendations
Recommendation:
Requirements were not
Improve communication &
coded
testing coverage
Recommendation: Improve
Requirements were not
communication with software
communicated
engineers
Inadequate interaction with Recommendation: Identify improvements in the
software engineers design process and have a requirements review
before official turnover meeting
Recommendation: Identify improvements in
Inadequate task analysis
the design process and identify training
opportunities
17
18. Overall Cost Reduction
The cost required to fix an error later in the
life cycle increases exponentially: it costs 5-10 times
more to repair errors during coding phase and between
100-200 times more during maintenance phase than
during the requirements phase [Moore, 2000; Wiegers,
1999].
The more the time spent on the requirements
engineering process, the less time is required for the
whole development process since less time is spent on
rework.
18