Podcast
Questions and Answers
What is the principal responsibility of software project managers?
What is the principal responsibility of software project managers?
What is the focus of the Scrum approach?
What is the focus of the Scrum approach?
How many phases are there in Scrum?
How many phases are there in Scrum?
What is the typical length of a sprint in Scrum?
What is the typical length of a sprint in Scrum?
Signup and view all the answers
What is the starting point for planning in Scrum?
What is the starting point for planning in Scrum?
Signup and view all the answers
What is an important consideration when writing a requirements document?
What is an important consideration when writing a requirements document?
Signup and view all the answers
What is the purpose of the project closure phase in Scrum?
What is the purpose of the project closure phase in Scrum?
Signup and view all the answers
What is the result of each sprint cycle in Scrum?
What is the result of each sprint cycle in Scrum?
Signup and view all the answers
What should be specified in the user requirements section?
What should be specified in the user requirements section?
Signup and view all the answers
What is the purpose of prioritising requirements?
What is the purpose of prioritising requirements?
Signup and view all the answers
Why do stakeholders sometimes express requirements in their own terms?
Why do stakeholders sometimes express requirements in their own terms?
Signup and view all the answers
What is the purpose of the system architecture chapter?
What is the purpose of the system architecture chapter?
Signup and view all the answers
What is the relationship between sprints in Scrum and releases in XP?
What is the relationship between sprints in Scrum and releases in XP?
Signup and view all the answers
What is the purpose of the software requirements document?
What is the purpose of the software requirements document?
Signup and view all the answers
What type of models may be included in the system models section?
What type of models may be included in the system models section?
Signup and view all the answers
What is the requirements engineering process?
What is the requirements engineering process?
Signup and view all the answers
What is the purpose of the system evolution chapter?
What is the purpose of the system evolution chapter?
Signup and view all the answers
What is requirements discovery?
What is requirements discovery?
Signup and view all the answers
Why is the system evolution chapter useful for system designers?
Why is the system evolution chapter useful for system designers?
Signup and view all the answers
Who are the stakeholders in the MHC-PMS?
Who are the stakeholders in the MHC-PMS?
Signup and view all the answers
What should be described in the system requirements specification chapter?
What should be described in the system requirements specification chapter?
Signup and view all the answers
What might be included in the system models section?
What might be included in the system models section?
Signup and view all the answers
Why do new stakeholders emerge during the analysis process?
Why do new stakeholders emerge during the analysis process?
Signup and view all the answers
What is the purpose of requirements negotiation?
What is the purpose of requirements negotiation?
Signup and view all the answers
What is the main characteristic of Extreme Programming (XP)?
What is the main characteristic of Extreme Programming (XP)?
Signup and view all the answers
How often are new versions built in Extreme Programming (XP)?
How often are new versions built in Extreme Programming (XP)?
Signup and view all the answers
What is the primary goal of incremental development in Extreme Programming (XP)?
What is the primary goal of incremental development in Extreme Programming (XP)?
Signup and view all the answers
What is the role of the customer in Extreme Programming (XP)?
What is the role of the customer in Extreme Programming (XP)?
Signup and view all the answers
What is the purpose of refactoring in Extreme Programming (XP)?
What is the purpose of refactoring in Extreme Programming (XP)?
Signup and view all the answers
What is the primary goal of incremental planning in Extreme Programming (XP)?
What is the primary goal of incremental planning in Extreme Programming (XP)?
Signup and view all the answers
What is the main characteristic of a small release in Extreme Programming (XP)?
What is the main characteristic of a small release in Extreme Programming (XP)?
Signup and view all the answers
What is the purpose of simple design in Extreme Programming (XP)?
What is the purpose of simple design in Extreme Programming (XP)?
Signup and view all the answers
What is the purpose of a tabular specification in requirements engineering?
What is the purpose of a tabular specification in requirements engineering?
Signup and view all the answers
What is the result of the computation for an insulin pump system when the sugar level is falling (r2 < r1)?
What is the result of the computation for an insulin pump system when the sugar level is falling (r2 < r1)?
Signup and view all the answers
What is the main difference between requirements engineering processes in different application domains?
What is the main difference between requirements engineering processes in different application domains?
Signup and view all the answers
What is the purpose of requirements elicitation in RE?
What is the purpose of requirements elicitation in RE?
Signup and view all the answers
What is the result of the computation for an insulin pump system when the sugar level is increasing and the rate of increase is decreasing?
What is the result of the computation for an insulin pump system when the sugar level is increasing and the rate of increase is decreasing?
Signup and view all the answers
What is the characteristic of RE processes in practice?
What is the characteristic of RE processes in practice?
Signup and view all the answers
What is the purpose of requirements analysis in RE?
What is the purpose of requirements analysis in RE?
Signup and view all the answers
What is the result of the computation for an insulin pump system when the sugar level is stable (r2 = r1)?
What is the result of the computation for an insulin pump system when the sugar level is stable (r2 = r1)?
Signup and view all the answers
Study Notes
Agile Software Development
- Extreme Programming (XP) is a well-known agile method that takes an "extreme" approach to iterative development.
- XP's key practices include:
- New versions may be built several times a day.
- Increments are delivered to customers every 2 weeks.
- All tests must be run for every build, and the build is only accepted if tests run successfully.
XP and Agile Principles
- Incremental development is supported through small, frequent system releases.
- Customer involvement means full-time customer engagement with the team.
- People not process: through pair programming, collective ownership, and a process that avoids long working hours.
- Change is supported through regular system releases.
- Maintaining simplicity through constant refactoring of code.
The Extreme Programming Release Cycle
- Incremental planning: requirements are recorded on story cards, and the stories to be included in a release are determined by the time available and their relative priority.
- Small releases: the minimal useful set of functionality that provides business value is developed first.
- Releases of the system are frequent and incrementally add functionality to the first release.
- Simple design: enough design is carried out to meet the current requirements and no more.
Agile Project Management
- The principal responsibility of software project managers is to manage the project so that the software is delivered on time and within the planned budget.
- Agile project management requires a different approach, adapted to incremental development and the particular strengths of agile methods.
Scrum
- Scrum is a general agile method that focuses on managing iterative development rather than specific agile practices.
- Scrum has three phases: outline planning, sprint cycles, and project closure.
- Sprints are fixed length, normally 2-4 weeks, and correspond to the development of a release of the system in XP.
Requirements Engineering
The Structure of a Requirements Document
- System requirements: describe the functional and nonfunctional requirements in more detail.
- System models: include graphical system models showing the relationships between the system components and the system and its environment.
- System evolution: describe the fundamental assumptions on which the system is based and any anticipated changes due to hardware evolution, changing user needs, and so on.
Tabular Specification
- Used to supplement natural language, particularly useful when defining a number of possible alternative courses of action.
- Example: tabular specification of computation for an insulin pump.
Requirements Engineering Processes
- Requirements elicitation: gathering information about the required and existing systems.
- Requirements analysis: distilling the user and system requirements from the gathered information.
- Requirements validation: checking that the requirements are correct and complete.
- Requirements management: managing changes to the requirements.
Problems of Requirements Elicitation
- Stakeholders may not know what they really want.
- Stakeholders may express requirements in their own terms.
- Different stakeholders may have conflicting requirements.
- Organisational and political factors may influence the system requirements.
- Requirements may change during the analysis process.
Key Points
- The software requirements document is an agreed statement of the system requirements.
- The requirements engineering process is an iterative process including requirements elicitation, specification, and validation.
- Requirements elicitation and analysis is an iterative process that can be represented as a spiral of activities.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Learn about extreme programming, a widely used agile method in software development, and its iterative approach. Understand how it works with daily builds and bi-weekly increments.