Class 3 - Agile Business Practices Flashcards
(41 cards)
What are the steps involved in creating a sprint plan?
- Create a sprint goal
- Report the project velocity from the last sprint
- Determine all potential user stories for the sprint, break them down into tasks
- Developers must create estimates for each task
- After estimates have been made, revisit chosen user stories
- The development team must sign up for tasks
True or False: It is best to have the scrum master assign tasks to the development team to assign tasks efficiently.
False. Preferably, tasks should be self-assigned
Sprint Velocity
Number of story points completed over a sprint. A measurement of the work that can be taken on and finished over the length of a sprint.
True or False: Partially finished tasks count towards sprint velocity.
False. Partially finished tasks do not count towards velocity. It is better to complete 80% of your sprint tasks entirely than having every task 80% done (no completed tasks).
Velocity-driven Development
Using previous sprint velocities combined with the amount of work completed in previous sprints to plan for the next sprint.
Release Planning
Includes:
- User stories
- Story points
- Velocity
- Release burndown charts
Iteration (Sprint) Planning
Includes:
- Tasks
- Hours
- Task Boards
- Burndown charts
Release Burndown Chart
A graph representation of the number of story points remaining after each sprint. It reflects both progress and changes to story points. It can be used to see if a project is spinning out of control.
How should the time to complete a task be estimated?
You can use the Central Limit Theorem to compute the expected time to complete a task by using the most probable time, an optimistic time, and a pessimistic time. This will give you a better estimate than using a single time estimate that may be inaccurate.
What are the 4 Agile Values?
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Agile Value: Individuals and interactions
- Trust motivated individuals
- Have face-to-face conversations
- Self-organizing teams work the best
- Team adjusts their behaviour
- Promote sustainable pace
Agile Value: Working software
Working software is the main measure of progress. Prioritize continuous, frequent delivery of value
Agile Value: Customer collaboration
Focus on satisfying customers early. Customers and developers need to work together to create a quality product.
Agile Value: Responding to Change
The development team should welcome changing requirements, even late into development. They should also prioritize the most important work (engage in the art of maximizing work not done)
XP Practices
Extreme Programming practices include:
- Fine scale feedback
- Continuous process
- Shared understanding
- Programmer welfare
Fine scale feedback
Includes:
- Pair programming
- The Planning Game
- Test Driven Development
- Whole Team (product owner)
The Planning Game
A meeting that occurs at the beginning of a sprint. The development team and customer get together to discuss and approve a product’s features. At the end of the planning game, developers plan for the upcoming iteration and release, assigning tasks for each of them
Whole Team (product owner)
Person who is familiar with the client’s requirements. They aim to minimize the physical distance between managers, testers, technical writers, etc.
Continuous Process
Includes:
- Continuous Integration
- Design Improvement
- Small Releases
Shared Understanding
Includes:
- Coding standards
- Collective code ownership
- Simple design
- System metaphor
Programmer Welfare
The development team is working at a sustainable pace (i.e. do not exceed 40 hours of work per week)
What are some potential communication barriers in software development?
- Language
- Assumptions
- Hasty judgements
- Time and place
- Gestures
- Status
- Topic
- Style
What are the different communication methods that can be used for communication between development teams and clients?
- Voicemail
- Phone
- Chat/Discussion Forum
- Video Conference
- Face-to-face meeting
Waterfall Model
A widely used approach in software engineering that follows a sequential and linear process. This approach is inflexible and does not leave room for revision