requirements manager center of excellence: “achieving goals without formalization” - mar 2010
DESCRIPTION
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.TRANSCRIPT
Requirements
Management
Center of Excellence“Achieving Goals Without Formalization”
2009 TM Project Management Consulting Services(Phyllis.Carroll.PMCS.gmail.com)
2
Overview
Center of Excellence (CoE) Characterization
Requirements Management CoE Benefits
CoE Pillars
Requirements Influence Mindmap
Pillar Benefits
Requirements Engineering Phases & Metrics
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
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
Requirements Management Governing Board
Requirements
Management
Center of Excellence
Be
st P
ractice
s
Change Management
Me
tric
s
Pro
ce
sse
s a
nd
Pro
ce
du
res
En
terp
rise
Re
qu
ire
me
nts
Str
uctu
re
Re
qu
ire
me
nts
Re
use
Inte
gra
tio
n w
ith
Te
stin
g
Ba
se
line
Str
ate
gy
Tra
ce
Str
ate
gy
Re
qu
ire
me
nts
Ma
na
ge
me
nt T
oo
l
Re
qu
ire
me
nts
Ma
na
ge
me
nt L
ife
cycle
UI P
roto
typ
ing
Usa
bili
ty T
estin
g
Flo
w D
iag
ram
min
g
Process ImprovementProfessional Development
Requirements
Project
Definition/
Business Case
Input to
Scope
Change
Management
Process
Application
Testing
Code
Development
Training
Application
Support
Business Unit
Procedures
Application
Release
Management
Resources required
are defined
Requirements Influence Mindmap
Improve or decrease
manual procedures
Pain points are identified
Used to identify
scenarios to test
Reviewed to
learn application
Used for
researching issues
Used to write code
Verifies correct
implementation Planned in
Release
Identifies actual
release inclusions
Verifies coverage
Verifies User’s Needs
have been met
Used to develop
User TrainingUsed as baseline
of application
Prioritizes changes
to application
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
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
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
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
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
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
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
14
Best Practices
Measure current data
Start by implementing a small set of
measures
Automate data collection if possible
15
Drivers of change
Change Request Written
Incorrect requirements
or failed to meet user’s needs
Incomplete or
insufficiently
detailed requirements
Requirements specified
and is working as designed Requirements specified
but coded incorrectly
Requirements specified
but not coded
Requirements not specified –
Enhancement
16
Root Causes and Recommendations
Inadequate user
involvement in
requirements development
Recommendation: Improve user
participation during design process
Lack of input from
PRIMARY end user
Recommendation: Identify
appropriate end user participants
Lack of input from business
unit
Recommendation: Ensure
participation of appropriate
business unit reps
Analyst knowledgeRecommendation:
Identify training
opportunities
17
Root Causes and Recommendations
Inadequate task analysisRecommendation: Identify improvements in
the design process and identify training
opportunities
Inadequate interaction with
software engineers
Recommendation: Identify improvements in the
design process and have a requirements review
before official turnover meeting
Requirements were not
communicated
Recommendation: Improve
communication with software
engineers
Requirements were not
coded
Recommendation:
Improve communication &
testing coverage
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.
19
Lifecycle Cost
20
Q & A
2009 TM Project Management Consulting Services(Phyllis.Carroll.PMCS.gmail.com)
Thank You.