Agile, Scrum, XP, DSDM, FDD
Tabaka's Model
A model originated in Japan to describe a team with values that include self-organization, empowered to make decisions, belief in vision and success, a committed team, trust, participatory decision making, consensus-driven, and construction disagreement.
Acceptance Test-Driven Development
A method used to communicate with business customers, developers, and testers before coding begins.
Affinity Estimation
A method used to quickly place user stories into a comparable-sized group.
eXtreme Programming (XP)
A methodology in Agile with one-week iterations and paired development. It focuses on communication, simplicity (easier to draw a diagram instead of writing code), feedback (through diagrams to quickly gain feedback), courage (make decisions and changes by discarding or refactoring), and humility (we don't know everything).
Agile Manifesto: Simplicity
Allows team members to focus on what is necessary to achieve the requirements needed to create and deliver value to the project and customer.
Iteration 0
Iteration to complete tasks before the development work occurs, for technical and architectural spikes and to gather requirements into the backlog.
Iteration H
Iteration used to prepare the launch of software, and to test software.
Empirical processes
Processes that are interactive, incremental, change often, adapt, and pass through reviews.
Planning Game
To prioritize work and estimate effort required by creation of a release plan in XP.
Distributive Negotiation
To reach a deal through tactics so both parties receive the highest amount of value possible.
Value-Driven Delivery
To realize the values needed to deliver a project.
Requirements Review
To review the requirements so they fulfill the needs and priorities of stakeholders.
Disaggregation
To separate epics or large stories into smaller stories.
Time-boxing
To set a fixed delivery date for a project or release.
Agile Experimentation
To use the empirical process, observation, and spike introduction while executing a project to influence planning.
Being Agile
To work in a responsive way to deliver the products or services a customer needs and when they want the products or services.
100-Point Method
A method that allows customers to score (total 100 points) different features of a product.
Agile Principles
(1) Customer satisfaction through early and continuous delivery of valuable software. (highest priority). (2) Welcome change. (3) Deliver working software frequently. (4) Business people and developers must work together and daily throughout the project. (5) Build project around motivated individuals. (6) Favor face-to-face communication. (7) Working software is the primary measure of progress. (8) Promotes sustainable development. (9) Continuous attention to technical excellence. (10) Simplicity (the art of maximizing the work not done) is essential. (11) The best architectures, requirements and design emerge from self-organizing teams. (12) At regular intervals, the team reflects on how to become more effective and adjusts its behavior accordingly.
Agile Values and Principles
- Adopt a formal agile approach, designed and proved to achieve desired results. - Implement changes to project practices in a manner that fits the project context to achieve progress on a core value or principle.
Cancelling a Sprint
- Product Owner has the authority to do this. - It can happen when the Sprint Goal becomes obsolete (changes in Product Backlog, strategies, or approach). - When it happens, the items that are "done" will be reviewed and accepted, and the rest of the items will be put back into the Product Backlog. - It is very unusual.
Agile Manifesto
-Individuals and interactions (most important) over process and tools. -Working software over comprehensive documentation. The idea is that software adds value for the business need, but there is no value in documentation. Excessive documentation is waste. -Customer collaboration over contract negotiation. Contract are often rigid and uncooperative, and the nature of agile is change. -Responding to change over following a plan. Agile welcomes change and uncertainty upfront.
Adaptive Leadership
A leadership style that helps teams to thrive and overcome challenges throughout a project.
Wireframe
A lightweight non-functional UI design that shows the customer the vital elements and how they will interact before coding.
Relative Prioritization
A list of all user stories and features ordered by highest priority to the lowest priority.
Last Responsible Moment
To make decisions as late as possible in order to preserve all possible options.
Ceremony
A meeting conducted during an Agile project that consists of daily stand-up, iteration planning, iteration review, and iteration retrospective.
Sprint Review
A meeting that occurs after each sprint to show the product or process to stakeholders for approval and to receive feedback.
Daily Stand Up
A brief meeting where the team shares the previous day's achievements, plans to make achievements, obstacles, and how to overcome the obstacles.
Burn-Up Chart
A chart that displays completed functionality. Progress will trend upwards, as stories are completed. Only shows complete functions, it is not accurate at predicting or showing work-in-progress.
Cumulative Flow Diagram
A chart that displays feature backlog, work-in-progress, and completed features.
Risk Burn Down
A chart that displays risk and success with feature vs. time.
Kanban Board
A chart that shows workflow stages to locate work-in-progress.
Burn-Down Chart
A chart used to display progress during and at the end of iteration. It means the backlog will lessen throughout the iteration.
Pig
A committed individual impacted by the outcome.
Feature-Driven Development (FDD)
A comprehensive model and list of features included in the system before the design work begins.
Standardized Test
A curved test used to measure knowledge and understanding, but constructed so the same test-taker will perform similarly each time.
Persona (User Personas)
A depiction of the customer of system with applicable details about usage. Biographical sketches of key stakeholders, description of product users, somewhat grounded in reality, goal oriented, show tangible and actionable outcomes, and focus on the users and who the users will be.
Product Vision
A document that describes what the product is, who will use the product, why the product will be used, and how the product supports the strategy of a company.
Feature
A group of stories that deliver value to the customers.
Theme
A group of stories, iteration, or release's idea determined by the customer and the team agrees with the idea.
Epic Story
A large story that spans iterations, then disaggregated into smaller stories.
Dynamic Systems Development Model (DSDM)
A model that provides a comprehensive foundation for planning, managing, executing, and scaling agile and iterative software development projects based on nine principles that involve business needs/value, active user involvement, empowered teams, frequent delivery, integrated testing, and stakeholder collaboration.
Requirements Prioritization Model
A model to rate each feature with the calculation of weighted formula defined by the team.
Story Map
A prioritization tool that backlogged stories made smaller and organized by user functionality.
Artifact
A process or work output. Ex.: Document, Code.
Risk-Adjusted Backlog
A product backlog adjusted to help balance the risk and value factors of product.
Minimal Viable Product (MVP)
A product with only the essential features delivered to early adopters to receive feedback.
Tracker
A role in XP that measures the team's progress, and communicates the measurements to the team.
Fibonacci Sequence
A sequence of numbers in which each number is the sum of the preceding two. Ex.: 0, 1, 2, 3, 5, 8, 13, 21, 34, etc.
Kanban
A signal used to advance transparency of work-in-progress, a new task can begin once a previous one is complete.
Agile Space
A space that allows team members to establish collaboration, communication, transparency, and visibility.
Product Vision Statement
A statement that defines the purpose and value of the product.
Parking lot
A storage place for ideas that distract from the main goal during a meeting.
Dot Voting
A system of voting where people receive a certain number of dots to vote on the options provided.
Coach
A team role that keeps the team focused on learning and the process.
Extreme Persona
A team-manufactured persona that exaggerates to induce requirements a standard persona may miss.
Sprint Retrospective
A team-member meeting that occurs after each sprint to evaluate the product and process to improve efficiency and effectiveness.
Force Field Analysis
A technique for determining which forces drive a proposed change and which forces restrain it.
Value Stream Mapping
A tool used to analyze a chain of processes with the desired outcome of eliminating waste.
Planning Poker
A tool used to estimate team effort on user stories.
Traditional Management
A top-down approach that consists of long cycles, heavy planning, and minimal customer involvement.
Story Point
A unit of measurement to estimate the difficulty of a user story.
Agile Methodologies
A way to complete a goal effectively and efficiently. Examples include XP, Scrum, and Lean.
Agile Modeling
A workflow depiction of a process or system a team can review before it is turned into code. Stakeholders should understand the model.
Test-Driven Development (TDD)
A written acceptance test for a module with the code built to pass the tests in order to ensure correct performance.
Osmotic Communication
Absorbing communication by sharing an environment
Adaptation
Adjustments are made ASAP to minimize additional deviations. The idea that if the resulting product will be unacceptable, the process or the material being processed must be adjusted.
Approved iterations
After the deadline of iteration is reached, the team and stakeholders conduct a meeting for approval. Stakeholders approve the iteration if the backlog used supports the product increment.
Agile Practices
To make use of the Agile principles through activities.
CARVER
An acronym to measure the goals and mission of the project with each letter meaning: Criticality, Accessibility, Return, Vulnerability, Effect, and Recognizability.
Functionality
An action the customer must see and experience from a system, which will add value to the customer.
Crystal Family
An adaptable approach that focuses on interaction between people and processes that consists of families that vary based on team size, system criticality, and project priorities.
Kano Analysis
An analysis of product development and customer satisfaction based on needs fulfilled/not fulfilled vs. satisfaction/dissatisfaction.
MoSCoW Analysis
An analysis used to help stakeholders understand the importance of each requirement delivered. It is the acronym for Must have, Should have, Could have, and Would like to have.
Team Space
An area for team members to collocate, usually a physical location, in some cases a virtual location is created.
Product Road Map
An artifact that displays planned project functionality.
Cone of Silence
An environment for the team that is free of distractions and interruptions.
Wide-Band Delphi Estimating
An estimation technique for user stories. The PO presents user stories & discusses challenges. Each story's estimates plotted, and then the team comes to an agreement on the range of points.
Spike
An experiment that helps a team answer, a particular question and determines future actions.
Usability Testing
An exploratory test which uses a test subject to understand the usability of software.
Story Card
An index card that displays the user story.
Chicken
An individual involved but not committed to an Agile project.
Emergent Leadership
An individual perceived by others as the most influential member of a group or organization regardless of the individual's title. Anyone on the team can become a leader.
Common Cause
An issue solved through trend analysis because the issue is systematic.
Information Radiator
Artifacts used to help maintain transparency of a project status to team members and stakeholders.
Fixed Time Box
Assigned tasks prioritized for completion based on an estimated number of days. Top priorities are usually completed first.
User Story
At least one business requirement that increases the value for the user. It is a small chunk of business functionality within a feature that involves roughly 1-3 days of work. Also defined as 40 hours of work. These are written on index cards or sticky notes, and are the items of the product backlog.
Graduated Fixed-Price Contract
Both parties share some of the risk and reward: - If a vendor delivers on-time, they get paid for their work at the hourly rate. - If the vendor delivers early, they get paid for their work but at a higher hourly rate. - If the vendor delivers late, they get paid for their work, but at a lower hourly rate.
Positive Value
To maximize value through incremental work in order to gain competitive advantage.
No one should tell the development team what item to deliver, except for the Product Owner. The product owner might delegate some responsibilities to the development team, but stays accountable for them.
Can someone, beside the product owner, tell the development team what to deliver?
Social Media-Based Communication
Communication used conveniently to receive instant feedback, ideas, and requirements from a particular community.
Command & Control
Decisions created by higher up individuals in the organization and handed over to the team.
Escaped Defects
Defects reported after the delivery by the customer.
No, the scrum master manages the scrum processes rather than the team.
Does the scrum master manage the scrum team?
Theory of Scrum
Empirical process control theory or empiricism that asserts that knowledge comes from experience and making decisions based on what is known. It employs an iterative, incremental approach to optimize predictability and control risk.
ASD
Exhibits continuous adaptation to the project and its processes with characteristics that include: mission focused, feature based, iterative, time-boxed, risk driven, and change tolerant.
Agile Mentoring
To pass on and teach based on experience, knowledge, and skills to other individuals in the team or that work for the organization.
High-Bandwidth Communication
Face-to-face communication that also includes non-verbal communication.
Inspection
Frequently reviewed artifacts and progress. It should not get in the way of the work, and it is most beneficial when performed by skilled professionals during the work.
Incremental Delivery
Functionality conveyed in small phases.
You can do this by: - Allowing team members to take charge - Motivating team members - Showing recognition of individuals and teams - Avoiding zero sum rewards
How can you foster emergent leadership?
It allows us to develop new products and enhancements, frequently release products and enhancements, develop and sustain Cloud and operations for product use, and sustain and renew products.
How can you utilize Scrum?
Risk Severity
How much the risk's consequences will influence the success or failure of a project. Risk Probability (%) x Risk Impact ($) = Risk Severity
No one, even the CEO, should try to override Product Owner decisions. The entire organization must respect it.
If a product owner makes a decision, can a supervisor override it?
Creating a Product Box
Imagine a product box or software, and identify the top three features, major functional elements. Prioritize the features. This is a visualization exercise.
Speed Boat Game - Sailboat
Imagine it's a boat, and what winds are pushing the sailboat, what anchors are holding the sailboat back, what direction is the sailboat going, and what rocks are in the way.
Information Refrigerator
Information not readily visible or useful to the team. Information that is not transparent or useful to the team and stakeholders.
IRR
Internal Rate of Return- a discount rate that makes the net present value of all cash flows from a project equal to zero. Used to determine potential profitability of project or investment.
Knowledge work projects
Invisible, lots of changes, changing environment, less structure, lots of questions, value-driven, autonomy driven, innovation, learning and teaching, workers are an asset not a cost.
Pair Programming
Involves two programmers at a single workstation. At any given point in time, one is writing code and the other is actively observing, watching for possible errors but also thinking about the overall approach. When developers work together in XP Practice.
DSDM Contracting
It has a fixed schedule, cost, and quality, but follows agile framework.
The Agile Mindset
It involves a new mindset - way of thinking - based on its Manifest including values and principles.
Prune the Product Tree
It is a drawing of a big tree. The trunk is what we already know or have built. The branches are new functionality and what needs to be designed. Participants add features on sticky notes to the tree. Closer to the trunk represents higher priority.
Sprint Planning Meeting
It is an 8 hour meeting for a 4 week sprint; less for shorter sprints. Complete Scrum team (product owner, development team, and scrum master) will attend the meeting. Goal is for the team to determine what is their capacity, sprint goal/definition of done, and create the sprint backlog.
Use Case Diagram Components
It is composed of: - System: a rectangle that contains use cases; actors are outside the boundaries. - Use case: ovals; label with verbs that represent functions - Actors: the users of a system. One system could be an actor of another system. - Relationships: line; the relationships between actor and use case.
Coarse Grained Requirements
It keeps the overall design balanced. Delays decision on implementation details until the last responsible moment.
Outsourced team
It means that multiple legal entities are involved, contracting, contract administration and different development infrastructures.
Distributed team
It means that team are distributed in multiple development sites that can span buildings, cities or countries.
Transparency
It requires a common standard. Observers share a common understanding of what is being seen: common language is shared by all participants, and common definition of "Done" (DoD).
Scrum of Scrums
Meetings used to organize large projects with scrum masters from different teams.
Decide As Late As Possible
To postpone decisions to determine possibilities and make the decision when the most amount of knowledge is available.
Impediments
Obstacles. Barriers that the team is encountering.
Shu-Ha-Ri Model
Originated in Japan as a way to understand learning and mastery, Shu - obeying the rules, Ha - consciously moving away from the rules, and Ri - consciously finding an individual path.
Intrinsic Schedule Flaw
Poor estimation that occurs at the beginning of iteration.
Innovation Games
Practice used to induce requirements from product, owners, users, and stakeholders.
Value-based Decomposition
Requirements elicitation method of grouping like features, breaking down the features, and ranking of requirements. Prioritize requirements into development.
Architectural Spikes
Spikes that relate to any area of a system, technology, or application domain that is unknown.
Agile Stakeholders
Stakeholders must be willing to try agile approach, be convinced on agile values. They must experience quick ROI.
Remember the Future
Stakeholders pretend to look back at the project. 20 minutes to write a future report about how the project went. Includes what was created; written on sticky notes. Notes are moved into associated clusters and duplicates removed. This game defines success.
Emergent
Stories that grow and change overtime as other stories reach completion in the backlog.
Agile Smells
Symptoms of problems that affect Agile teams and projects.
Incremental Model
System is broken down into many mini development projects, partial systems are built to produce the final system, first tackle highest priority requirements. The requirement of a portion is frozen once the incremented portion is developed.
Finish Tasks One by One
Tasks must be finished in all iterations to meet the "Definition of Done" requirements as a way to track progress and allow frequent delivery.
Pre-Mortem
Team members asked to define reasons of a project's failure and to identify causes of failure missed in previous analyses.
Agile Teams
Team members must see the value of agile approach, they must experience the benefits of the agile approach and you can do that by having quick victories.
Technical Debt
Technical decisions a team chooses to not implement currently, but must do so or face difficulty in the future.
Users Involvement
The active involvement of users in the development cycle of a project so team members can receive feedback about the user's requirements.
Ideal Time
The amount of time needed to complete an assignment without distractions or interruptions.
INVEST
The benefits of good user stories, which include: Independent, Negotiable (cost/function trade-offs), Valuable, Estimate-able, Small (4 to 40 hours of work), and Testable.
Gulf of Evaluation
The degree to which the system provides representations that can be directly perceived and interpreted in terms of the expectations and intentions of the user. Difference between what is said and what is understood.
Productivity Variation
The difference between the planned and actual performance.
Productivity
The effectiveness of production, usually measured with output per unit of input.
Collective Code Ownership
The entire team together is responsible for 100% of the code.
Dissatisfaction
The lack of satisfaction among workers such as, work conditions, salary, and management-employee relationships. Factors known as demotivators.
Little's Law
The law that limits work-in-progress efficiently with development of an appropriate cycle time.
Agile Planning
The most important aspect of the Agile project. Planning happens at multiple levels such as strategic, release, iteration, and daily. Planning must happen up-front and can change throughout the project.
Team Velocity
The number of story points completed during iteration, and used to determine the planned capacity.
Fixed-Price Work Packages
The price of work remains constant. Individual work packages are estimated for cost. Changes to the scope reflect a new estimate for those work packages.
DEEP
The qualities of a product backlog which include: detailed, estimate-able, emergent, and prioritized.
Burn Rate
The rate of resources consumed by the team; also cost per iteration.
Minimal Marketing Feature (MMF)
The smallest feature of a product that provides value to the end-user.
Incremental delivery
The team regularly deploys working increments, usually to a test environment for evaluation, and this is an opportunity for an early return on investment.
Cycle Time
The time needed to complete a feature (user story).
Agile Themes
Themes used to help the team focus on the functions of iteration.
Defined processes
These are repeatable processes. Same work is done the same way each time. Prescribed process of action.
Unit Testing
These tests are used for continuous feedback to achieve quality improvement and assurance.
Automated Testing Tools
These tools allow for efficient and strong testing. Examples: Peer Reviews, Periodical Code-Reviews, Refactoring, Unit Tests, Automatic and Manual Testing.
Agile Manifesto: Regular Reflection
This allows a team to learn how to become more effective, what changes need immediate implementation, and behavior that needs adjustment.
Specification Breakdown
This occurs when requirements for the specification are incomplete or conflicting.
Risk-Based Spike
This spike helps the team remove major risks, and if the spike fails every approach possible, the project is defined as "fast failure".
Low Performing Team
This team has a lack of trust, no accountability, fear of conflict, less commitment, and less attention to details and results.
Self-Directing Team
This team has the capability to make their own decisions, empowerment, mutual accountability, and collective ownership of a project, which leads them to be more productive and efficient.
High Performing Team
This team reaches maximum performance by creation of clear, detailed goals, open communication, accountability, empowerment, use of the participatory decision model, and the team consists of twelve dedicated members or less.
Agile Adaptation
To adapt the project plan continuously through retrospectives in order to maximize value creation during the planning process.
Refactoring
To adjust working code to improve functionality and conservation.
Value-Based Prioritization
To allow the PO or customer determine which function to implement first based on the value it delivers.
Incremental Project Releases
To build upon the prior release of a goal, outcome, or product, not all requirements are met, but after all releases, the requirements will be met.
Grooming
To clean up the product backlog by removal of items, disaggregation of items, or estimation of items.
Continuous Integration
To consistently examine a team member's work. To build, and test the entire system.
Agile Manifesto: Continuous Attention
To enhance agility and time spent on work requirements in order to retain a well-balanced work environment.
Relative Sizing
To estimate the size of a story in comparison with another story.
Metaphor
To explain how a project will be completed successfully to stakeholders by use of real-world examples of systems and components.
Monopoly Money
To give fake money to business features in order to compare the relative priority of those features.
Agile Manifesto: Collocated Team
To have individuals work together daily on a project to implement osmotic communication, focus, and receive instant feedback to achieve a common goal.
Participatory Decision Models
To have stakeholder's involvement in decision making with techniques such as a simple vote.
Agile Coaching
To help achieve goals that is either personal or organizational.
Agile Manifesto: Constant Pace
To help team members establish a healthy work-life balance, remain productive, and respond to changes swiftly for progress during a project.
Agile Tooling
To increase team morale with software or artifacts.
Exploratory Testing
To inquire how software works with the use of test subjects using the software and asking questions about the software.
Intraspectives
To inspect within, during a meeting with the Agile team to review practices, usually when a problem or issue occurs.
WIP Limits
To limit work-in-progress so a team can do the following: maintain focus on completing work, maintaining quality, and delivering value.
Three Scrum Pillars
Transparency, Inspection, and Adaptation (TIA)
Industrial projects
Visible, stable, running things, structure, correct answers, task driven, command and control, standards, performance measurement, cost of workers for a task.
Preferred approach for candidate user stories, also known as story writing workshops. It optimizes the workflow by understanding user needs, and engage stakeholders in the design process.
What are User story workshops?
Candidate stories
What are potential stories called?
These are also known as innovation games, and some examples are: - Remember the future - Prune the product tree - Speed boat - Buy a feature - Bang for the buck
What are some collaboration games?
- Vision Statement - Product Roadmap - Stories (typically done by Product Owner) - Product Backlog
What are some of the pre-sprint activities?
- Spring planning - Daily Scrum - Sprint Review - Sprint Retrospective
What are the four formal events for inspection and adaptation prescribed in Scrum?
- What has your team done since we last met? - What will your team do before our next meeting? - Are there any roadblocks in your team's way? - Will your team put anything in another team's way?
What are the four questions answered during a Scrum of scrums meetings?
- Predictive Life Cycle - Agile Life Cycle - Iterative Life Cycle (correctness of the solution) - Incremental Life Cycle
What are the four types of life cycles?
Card (identify the story), Conversation (details) and Confirmation (confirmed the story)
What are the three C's of user stories?
- Who was asking for this? - Why are we doing this?
What are two questions for creating a user story?
Hosting workshops - where people get together to get the same kind of work done. It is facilitated for involvement.
What can you do to gather requirements?
- More risk is introduced. Risk of being disconnected from stakeholders. - It will take longer to go to market with a product release. - Frequency that team composition can be changed. - All sprints should be of same duration.
What happens if a Sprint lasts longer than 2-4 weeks?
It is a framework for processes, not a process itself. It evolved since the 1990s, and it is a characteristic of product management, not just project management.
What is Scrum?
The development team selects appropriate number of items from the top of the product backlog, and puts them in the sprint backlog. They estimate the effort for the stories, so that the selected stories equate their capacity.
What is the role of the development team in a sprint?
The product owner is responsible for ranking and ordering the product backlog. The product owner also needs to make sure that user stories are easy to understand.
What is the role of the product owner in a sprint?
When there are serious or many impediments the scrum master needs to: - Alert management to the impediments and impact - Consult with the Development Team - Prioritizing the impediments list and address each in order
What should the scrum master do when facing impediments?
Personnel Loss
When an employer faces the loss of a human resource through death, injury, or disability of an employee.
Swarming
When the team collaborates to focus on a single user story.
Done
When work is complete, and meets the following criteria: complies, runs without errors, and passes predefined acceptance and regression tests.
Iteration
Work cycle, Scrum uses 2-4 weeks, XP uses 1 week.
Silo
Work that is isolated.
Integrative Negotiation
a win-win negotiation in which the agreement involves no loss to either party.
Knowledge work
work that primarily deals with information; producing value in the economy through ideas, judgments, analyses, designs, or innovations.