facilitate & mediate Requirements Verification Requirements Analysis Requirements Specification Requirements Management Requirements Elicitation... Main points ensuring that e
Trang 1Requirement Engineering
Trang 3Learning Outcomes
Trang 4Issues
Requirement Engineering
[1] chapter 02, p030
Trang 6Suggested Roles of the RA
Requirement Engineering
[1] chapter 02, p001
Trang 7Roles
Initiation
System Analysis &
Design
System Component Design
System Inplementation
System Integration , Test &
Evaluation
System Operations & Supports
Work collaboratively to identify the real
Assist the project and its customers in
envisioning a growth path … X X X X X X
Advise the project (and customer) of
methods, techniques, and automated
Study the domain of the area … X X X
A—Continue to identify real requirements for subsequent releases and revisions, maintaining configuration control.
B—System initiation or “project or task startup” is a confusing time The experienced RA will be able to lend assistance For example, the RA should provide a briefing to the project team that includes thetopics noted in Table 5.4.
Trang 8Roles: 1 collaboratively
requirements for a planned system or software development effort to define the problem that needs to
be solved
Requirement Engineering
Trang 9Roles: 1 collaboratively
involves reviewing things previously written about the proposed system, inter -viewing customers and users, studying relevant legislation, and so forth
cooperative environment to analyze the stated requirements, evolve better requirements, and prioritize them (see the suggested techniques that follow)
Trang 10Roles: 1 collaboratively
Iterating the draft or proposed requirements will result in
a candidate architecture with better requirements and a more robust architecture For example, systems need to be able to accommodate changing business needs The architecture should be designed and developed accordingly, or else the delivered system soon will be outdated
tool to support this work
Requirement Engineering
Trang 11Roles: 2 effectively
new and changed requirements so that the project stays under control Install a mechanism to control changes
All stakeholders should welcome a “no-impact” requirement that further clarifies the system
Trang 12Requirement Engineering
Roles: 2 effectively
Trang 13 must be explained to customers, users, and developers
maintained
requirements changes
Roles: 2 effectively – actions
Trang 14 Partnering with your customer, evolve ways to deal with change
The world is changing while we’re developing the system
Ensure that your contract provides for additional time and budgeting for all changes
Requirement Engineering
Roles: 2 effectively – actions
Trang 15Roles: 3 Be alert to new technologies
would be well advised to spend additional time and effort learning about new technologies
Trang 17Roles: 5 growth path
helping customers to envision and evolve a series of releases or versions of products
is particularly appropriate in the situation in which requirements are not well understood at the outset or the requirements are changing rapidly
Trang 18Roles: 6 to best support
methods and techniques vary in their applicability and effectiveness
The development work is challenging enough
should adapt to the tools that the customer already has
in place
don’t pretend …
Requirement Engineering
Trang 19Roles: 7 Use metrics to measure
The industry literature concerning metrics is vast
20% : it provides helpful counsel
The things that are measured and tracked and that management pays attention to are the ones that improve
This involves quantitative management (QM) of cost, schedule, quality, and process metrics and baselines in support of specific business objectives
Trang 20Roles: 8 facilitate & mediate
people skills (soft skills)
negotiating skills, team building, communications, relationships, and leading
Two heads are better than one
we get even better ideas and approaches!
Requirement Engineering
Trang 21Roles: 8 facilitate & mediate
Requirements Verification
Requirements Analysis
Requirements Specification
Requirements Management Requirements
Elicitation
Trang 22Roles: 8 facilitate & mediate
Requirement Engineering
http://sunset.usc.edu/research/WINWIN/winwin_main.html
Trang 23Roles: 9 Study the domain
Be able to grasp, abstract, and express ideas quickly in the users’ language
taker
Trang 24Main points
ensuring that experienced RAs are assigned to each project
providing appropriate training for Ras
assigning experienced RAs to mentor new employees, junior RAs, and interns
having an organizational requirements working group
to share expertise and provide a resource to the organization
Requirement Engineering
Trang 25Skills of the RA
Trang 26Requirement Engineering
Trang 28Skills: RA’s Skills Matrix
Requirement Engineering
3 Customer/user involvement with requirements joint team K X X
4 Identifying real requirements (from the stated requirements) K X X
5 Anticipating and controlling requirements changes K X X
7 References concerning requirements (books, articles,
Trang 29Skills: RA’s Skills Matrix
12 Requirements management tools (e.g., DOORS, RequisitePro) K X X
13 Requirements peer review/inspection/walk-through K X X
19 Technical writing of requirements deliverables (RTM, SRS, IRS) K X X
20 Development, implementation, and use of requirements
Trang 30Skills: RA’s Skills Matrix
Requirement Engineering
23 Requirements allocation (to components, applications,
Trang 31Skills: RA’s Skills Matrix
37 Requirements review board (RRB)/configuration review board
38 Requirements rough-order-of-magnitude (ROM) costs X X
Trang 32Skills:
Requirement Engineering
• Knows the types of requirements
• Knows the criteria of a good requirement
• Understands how to provide rationale for a requirement;
• Has studied related references;
• Knows the purpose of requirements verification
• Is familiar with office automation tools
• Is familiar with a requirements process and an RTM;
• Is familiar with automated requirements tools;
• Is able to facilitate requirements definition activities between developers and customers/users;
• Applies peer reviews and/or inspections to requirements development efforts;
• Understands the value of bidirectional requirements traceability
• Has a good understanding of the roles of the RA;
• Is familiar with all roles described in Chapter 2;
• Experienced in full life cycle activities;
• Well-developed interpersonal skills and characteristics;
• Has a through understanding of CM activities;
• Understands the value and importance of independent QA;
• Able to provide requirements-related training to more junior RAs
and other project members
Professional growth of the RA is based on cumulative experiences (Adapted from: Michael Davis.)
Trang 33RA Job Description
has the primary responsibility to elicit, analyze, validate, specify, verify, and manage the real needs of the project stakeholders, including customers and end users
Trang 34RA Job Description – Skills Needed
Interviewing skills (right questions)
Listening skills to understand
Analytical skills to evaluate
Facilitation skills to lead requirements elicitation workshops
Observational skills to validate data obtained
Writing skills to communicate information effectively
Organizational skills to work with the vast array of information gathered during elicitation and analysis and to cope with rapidly changing information
Interpersonal skills to help negotiate priorities and to resolve conflicts
Modeling skills to represent requirements information in graphical forms
Requirement Engineering
Trang 35
An understanding of contemporary requirements elicitation, analysis, specification, verification, and management practices and the ability to apply them in practice
Familiarity with requirements engineering tools and other resources
engineering according to several software development life cycles in a team environment
enterprise software products are positioned and developed
Application domain knowledge is a plus to have credibility with user representatives and be able to work effectively with them
Trang 36RA Job Description – Responsibilities
to document the product’s vision and scope
Identify project stakeholders and user classes, document
Elicit requirements using
Write requirements specifications
Decompose high-level business and user requirements
Define quality attributes, external interfaces, constraints, and other nonfunctional requirements
Represent requirements using alternative views
Lead requirements analysis and verification
Participate in requirements prioritization
Participate in peer reviews and inspections of requirements documents
Requirement Engineering
Trang 37RA Job Description – Responsibilities
requirements specifications
requirements traceability information and track requirements status throughout the project
defect identification and notification reports
engineering policies, procedures, and tools
through requirements development and analysis
Trang 38RA Job Description – Measures of Performance
product quality and effectiveness in the marketplace of the requirements after the product has been developed
Feedback from key customer or marketing representatives
on the way in which the requirements engineering process was conducted
Customer satisfaction measures
schedules, resource constraints, and quality goals
Control of requirements creep attributable to missed requirements and leakage of “unofficial” requirements into the project
Requirement Engineering
Trang 39Characteristics of an Effective
RA
Trang 40Characteristics – Barriers
Requirement Engineering
No Barriers You May Encounter Characteristics as Countermeasures
1
[A] Lacking a thorough knowledge of
requirements engineering, requirements
processes, and requirements errors
methodologies can cause the RA to be
less effective than is needed.
[1] Engage in continuing education to acquire expert knowledge of
requirements engineering and requirements practices.
[7] Initiate learning, applying, and using effective practices; seek
sponsorship for requirements-related activities from the PM; be committed
to project success.
[13] Maintain a good knowledge of evolving technology \and how it can be
applied to meet customer needs.
2
[B] The end product does not meet the
customer’s needs There are different
ideas and opinions as to what the real
requirements are.
[2] Be a good listener, communicator, and writer Carefully document
decisions and action items.
[3] Have good facilitation and negotiation skills.
[4] Be persistent and persevering.
[5] Be proactive in engaging customers and users, coworkers, and project
management.
[15] Desire to make a difference in your professional work.
3
[C] Management does not always
understand what is being built and what
resources are needed to achieve the end
product.
[6] Develop the ability to communicate effectively with
management.
[10] Develop the ability to estimate the time and other
resources required to accomplish technical work.
Trang 41Characteristics – Barriers
No Barriers You May Encounter Characteristics as Countermeasures
4 [D] The requirements process does not
support the project’s needs.
[8] Develop and maintain an attitude of continuous improvement.
[14] Set achievable goals and meet them define and describe methods to
achieve the project’s goals in a requirements plan.
[16] Develop your ability to contribute to the project’s risk process.
5
[E] Strong personalities and strong
opinions can derail the effectiveness of
good requirements development and
management.
[2] Be a good listener, communicator, and writer Carefully document
decisions and action items.
[9] Take responsibility for your views, attitudes, relationships, and actions,
and maintain respect for others.
6
[F] People often try to do more than is
called for and to make ad hoc changes
during work product development.
[11] Maintain focus on keeping the main thing the main thing Install a
mechanism to control new requirements and changes Don’t invent requirements independently and avoid gold plating Avoid requirements creep.
7
[G] Project personnel can become too
vested in the work product solution to
analyze and decompose requirements
effectively.
[12] Develop the ability to think outside the box to provide creative
approaches that might not occur to people who are close to the problem and the legacy system.
Trang 42Characteristics – Activities
Requirement Engineering
Read requirements engineering literature, attend professional meetings and conferences, visit Web sites, hold office in professional associations
writer
Attend seminars in listening skills, communications, and writing;
practice making presentations and writing
skills
Practice facilitating meetings, coordinating workshops, and managing process design sessions
In performing daily assignments, think deliberately about (1) suggestions for making things better, and (2) appropriate venues and approaches for making them Practice Ask for feedback, and act on it
Trang 43Characteristics – Activities
with management
Practice looking at your responsibilities from the perspective of your manager and senior management Write down your perspective and management’s perspective Work to understand differences and modify your communications accordingly
practices
Select a practice that you believe will improve a work situation
Gather support for trying it out (“piloting” it) Consider steps you and the project or organization can take to give the pilot the best
chance of success Implement the practice Follow through to ensure it takes Assess the value of implementing the practice after one month
attitudes, relationships, and actions
Make known to coworkers an error you have made, in the spirit ofcontributing to doing things better Convey that your intentions were good and that you have worked toward learning from the error
Also, work to recognize the value provided by all coworkers
Trang 44Characteristics – Activities
Requirement Engineering
requirements
Estimate the time you think you will require to accomplish work tasks assigned to you Track the actual time consumed, noting distractions
Consider changes you might make in your work habits to be moreproductive Over time, try to have estimates be closer to actuals
outside the box
Meet with stakeholders to consider previously unconsidered potential solutions to vexing problems Use the brainstorming technique to get three ideas from each participant Multivote on the ideas suggested Consider the potential value in seriously pursuing one or more ideas
Trang 45Characteristics – Activities
Plan your work for the next month Set a few specific objectives for some things that you believe are really important to accomplish
Keep these specific objectives foremost in mind over the next month Manage to the specific objectives (i.e., ensure that you accomplish them)
work situations
Explore with your manager how the tasks for which you are responsible at work might make a difference to the project or organization Identify some specific achievements, and then pursue them in earnest Solicit your coworkers’ and your manager’s support in achieving them
process
Volunteer to serve on the project’s risk management team If your project does not have one, suggest that the project consider initiating a risk process Identify the top risks, prioritize them, and develop risk mitigation plans for those considered to be the most serious risks Monitor the risks