requirements engineering in an agile environment
DESCRIPTION
TRANSCRIPT
Requirements Engineering in an Agile Environment
Introduction
IntroductionO “Requirements engineering is defined as the
branch of Software Engineering concerned with the real‐world goals for, functions of, and constraints on software systems.”
O “Agile software development is a group of software development methodologies iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross functional teams.”
Problem description
Problem descriptionO Traditional RE inapplicable to the
quick and changeable work under an agile environment.
O AMs seem to manage effectively requirements in small projects but not in large ones.
O The teams lack a good, lean and agile way to collect requirements.
Purposes
Purposes This project aims to Investigate the working process of
the two teams in the test tools section at SEMC.
Find out the problems the teams have in working with the current requirements.
Design some possible improvements based on the discovered problems.
Purposes Try out the improvements in one
pilot for each team. Evaluate the effects of the pilots in
order to propose a suggestion on the future work of the teams.
Delimitations
DelimitationsO The goal of this project is to find out
an effective way to conduct a Requirements Engineering process in an agile environment. The newly‐found methodology will only be tried out within some small pilots and the tools used in the teams will not be evaluated.
Feasibility Study
Feasibility StudyO The Feasibility Study gives the
overview of the target system and decides whether or not the proposed system is worthwhile.
Feasibility Study Does the system contribute to the
high level objectives and the critical requirements of the organization?
Is your organization ready for the AD?
Can the system be implemented within given budget?
How to integrate the agile activities with traditional organizational activities already in place?
System Design
Agile Development Methods
• Agile development is less document-centric and more code-oriented.
• Agile methods were developed to adapt and thrive on frequent changes.
• Agile methods are people-oriented rather than process oriented.
Agile Development Methods
O Extreme Programming (XP) is based on values of simplicity, communication, feedback, and courage.
O XP uses story cards for elicitation. O XP is based on frequent small
releases.
Agile development process VS. Waterfall process
First iteration in an agile development process
Context Models
Background of Test Tools & Support Section
Organization of SEMC
Product process
Working process of BRAT Team and QC Team
Tools for Requirements Engineering in Agile Method (AM)
O UML Modeling ToolsO Requirements Negotiation ToolsO Instant Messaging ToolsO Project Management Tools
Conclusions
ConclusionsO While advances in software
technologies and development tools have helped launch new generations of software products, it is also the case that new generations of software products drive the development of more sophisticated development Empirical data comparing the effectiveness and limitations of agile and non-agile approaches
Thank You!!!