The document discusses traceability in software development projects. It defines traceability as establishing and maintaining relationships between project elements to better understand the business solution. The document outlines why traceability is important, challenges to implementing traceability, best practices, and how Rational tools like DOORS NG can help address these challenges and support effective traceability.
Presented on Oct 28, 2014 at the Greater Atlanta Chapter IIBA.
People seek to make connections of items to make sense of them in a larger context. As children (or adults), we connect the dots to form a picture of something recognizable. As a business analyst, we connect requirements and other analysis outputs to get the bigger picture of an initiative and to check the completeness of our work.
We will explore how IIBA® has defined requirement traceability, how traceability works, and the benefits of the practice to the current project and future analysis.
The document discusses requirements traceability, including its importance in tracing requirements through the development lifecycle. It describes tracing requirements from business requirements to stakeholder requirements to test cases and solution components. The document also discusses why requirements are traced, including for impact analysis, discovering inconsistencies, and assessing addressed vs skipped requirements. It provides examples of what can be traced in agile projects and best practices for recording traceability through matrices, tools, or other means.
Requirements management and traceability for IIBALeslie Munday
This presentation, created for the Seattle chapter of the International Institute of Business Analysts, describes my experienes with managing requirements traceability.
Tool Kit: Requirements management plan (babok on a page)designer DATA
Methodology is a tool kit not a process – Choose wisely. Methodologies contain many tools and techniques, such as, process, data , use case and class modelling, sequence diagramming and state transition diagramming, prototyping and report templates. Not all these tools have to be used for every project.
So choose wisely and create your own fast path routes for completing different types of projects by preparing your own Business Analysis Project Planning Map. Build on your experiences and fine tune your product each time you undertake a new assignment.
http://www.tdan.com/view-articles/6089
When prioritizing requirements in a project, have you ever been in a situation in which virtually all requirements are High Priority or Critical? As you can imagine, ALL requirements being High priority is as "good" as NO requirements having ANY priority at all. Hmm, not very helpful, isn't it? Is there anything we can do about that?
In this presentation/workshop we'll go through some ideas and practices on how to improve the requirements prioritization process.
Agenda topics:
- Why are we talking about Requirements Prioritization?
- What are we talking about?
- Who cares? Why?
- When do (should) we do it?
- How do we do it? Some useful techniques...
- Pitfalls & "Best" Practices
The workshop goes beyond the knowledge presented in this document, working as team with a faster and better Prioritization Process. The outcomes of that experiment in a future presentation.
Business Analyst Requirements Management Mark Borowski
The document discusses the importance of requirements management for business analysts and agile development. It addresses common myths about agile not needing formal requirements. Effective requirements definition includes types, abstraction levels, and best practices like traceability. Stories are discussed as a form of agile requirements but often need further elaboration. Requirements still matter in agile and need to be well-structured, organized, and linked to other artifacts to ensure quality and manage changes.
Presented on Oct 28, 2014 at the Greater Atlanta Chapter IIBA.
People seek to make connections of items to make sense of them in a larger context. As children (or adults), we connect the dots to form a picture of something recognizable. As a business analyst, we connect requirements and other analysis outputs to get the bigger picture of an initiative and to check the completeness of our work.
We will explore how IIBA® has defined requirement traceability, how traceability works, and the benefits of the practice to the current project and future analysis.
The document discusses requirements traceability, including its importance in tracing requirements through the development lifecycle. It describes tracing requirements from business requirements to stakeholder requirements to test cases and solution components. The document also discusses why requirements are traced, including for impact analysis, discovering inconsistencies, and assessing addressed vs skipped requirements. It provides examples of what can be traced in agile projects and best practices for recording traceability through matrices, tools, or other means.
Requirements management and traceability for IIBALeslie Munday
This presentation, created for the Seattle chapter of the International Institute of Business Analysts, describes my experienes with managing requirements traceability.
Tool Kit: Requirements management plan (babok on a page)designer DATA
Methodology is a tool kit not a process – Choose wisely. Methodologies contain many tools and techniques, such as, process, data , use case and class modelling, sequence diagramming and state transition diagramming, prototyping and report templates. Not all these tools have to be used for every project.
So choose wisely and create your own fast path routes for completing different types of projects by preparing your own Business Analysis Project Planning Map. Build on your experiences and fine tune your product each time you undertake a new assignment.
http://www.tdan.com/view-articles/6089
When prioritizing requirements in a project, have you ever been in a situation in which virtually all requirements are High Priority or Critical? As you can imagine, ALL requirements being High priority is as "good" as NO requirements having ANY priority at all. Hmm, not very helpful, isn't it? Is there anything we can do about that?
In this presentation/workshop we'll go through some ideas and practices on how to improve the requirements prioritization process.
Agenda topics:
- Why are we talking about Requirements Prioritization?
- What are we talking about?
- Who cares? Why?
- When do (should) we do it?
- How do we do it? Some useful techniques...
- Pitfalls & "Best" Practices
The workshop goes beyond the knowledge presented in this document, working as team with a faster and better Prioritization Process. The outcomes of that experiment in a future presentation.
Business Analyst Requirements Management Mark Borowski
The document discusses the importance of requirements management for business analysts and agile development. It addresses common myths about agile not needing formal requirements. Effective requirements definition includes types, abstraction levels, and best practices like traceability. Stories are discussed as a form of agile requirements but often need further elaboration. Requirements still matter in agile and need to be well-structured, organized, and linked to other artifacts to ensure quality and manage changes.
This document provides an overview of the role of a business analyst, including defining business analysis, the roles and responsibilities of a business analyst, skills required, and how business analysts are involved in the software development lifecycle (SDLC). It discusses techniques business analysts use like SWOT analysis, gap analysis, risk analysis, and root cause analysis. The document also covers common diagrams used by business analysts like use case diagrams and activity diagrams, as well as tools and methodologies like Agile, Scrum, and UML. Finally, it defines key terms and jargon related to business analysis.
Concepts Of business analyst Practices - Part 1Moutasm Tamimi
The document defines various concepts related to business analysis including agile methodology, business analysis, business analyst role, requirements elicitation techniques, and system development lifecycles. It provides definitions for agile, business analysis, business analyst, requirements documents, feasibility studies, use cases, prototypes, and more. It also outlines the roles of project teams including the project owner, business and technical assurance coordinators, and describes techniques like functional decomposition and workflow diagrams. Finally, it introduces the speaker as an independent consultant and instructor on topics like project management, databases, and digital marketing.
Suresh Veluguri is a Business Analyst with over 5 years of experience in domains such as logistics, manufacturing, and telecom. He has expertise in requirements analysis, test management, and Agile methodologies. Currently working as a Business Analyst for HP on a project with Shell. Previously worked on projects with Vodafone and General Motors. Skilled in ALM tools, Quality Center, and various development methodologies.
This presentation collects several thoughts and conversations had with colleagues over the last few months about the role of the business analyst.
The diagrams and drawings are outcomes of these conversations and are ripe for further expansion. In many instances they are half thought through, or missing key things that help round them out.
You can help: If you have comments or opinion please add them below.
This document discusses the roles and responsibilities of a business analyst, including eliciting requirements, preparing documentation, and using techniques like UML diagrams. It also covers the business analyst's involvement in the software development lifecycle from different methodologies. Finally, it discusses how clearly defining business requirements early can help reduce project failures, align with business goals, and reduce costs.
Requirement management presentation to a software teamrchakra
This document discusses various aspects of requirement management. It covers the benefits of good requirements such as completing projects faster with better quality and lower cost. It also discusses topics like implicit requirements, changing requirements, linking requirements to business objectives, different project life cycle models, iterative requirement management, validation, testable requirements, and tools to manage requirements.
The document discusses requirements elicitation techniques used in business analysis. It defines requirements elicitation as actively engaging stakeholders to understand their needs rather than just gathering requirements. The document outlines key techniques for each stage of the requirements elicitation process: prepare for elicitation, conduct elicitation, document elicitation results, and confirm elicitation results. Common individual and group techniques are described such as interviews, observation, brainstorming, prototyping and interface analysis.
This document discusses requirements for software development. It defines what requirements are and different types of requirements including functional, non-functional, system, and software requirements. It provides examples of different types of requirements and explains how functional requirements specify what a system must do while non-functional requirements specify attributes of the system like performance.
The document discusses various concepts related to agile software development methodology including Scrum, Kanban, sprints, product and sprint backlogs, daily standups, planning and retrospective meetings. It provides details on Scrum roles like Product Owner and Scrum Master and their responsibilities. Various agile terms are defined like velocity, story boards, spikes, impediments and user stories. The advantages of the agile methodology are highlighted.
This presentation reviews how requirement prioritization is a decision process used to determine the relative importance of requirements. The importance of requirements may be based on their relative value, risk, difficulty of implementation, or on other criteria. These priorities are used to determine which requirements should be targets for further analysis and to determine which requirements should be implemented first. We shall discuss the inputs, techniques used, and the expected outcome.
Prioritization of requirements ensures that analysis and implementation efforts focus on the most critical requirements
Business Analysis information in BABOK V3.0 has 11 states.
In this slide you can see 11 States Diagram of the Requirements and Designs according to BABOK V3.0 Knowledge Areas.
Business analysts play an important role throughout the software development life cycle (SDLC) by eliciting requirements, assisting with design, testing solutions, and ensuring requirements are met. The SDLC includes phases like planning, analysis, design, development, testing, implementation, and maintenance. Business analysts contribute in each phase, such as assisting with business cases, requirements gathering, reviewing designs, testing solutions, and managing requirements tracking. They help maximize business value by delivering solutions that meet requirements while mitigating risks and costs.
Business requirements gathering and analysisMena M. Eissa
Business analysis and requirements management are a key to project success.
This workshop helps candidates perform better based on sharing real life experience with them.
This document outlines the modules in a course on requirements engineering based on the British Computer Society syllabus. The course covers topics like elicitation, analysis, validation, documentation and management of requirements. It teaches a five-part framework and uses techniques like interviews, modeling and documentation styles. The modules discuss hierarchy, stakeholders, elicitation, modeling, analysis, validation and management of requirements. The goal is to help people formalize their skills in requirements engineering.
The document discusses the role of a business analyst, including their responsibilities in requirements gathering, documentation, and user training. It outlines the skills required such as communication, analytical skills, and problem solving. It also covers the software development life cycle and methodologies like waterfall, spiral, iterative, and agile. Key business analysis techniques are described like requirements elicitation, documentation standards, and UML diagrams.
The document discusses the requirements review process. It describes reviewing requirements as a group activity to analyze requirements for problems and agree on solutions. The summary is:
The requirements review process involves stakeholders reading and discussing requirements to check for correct content, quality, and adherence to standards. Reviewers from different backgrounds evaluate requirements for issues. The review defines the process, reviewers, and activities which include distributing documents, individual review, and a meeting to discuss comments and agree on actions. Checks include testability, organization, and conformance to standards.
A Business Analyst is responsible for identifying business needs, developing and managing requirements, and acting as a liaison between business stakeholders and technical teams. Specifically, they elicit, analyze, validate and document organizational requirements without predetermining solutions, which may include systems development, process improvement, or organizational change. Business Analysis involves tasks like requirements gathering and management throughout a project's life cycle to help ensure effective business systems are developed.
This document provides an introduction to requirement management and analysis. It discusses identifying customer needs, building analysis models, prototyping uncertainties, and specifying requirements to guide system design. Key aspects of requirements engineering include eliciting, analyzing, documenting, and validating stakeholder needs. Requirements should be written to describe what a system should do, without specifying how. Techniques for gathering requirements include interviews, workshops, prototypes, and use cases. Structured English and other templates can bring rigor to documenting requirements in natural language.
This document discusses the importance of requirements traceability for managing changing requirements during software development. Requirements traceability links requirements to related artifacts like test cases, code, and defects to ensure changes propagate in all directions. When requirements change, the traceability matrix helps identify what other artifacts need updating by showing connections between requirements and development items. Maintaining bidirectional traceability from requirements to final tests and vice versa allows projects to stay on track as needs evolve.
A good test engineer has qualities like finding problems, paying attention to detail, communicating well, and understanding development. For QA engineers, these qualities are also important along with understanding the whole development process. QA/test managers should maintain team morale, promote cooperation, withstand pressures, and communicate with technical and non-technical people. Documentation, requirements, test plans, cases, and configuration management are critical parts of QA. Risk analysis helps determine testing focus when time is limited or requirements are changing.
Requirements engineering processes vary significantly between organizations due to differences in factors like the type of system being developed and the organization's maturity. Key activities in most requirements engineering processes include requirements discovery, classification, prioritization, documentation, and management of changes. Effective requirements engineering requires understanding problems from different perspectives like the product, customers, developers, and environment to develop requirements that satisfy stakeholders.
This document provides an overview of the role of a business analyst, including defining business analysis, the roles and responsibilities of a business analyst, skills required, and how business analysts are involved in the software development lifecycle (SDLC). It discusses techniques business analysts use like SWOT analysis, gap analysis, risk analysis, and root cause analysis. The document also covers common diagrams used by business analysts like use case diagrams and activity diagrams, as well as tools and methodologies like Agile, Scrum, and UML. Finally, it defines key terms and jargon related to business analysis.
Concepts Of business analyst Practices - Part 1Moutasm Tamimi
The document defines various concepts related to business analysis including agile methodology, business analysis, business analyst role, requirements elicitation techniques, and system development lifecycles. It provides definitions for agile, business analysis, business analyst, requirements documents, feasibility studies, use cases, prototypes, and more. It also outlines the roles of project teams including the project owner, business and technical assurance coordinators, and describes techniques like functional decomposition and workflow diagrams. Finally, it introduces the speaker as an independent consultant and instructor on topics like project management, databases, and digital marketing.
Suresh Veluguri is a Business Analyst with over 5 years of experience in domains such as logistics, manufacturing, and telecom. He has expertise in requirements analysis, test management, and Agile methodologies. Currently working as a Business Analyst for HP on a project with Shell. Previously worked on projects with Vodafone and General Motors. Skilled in ALM tools, Quality Center, and various development methodologies.
This presentation collects several thoughts and conversations had with colleagues over the last few months about the role of the business analyst.
The diagrams and drawings are outcomes of these conversations and are ripe for further expansion. In many instances they are half thought through, or missing key things that help round them out.
You can help: If you have comments or opinion please add them below.
This document discusses the roles and responsibilities of a business analyst, including eliciting requirements, preparing documentation, and using techniques like UML diagrams. It also covers the business analyst's involvement in the software development lifecycle from different methodologies. Finally, it discusses how clearly defining business requirements early can help reduce project failures, align with business goals, and reduce costs.
Requirement management presentation to a software teamrchakra
This document discusses various aspects of requirement management. It covers the benefits of good requirements such as completing projects faster with better quality and lower cost. It also discusses topics like implicit requirements, changing requirements, linking requirements to business objectives, different project life cycle models, iterative requirement management, validation, testable requirements, and tools to manage requirements.
The document discusses requirements elicitation techniques used in business analysis. It defines requirements elicitation as actively engaging stakeholders to understand their needs rather than just gathering requirements. The document outlines key techniques for each stage of the requirements elicitation process: prepare for elicitation, conduct elicitation, document elicitation results, and confirm elicitation results. Common individual and group techniques are described such as interviews, observation, brainstorming, prototyping and interface analysis.
This document discusses requirements for software development. It defines what requirements are and different types of requirements including functional, non-functional, system, and software requirements. It provides examples of different types of requirements and explains how functional requirements specify what a system must do while non-functional requirements specify attributes of the system like performance.
The document discusses various concepts related to agile software development methodology including Scrum, Kanban, sprints, product and sprint backlogs, daily standups, planning and retrospective meetings. It provides details on Scrum roles like Product Owner and Scrum Master and their responsibilities. Various agile terms are defined like velocity, story boards, spikes, impediments and user stories. The advantages of the agile methodology are highlighted.
This presentation reviews how requirement prioritization is a decision process used to determine the relative importance of requirements. The importance of requirements may be based on their relative value, risk, difficulty of implementation, or on other criteria. These priorities are used to determine which requirements should be targets for further analysis and to determine which requirements should be implemented first. We shall discuss the inputs, techniques used, and the expected outcome.
Prioritization of requirements ensures that analysis and implementation efforts focus on the most critical requirements
Business Analysis information in BABOK V3.0 has 11 states.
In this slide you can see 11 States Diagram of the Requirements and Designs according to BABOK V3.0 Knowledge Areas.
Business analysts play an important role throughout the software development life cycle (SDLC) by eliciting requirements, assisting with design, testing solutions, and ensuring requirements are met. The SDLC includes phases like planning, analysis, design, development, testing, implementation, and maintenance. Business analysts contribute in each phase, such as assisting with business cases, requirements gathering, reviewing designs, testing solutions, and managing requirements tracking. They help maximize business value by delivering solutions that meet requirements while mitigating risks and costs.
Business requirements gathering and analysisMena M. Eissa
Business analysis and requirements management are a key to project success.
This workshop helps candidates perform better based on sharing real life experience with them.
This document outlines the modules in a course on requirements engineering based on the British Computer Society syllabus. The course covers topics like elicitation, analysis, validation, documentation and management of requirements. It teaches a five-part framework and uses techniques like interviews, modeling and documentation styles. The modules discuss hierarchy, stakeholders, elicitation, modeling, analysis, validation and management of requirements. The goal is to help people formalize their skills in requirements engineering.
The document discusses the role of a business analyst, including their responsibilities in requirements gathering, documentation, and user training. It outlines the skills required such as communication, analytical skills, and problem solving. It also covers the software development life cycle and methodologies like waterfall, spiral, iterative, and agile. Key business analysis techniques are described like requirements elicitation, documentation standards, and UML diagrams.
The document discusses the requirements review process. It describes reviewing requirements as a group activity to analyze requirements for problems and agree on solutions. The summary is:
The requirements review process involves stakeholders reading and discussing requirements to check for correct content, quality, and adherence to standards. Reviewers from different backgrounds evaluate requirements for issues. The review defines the process, reviewers, and activities which include distributing documents, individual review, and a meeting to discuss comments and agree on actions. Checks include testability, organization, and conformance to standards.
A Business Analyst is responsible for identifying business needs, developing and managing requirements, and acting as a liaison between business stakeholders and technical teams. Specifically, they elicit, analyze, validate and document organizational requirements without predetermining solutions, which may include systems development, process improvement, or organizational change. Business Analysis involves tasks like requirements gathering and management throughout a project's life cycle to help ensure effective business systems are developed.
This document provides an introduction to requirement management and analysis. It discusses identifying customer needs, building analysis models, prototyping uncertainties, and specifying requirements to guide system design. Key aspects of requirements engineering include eliciting, analyzing, documenting, and validating stakeholder needs. Requirements should be written to describe what a system should do, without specifying how. Techniques for gathering requirements include interviews, workshops, prototypes, and use cases. Structured English and other templates can bring rigor to documenting requirements in natural language.
This document discusses the importance of requirements traceability for managing changing requirements during software development. Requirements traceability links requirements to related artifacts like test cases, code, and defects to ensure changes propagate in all directions. When requirements change, the traceability matrix helps identify what other artifacts need updating by showing connections between requirements and development items. Maintaining bidirectional traceability from requirements to final tests and vice versa allows projects to stay on track as needs evolve.
A good test engineer has qualities like finding problems, paying attention to detail, communicating well, and understanding development. For QA engineers, these qualities are also important along with understanding the whole development process. QA/test managers should maintain team morale, promote cooperation, withstand pressures, and communicate with technical and non-technical people. Documentation, requirements, test plans, cases, and configuration management are critical parts of QA. Risk analysis helps determine testing focus when time is limited or requirements are changing.
Requirements engineering processes vary significantly between organizations due to differences in factors like the type of system being developed and the organization's maturity. Key activities in most requirements engineering processes include requirements discovery, classification, prioritization, documentation, and management of changes. Effective requirements engineering requires understanding problems from different perspectives like the product, customers, developers, and environment to develop requirements that satisfy stakeholders.
The document discusses the importance of requirements engineering in software development. It states that incomplete or changing requirements are major causes of cost overruns in projects. Proper requirements analysis can help reduce errors and save significant costs compared to later fixes. Challenges include insufficient time, review, and technical knowledge as well as political and communication issues. The key is to fully understand user needs, write clear specifications, and manage requirements throughout the project lifecycle.
Governance and Business Participation: The Key Requirements for Effective SOA...Nathaniel Palmer
The document discusses governance considerations for effective SOA deployment. It emphasizes the importance of business participation in governance activities to create business value and accelerate organizational change. Key aspects of governance include policies, roles, processes, metrics and tools to manage SOA implementation and ensure projects deliver business services that meet goals. Project reviews should validate business requirements and service quality to optimize SOA adoption.
Governance and Business Participation: The Key Requirements for Effective SOA...Nathaniel Palmer
The document discusses governance considerations for effective SOA deployment. It emphasizes the importance of business participation in governance activities to create business value and accelerate organizational change. Key aspects of governance include policies, roles, processes, metrics and tools to manage SOA implementation and ensure projects deliver expected outcomes.
This resume is for Angela Reed, who has over 20 years of experience as a project manager in the IT industry. She has various certifications in project management methodologies like Scrum, Agile and Six Sigma. Her experience includes managing complex IT projects with cross-functional teams on time and within budget at various companies. She has a proven track record of effective communication and leadership skills.
The document discusses various processes and techniques for requirements engineering (RE). It describes key RE activities like elicitation, analysis, validation and management. It also covers topics like feasibility studies, stakeholders, viewpoints, interviews, scenarios, use cases, social factors, prototyping, derived and volatile requirements, and requirements management including traceability.
The document discusses several techniques for requirements analysis including acceptance and evaluation criteria, benchmarking, and brainstorming. For each technique, definitions, advantages, disadvantages, and areas of applicability are provided. Acceptance criteria help ensure requirements are testable and address contractual obligations but may be difficult to change. Benchmarking provides competitive information but is time-consuming and may lack innovative ideas. Brainstorming elicits many ideas quickly in a non-judgmental way but depends on participant creativity.
The document discusses requirements for developing a new product. It defines requirements as things that must be discovered before building a product. There are functional requirements that specify what the product must do and non-functional requirements that specify qualities the product must have. Both types of requirements are important to gather from stakeholders to ensure the final product meets user needs. Requirements include things the product must do, qualities it must have, constraints, and other details to guide the product development process.
This document is a resume for Angela Reed that summarizes her experience and qualifications as a project manager. She has over 20 years of experience in project management roles in the IT industry, with expertise in Agile, Scrum, and Waterfall methodologies. Her resume lists various project management roles and responsibilities she has held at several companies, demonstrating her experience leading projects, teams, and stakeholders to deliver projects on time and on budget.
Requirements validation certifies that the requirements document accurately describes the system to be built. It checks for completeness, consistency, standards compliance, and technical errors. Validation analyzes the final requirements document, while analysis works with initial requirements. Validation inputs include the requirements document and organizational standards. Outputs are a problem list and agreed actions. Requirements reviews involve analyzing the document for problems, discussing issues, and agreeing on solutions. Validation techniques include reviews, prototyping, modeling, and testing.
The document provides an overview of system development life cycles and related concepts. It discusses the phases of the system development cycle including planning, analysis, design, implementation, and support. It also describes key roles like the systems analyst and project team. Common methodologies like waterfall and agile approaches are introduced.
This resume summarizes Angela Reed's 20+ years of experience as a project manager and business analyst in the IT industry. She has extensive experience managing projects using methodologies like Scrum, Agile, Six Sigma and Waterfall. She is certified in Scrum Product Owner and holds other certifications. Her experience includes roles at various companies managing projects, gathering requirements, and acting as a liaison between business and IT. She has strong communication, leadership and technical skills.
The document discusses the key activities in requirements engineering including feasibility studies, elicitation and analysis, validation, and management. It describes eliciting requirements through interviews and scenarios, analyzing requirements from different stakeholder viewpoints, and validating requirements for consistency, completeness, and verifiability. Requirements management is needed to handle changing requirements as the business and system evolve.
The document describes key requirements engineering processes including feasibility studies, requirements elicitation and analysis, requirements validation, and requirements management. It discusses techniques for gathering requirements such as interviews, scenarios, use cases, and ethnography. It also covers validating requirements through reviews and prototyping to ensure the defined requirements meet customer needs.
This document is a resume for Marcella Mortimer, who has 7 years of experience as a Business Analyst. She actively participates in all phases of the software development life cycle, working with subject matter experts, developers, testers, and end users. She is skilled at gathering requirements, creating documentation, designing systems, and juggling multiple projects. She has experience with user acceptance testing and collaborating with quality analysts on test plans, scenarios, cases, and data to ensure requirements are met. She is seeking a full-time position where she can continue growing professionally while utilizing her analytical experience.
This document contains a summary of Jimmy Chhanechhara's qualifications and experience as a Business Analyst and Senior Systems Analyst. It includes details of his address, contact information, education background and over 15 years of experience managing IT projects, gathering requirements, designing systems architectures, and ensuring delivery and quality. He has extensive expertise in agile methodologies, process analysis, project management, and interacting with clients.
Similar to Lesson Plan 0 - Traceability Intro (20)
1. Traceability
Stephanie Walsh – Jan 2016
“Too frequently in the life of a software development project, a requirement cannot
be attributed to a stakeholder, important functionality is missing, or unnecessary
features appear in the final product -- all "without a trace." That is, there is no
discoverable connection between the work pertaining to a specific feature and an
actual requirement for that feature. Yet, the concept of traceability is inherently
linked with the quality of the product to be delivered. Unfortunately, traceability is
often treated as an unwanted orphan.”*
2. What is traceability?
Traceability is a means of revealing the
record of the process of creating and
adapting a business solution, by
establishing and maintaining
relationships between each of the
project elements, in order to better
understand the business solution
3. Hierarchical and Interdependent
Traceability
Hierarchical Traceability
Good for functional
requirements
Doesn’t allow for
other types of
relationships other
than parent-child
Helps to see where
requirements have
been de-scoped or
missed in later stages
i.e. scope changes
Interdependent Traceability
Identifies the relationships among related
work items / artefacts across the project
Enables links to be established between
similar requirements which are related by
a non-hierarchical relationship
Helps to assess impact of change, manage
change
Business
Objective
Functional
Requirement
Design
document
Source Code
Test Case
Functional
Requirement
NFR
Business Rule
Use Case
Functional
Requirement
Change
Request
Both are important to establish full traceability of the solution
4. Why do we want traceability?
1. To ensure the solution is built right - i.e. all the capabilities in the requirements
are working in the solution
2. To ensure we build the right solution - i.e. there are no excess features in the
solution which were not asked for by the customer
3. To ensure the coherence of the solution - i.e. the solution works as a whole and
doesn’t contradict itself
4. To help manage change and risk – e.g. by ensuring all project elements relating
to a change are updated at the same time
5. To assess the impact of change - to be able to correctly identify all project
elements affected by a change as quickly and efficiently as possible
6. To prove we have delivered what we were contractually requested to deliver –
in case the customer believes that the contract has not been met
7. For regulatory compliance – some projects, for example in the medical industry
require traceability to be documented for regulatory purposes
5. What are the risks of ignoring
traceability?
“Research has shown that inadequate traceability is an important contributing
factor to software project failures and budget overruns”*
Risk of wasting time creating unwanted functionality
Risk of solution not meeting client needs
Risk of the solution not being consistent or integrated
Risk of wasting time/ making errors in assessing the impact of change
Risk of confusion on project due to unmanaged change
Inability to prove the solution meets the contractually agreed requirements
Risk of wasting time trying to understand the product when investigating
defects
6. Main challenges in establishing and
maintaining traceability
Lack of understanding about what traceability is
People having different views on what traceability is or placing different
emphasis of particular parts of traceability without understanding the full picture
Lack of understanding the importance of traceability
People placing more emphasis on delivering a solution and treating traceability
as a ‘nice to have’ rather than essential to the essence of the solution
7. Other challenges in establishing and
maintaining traceability
Lots of changes / Poorly tracked change / Out of date requirements
specification
Insufficient detail /Links are established too generically
Project longevity/ People leaving the project / New people joining the
project / Insufficient knowledge transfer
Unproductive decision making not involving the original sources of the
requirements in further discussions and refinements
Poor collaboration / Individual responsibility as opposed to team responsibility
for requirements
Poor reuse of requirements
Poor tool choice/Inflexible tools/ Tools not integrated or unable to maintain
traceability for whole project lifecycle
8. Traceability and Project Methodologies
Traceability is essential regardless of project methodology,
since it enables us to better understand a solution
Traceability gives visibility of what we are building and why
Traceability should not be sacrificed for the sake of producing
software faster
Traceability actually enables us to be more efficient by
providing is with the intelligibility, soundness and coherence of
the solution
9. Best Practices
Plan and Document
Adopt consistent practices.
Use unique identifiers.
Take ownership of traceability.
Centralise traceability
Educate the team
Keep it iterative
Communicate changes
NEVER use traceability as a measure in performance reviews
10. A Basic Traceability set-up
Stakeholder
Need
Satisfies
Implements
Use
Case
Feature
Supplem
entary
Test
Case
Validates
Use case
realisation
Implements
Satisfies
Satisfies
Validates
Development domain
Analysis
domain
Test domain
11. Relationships between requirements
artefacts
There are lots of different types of requirement artefacts. Which artefacts you create will be
dependant on the nature of the project.
Here are some common types of requirement artefacts:
Business Objective/Stakeholder Request
Functional Requirements
Non Functional Requirements
User Stories
Process Flows
Use Cases
Business Rules
Supporting artefacts e.g. Interface specifications, sample messages, WSDLs, XML schemas
So what are all these types of requirements artefact, and how do they relate to each other?
13. Functional Requirements, Use Cases and
Business Rules
Functional requirements – capture behaviour of the system
Use cases- describe how a user interacts with the system to accomplish a goal
FR
Use Case
Fulfils / Is
fulfilled by
Use Case
Fulfils / Is
fulfilled by
Fulfils / Is
fulfilled by
Fulfils / Is
fulfilled by
Fulfils / Is
fulfilled by
Calls
FR
FR
FR
FR
Child of/
Parent of
Business
Rule
Constrains /
Constrained by
Embedded in
15. Use Case Breakdown
Actor
Use Case
Describes /
Described by
Main
Flow
Exception
FlowAlternate
Flow
Involved In /
Involves
Notificati
on / Alert
Triggered By /
Triggers
Use Case
Use Case
Extends /
Extended by
Includes /
Included in
Includes /
Included in
Describes /
Described by
Describes /
Described by
16. Interface Specifications, Validation rules
and supporting artefacts
Interface Specifications describe the interface between two systems
Validation rules specify exactly what validations are performed on messages
travelling across an interface.
NFR
Interface
Specification
Characteristic
of
Qualifies Includes
Describes
WSDL
Sample
Message
Validation
Rule
Authenticates
FR
Constrains
Elaborates
17. Message
Validation Rules
System
Message Type
Meta Data Rule
Sample Message
Functional
Requirements
Link To
Link To
Link To
Link To
Link To
Link To
Link To
Is
Elaborated
By
Is
Fulfilled
By
Triggers
Link To
Demonstrates
Is
Constrain
By
Link To
Meta Data
Mapping
Master List
Meta Data
Status Rules
Meta Data Map
System Use
Case
Alerts
Use Case Flow
Supporting Use
Case Artefact
Business Rules
Interface
Summary
Routing Rules
Interface
Specifications
Functional
Requirements
Link To
Link To
Parent Of
Is
Elaborated
By
19. How Rational DOORS NG follows best
Practices
Best Practices How DOORS NG meets this
Plan and Document Customisation
Adopt consistent practices. Roles and permissions, customisation
Use unique identifiers. Unique artefact IDs
Take ownership of traceability. Audit history, named users
Centralise traceability Single, online requirements repository
Educate the team
Keep it iterative Audit history, baselines, live versions
Communicate changes Audit history, suspect profiles
NEVER use traceability as a measure in
performance reviews
20. How does DOORS NG help to reduce
challenges in traceability
Challenges How does DOORS NG reduce the challenge?
Change Management (lots of
changes, poorly tracked change)
DOORS NG works alongside RTC for change
management. Suspicion profiles
Links established to generically /
Insufficient detail
DOORS NG has artefacts for each requirement, so
links can be established per requirement.
Resource changes / Insufficient
knowledge transfer
DOORS NG has full audit trails, so you can see who
created the artefact
Unproductive decision making not
involving the source of business
need
In DOORS NG you can have stakeholder request
artefacts, with customisable attributes to capture
all the information you need
Poor collaboration Full audit history, artefact owners and
communications within the tool
Inflexible tools DOORS NG is designed with traceability in mind
and has full customisation on traceability links
21. How does Rational (DOORS NG, RTC, RQM)
help to overcome these challenges?
Centralised platform
Unique IDs
Traceability
Traceability links to specific artefacts / specific parts of artefacts / external
sources
Flexibility and configuration with links (not merely hierarchical)
Links throughout project lifecycle from requirements to test
Suspicion profiles
Tracks changes and aids with analysing the impact of change
Baselines and Audit History
22. DOORS NG Default traceability links
Synonym Extracted
/
Extracted
from
External
Link to /
External
link from
Child of /
Parent Of
Embeds /
Embedded
in
Satisfies /
Satisfied
by
Link to /
Link From
Implement
ed By
Tracked
by
Actor
FR
Feature
Heading
Informatio
n
NFR
Process
Diagram
Sketch
Stakeholde
r Request
Storyboard
Supplemen
tary
Term
Use Case
23. DOORS NG Default traceability links
Term
Suppleme
ntary
Storyboar
d
Stakehold
er
Request
Sketch
Heading
Actor
Feature
Informati
on
Process
Diagram
NFR
FR
Use Case
Diagram
Use Case
Satisfies /
Satisfied By
24. Proposal for Interdependent Traceability
Links between requirements artefacts
Term
Supplementa
ry
Storyboar
d
Stakeholder
Request
Sketch
Headingctor
Feature
Informati
on
Process
Diagram
NFR
FR
Use Case
Diagram
Use Case
Satisfies /
Satisfied By
Includes /
Included in FR
Child of /
Parent of
CR
Test case
Elaborates / Is
elaborated by
Satisfies /
Satisfied By
Satisfies /
Satisfied By
Tracked by
Validated by
Dev task
Implemented
by
olved in /
nvolves