Final - Agile
The set of features that go into a sprint come from the product _________, which is a prioritized set of high level requirements of work to be done.
"backlog"
Agile methods do the following:
-Focus on the code rather than the design -Are based on an iterative approach to software development -Are intended to deliver working software quickly and evolve this quickly to meet changing requirements.
Some common ideas across Agile processes
1.Human factors Process molds to the needs of the people and team, not the other way around 2.Test driven development Writing tests before code clarifies the requirements to be implemented. 3.Test automation 4.Customer involvement 5.Pair programming 6.Project management Planning and tracking take a different approach 7.Refactoring Software improvements even where there is no immediate need for them
Burndown Chart
A chart that shows the cumulative work remaining in a sprint on a day-by-day basis. As time increases effort should decrease
Product Backlog
A single list of features prioritized by business value
Product Backlog -> sprint backlog -> sprint (repeat) -->working increment of software
A single list of features prioritized by business value
Agile Software Development
An approach to database and software development that emphasizes "individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and response to change over following a plan."
__________ items tend to start as epics, when they are lower priority
Backlog
Scrum distinguishing features
Development work is partitioned into "packets" Testing and documentation are on-going as the product is constructed Work occurs in "sprints" and is derived from a "backlog" of existing requirements Meetings are very short and sometimes conducted without chairs "demos" are delivered to the customer with the time-box allocated
T/F Rapid development and delivery is now often the lest important requirement for software systems
False Rapid development and delivery is now often the most important requirement for software systems
_______-_______ development is essential for some types of system but does not meet these changing business needs.
Plan-driven
During a sprint planning meeting, the _______________ informs the team of the items in the product backlog that he or she wants completed.
Product Owner
•Responsible for communicating the vision of the product to the development team •Represents the customer's interests through requirements and prioritization. •Has the most authority and responsibility.
Product Owner
Fundamental Agile Roles
Product Owner Scrum Master Team Members
It is the role of the _____________ to facilitate resolution of these impediments, although the resolution should occur *outside* the Daily Scrum itself to keep it under 15 minutes.
Scrum Master
•Acts as a liaison between the Product Owner and the team •Works to remove any impediments that are obstructing the team from achieving its sprint goals.
Scrum Master
•Multi-disciplined •Responsible for completing work.
Team Members
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: •Individuals and interactions •Working software •Customer collaboration •Responding to change vs •Processes and tools •Comprehensive documentation •Contract negotiation •Following a plan That is, while there is value in the items on the right, we value the items on the left more."
The Manifesto for Agile Software Development
Scrum
The most common framework for Agile Development. An Example Agile Methodology
Scrum benefits
The product is broken down into a set of manageable and understandable chunks. Unstable requirements do not hold up progress. The whole team have visibility of everything and consequently team communication is improved. Customers see on-time delivery of increments and gain feedback on how the product works. Trust between customers and developers is established and a positive culture is created in which everyone expects the project to succeed.
T/F Each sprint concludes with a review of the work and process.
True
T/F Each sprint is proceeded by a planning meeting where tasks for the sprint are identified and an estimated commitment for the goal is made.
True
T/F Testing is central to agile development.
True
Daily Scrum Questions
What have you done since yesterday? What are you planning to do today? Any impediments/stumbling blocks?
Scrum sprint
a basic unit of development, usually one week to one month in length. During each "sprint" (a defined time), the team creates a potentially shippable product increment (for example, working and tested software).
Some agile methods maintain that planning for __________ is not worthwhile as ____________ cannot be reliably anticipated. (one word)
change •Rather, it proposes constant code improvement (refactoring) to make changes easier when they have to be implemented.
The _________ chooses the stories for inclusion in the next release based on their priorities and the schedule estimates.
customer
•In agile development, a ___________ or user is part of the team and is responsible for making decisions on requirements.
customer
•Agile development methods emerged in the late 1990s whose aim was to radically reduce the ___________ ________ for working software systems
delivery time
When a story is too large, it is called an _______.
epic
User Scenario
long description for the use of the product. Can include multiple requirements.
The aim of agile methods is to reduce _______________ in the software process (e.g. by limiting documentation) and to be able to respond quickly to changing requirements without excessive rework.
overheads
•The standard approach to project management is _______________.
plan-driven Managers draw up a plan for the project showing what should be delivered, when it should be delivered and who will work on the development of the project deliverables. •Agile project management requires a different approach, which is adapted to incremental development and the practices used in agile methods.
•Tests are written as ___________ rather than data so that they can be executed automatically. The test includes a check that it has executed correctly.
programs
User Story
short description of one requirement Common format: As a <some type of user>, I want <some feature> so I can <rationale>. ex. As an administrator, I want to register other users so they can access the system.
The principal responsibility of _______________ (3 words) is to manage the project so that the software is delivered on time and within the planned budget for the project.
software project managers
The sprint backlog is
the list of work the team must address during the next sprint. •It can include refactoring and other non-functional work.
T/F User requirements are expressed as user scenarios or user stories.
true
_______________ are written down and the development team break them down into implementation tasks. These tasks are the basis of schedule and cost estimates.
user scenarios or user stories.
Agile methods common testing features:
•Test-first development. •Incremental test development from scenarios. •User involvement in test development and validation. •Automated test harnesses are used to run all component tests each time that a new release is built.
Challenges with agile methods
•The informality of agile development is incompatible with the legal approaches •Agile methods are most appropriate for new software development rather than software maintenance. (Yet the majority of software costs in large companies come from maintaining their existing software systems.) •Agile methods are designed for small co-located teams yet much software development now involves worldwide distributed teams.