CHAPTER II AGILE FRAMEWORK WHY AGILE Declaration Of

  • Slides: 57
Download presentation
CHAPTER II AGILE FRAMEWORK WHY AGILE ? Declaration Of Interdependence (DOI) SCRUM Extreme Programming

CHAPTER II AGILE FRAMEWORK WHY AGILE ? Declaration Of Interdependence (DOI) SCRUM Extreme Programming (XP) Feature-Driven Development (FDD) Dynamic Systems Development Method (DSDM) CRYSTAL LEAN SD KANBAN

Why AGILE ? • Adaptive approach to be effective for the unique situation !

Why AGILE ? • Adaptive approach to be effective for the unique situation ! • Knowledge & BI projects volatile environment calls for an agile approach Industrial Work Knowledge Work Visible Invisible Stable Volatile Emphasis on maintenance Emphasis on change More structure & less decisions Less structure & more decisions Right answers Right questions Command & control Autonomy Strict standards Continuous innovation Quantity Quality KPI’s on strict standards Continuous learning Minimize cost of labor Labor is an asset not a cost

Why AGILE ? o. And how about your actual environment ? Industrial Work Mark

Why AGILE ? o. And how about your actual environment ? Industrial Work Mark when yes Knowledge Work Visible Invisible Stable Volatile Emphasis on maintenance Emphasis on change More structure & less decisions Less structure & more decisions Right answers Right questions Command & control Autonomy Strict standards Continuous innovation Quantity Quality KPI’s on strict standards Continuous learning Minimize cost of labor Labor is an asset not a cost Score number of marks in each column Mark when yes The rest of this chapter will help establish a framework for understanding what agile project management is !

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Individuals &

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Individuals & interactions over processes & tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Individuals &

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Individuals & interactions over processes & tools Focus the teams attention on the individuals involved. Projects undertaken by people not by tools & processes Problems solved by people not by processes & tools Scope & success of a project is negociated by people Compensate between people & processes & tools

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Working software

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Working software over comprehensive documentation Many software developers are detail oriented and process-driven which distract from the real goal of the project. Documentation by itself is not useful when it is not in support for accessible and working software for the end-user.

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Customer collaboration

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Customer collaboration over contract negotiation The value to be flexible and accommodating rather than fixed and uncooperative (being right/doing the thing right). Adapt to the dynamic nature of knowledge work, business needs change quickly and technology changes rapidly Recognize from the start that scope will change Work with the customer throughout the project toward a shared definition of the scope

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Responding to

Why AGILE ? • THE AGILE MANIFESTO reads as follows : • Responding to change over following a plan We still need to plan but instead of a static approach to trace & maintain initial baselines, accommodate the plan to changes. Agile projects have highly visible queues of work and plans in the form of backlogs and task boards. Agile values engages on people revisiting frequently the proposed planning and discuss the impact of change

Why AGILE ? • THE AGILE MANIFESTO • Yes we need processes, tools, documentation

Why AGILE ? • THE AGILE MANIFESTO • Yes we need processes, tools, documentation and plans on our projects, while dealing with those assets, we should remember that our focused must be on people engaged, cooperation and flexibility. • Agile is the capacity to execute projects while focusing on added value over procedures

Why AGILE ? • AGILE 12 guiding principles : 1) Customer satisfaction through early

Why AGILE ? • AGILE 12 guiding principles : 1) Customer satisfaction through early & continuous delivery of valuable software 2) Welcome changing requirements even in late development 3) More frequent and short-term releases 4) Business and development must work together on a daily basis 5) Build projects around motivated individuals 6) Enhance face-to-face communication to tackle problems

Why AGILE ? • AGILE 12 guiding principles : 7) Working software is the

Why AGILE ? • AGILE 12 guiding principles : 7) Working software is the primary measure of progress 8) Promote sustainable development with an equal pace of progress between sponsors, developers and users 9) Continuous attention to technical excellence and good design 10) KIS : Keep It Simple 11) The best architectures, requirements and designs emerge from self-organizingteams 12) At regular intervals, the team reflects on how to become more effective and adjusts its behavior accordingly

The Declaration of Interdependence (DOI) We Increase ROI by making continuous flow of value

The Declaration of Interdependence (DOI) We Increase ROI by making continuous flow of value We deliver reliable results by engaging customers in frequent interactions and shared ownership We expect uncertainty and manage uncertainty through iterations, anticipation and adaption We enhance creativity and innovation by recognizing that individuals are the ultimate source of value We boost performance through group accountability for results We improve effectiveness and reliability through specific strategies, processes and practices

The Declaration of Interdependence (DOI) We Increase ROI by making continuous flow of value

The Declaration of Interdependence (DOI) We Increase ROI by making continuous flow of value Through this focus, the project can benefit the business the most and gain a high level of support Projects consistently delivering business results, they are hard to ignore or cancel. Through high ROI business is more likely to approve requests from projects

The Declaration of Interdependence (DOI) We deliver reliable results by engaging customers in frequent

The Declaration of Interdependence (DOI) We deliver reliable results by engaging customers in frequent interactions and shared ownership Work toward regular and engaging business interactions instead of huge upfront requirements. Make it clear that business is driving the design

The Declaration of Interdependence (DOI) We expect uncertainty and manage uncertainty through iterations, anticipation

The Declaration of Interdependence (DOI) We expect uncertainty and manage uncertainty through iterations, anticipation and adaption The DOI statement means that instead of trying to create and follow a rigid plan that is likely to fail, it is better to plan and develop in short iterations and adapt to changing requirements

The Declaration of Interdependence (DOI) We enhance creativity and innovation by recognizing that individuals

The Declaration of Interdependence (DOI) We enhance creativity and innovation by recognizing that individuals are the ultimate source of value « We manage property and lead people; if you’re trying to manage people, they feel like property ! » To get the best out of a team, we must treat the team members as individuals, provide for their needs, and support them in their jobs

The Declaration of Interdependence (DOI) We boost performance through group accountability for results Empowered

The Declaration of Interdependence (DOI) We boost performance through group accountability for results Empowered teams are not only happier and more productive, they are also more likely to take ownership of problems and try to solve them. Team members are making social commitments to each other and share responsibility

The Declaration of Interdependence (DOI) We improve effectiveness and reliability through specific strategies, processes

The Declaration of Interdependence (DOI) We improve effectiveness and reliability through specific strategies, processes and practices Rarely do all the ideal conditions for agile development present themselves We need to adjust our approach to best fit the project ingredients and the environment we are presented with.

Agile Methods : SCRUM • SCRUM is a framework, a set of team guidance

Agile Methods : SCRUM • SCRUM is a framework, a set of team guidance practices and roles, events, artifacts and rules to execute projects • Based on 3 pilars : 1. TRANSPARENCY : visibility to those responsible for the outcome to ensure that all stakeholders ar in agreement 2. INSPECTION : timely checks on progress toward goals & searching for deviations 3. ADAPTION : minimize further issues by adjusting processes • 4 planned opportunities for Inspection an adaption SPRINT RETROSPECTIVE / DAILY SCRUM / SPRINT REVIEW / SPRINT RETROSPECTIVE

Agile Methods : SCRUM

Agile Methods : SCRUM

Agile Methods : SCRUM

Agile Methods : SCRUM

Agile Methods : SCRUM • SCRUM TEAMS : PRODUCT OWNER : responsible for maximizing

Agile Methods : SCRUM • SCRUM TEAMS : PRODUCT OWNER : responsible for maximizing the value of the product and manages the product backlog, prioritization, accuracy and shared understanding of value and visibility DEVELOPMENT TEAM : group of pros who build the product, self organizing on each iteration or « sprint » (analyze, build & test) SCRUM MASTER : ensures that the scrum is understood and used, servant leader, facilitator to the scrum development team • SCRUM EVENTS : SPRINTS : time-limited iteration (2, 3 or 4 weeks) to build a releasable product = miniproject. SPRINT PLANNING MEETING : to determine what will be delivered in the next sprint and how the work will be achieved DAILY SCRUM : 15 -minutes meeting to synchronize the teams daily activity, each team member responds to 3 questions : 1) What has been achieved 2) what will be done 3) obstacles SPRINT REVIEW : held at the end of each sprint to inspect the development and adapt to the backlog SPRINT RETROSPECTIVE : reflect on the uses processes and look for opportunities of improvement

Agile Methods : SCRUM • SCRUM ARTIFACTS : PRODUCT BACKLOG : ordered list of

Agile Methods : SCRUM • SCRUM ARTIFACTS : PRODUCT BACKLOG : ordered list of all attributes to develop the requirements. Dynamic and evolves as the outcome evolves. « GROOMING » ads detail to the backlog and refines estimations SPRINT BACKLOG : items from the product backlog that were selected for a specific sprint. Serves as the team’s development forecast how to plan and achieve the outcome INCREMENT : partial product potentially shipable DEFINITION OF DONE : when a backlog item is described as « done » , every stakeholder has to agree on the accomplishment • CONCLUSION : Using these roles, events, & collective definitions, the scrum team iteratively builds increments of the solution, involving the customer frequently to ensure they are creating the right product.

Agile Methods EXTREME PROGRAMMING (XP) • XP focuses on software development best practices while

Agile Methods EXTREME PROGRAMMING (XP) • XP focuses on software development best practices while scrum focuses on management level prioritizing work & feedback • XP core values : SIMPLICITY : reducing complexity, extra features & waste. COMMUNICATION : making sure all team members know what is expected of them. The daily stand-up meeting is a key-communication component FEEDBACK : Continuous feedback on failure and new information to improve the product COURAGE : courage to render work fully visible to others RESPECT : This feature relates to pair programming, people need to recognize that people work differently, and respect those differences

Agile Methods EXTREME PROGRAMMING (XP)

Agile Methods EXTREME PROGRAMMING (XP)

Agile Methods EXTREME PROGRAMMING (XP)

Agile Methods EXTREME PROGRAMMING (XP)

Agile Methods EXTREME PROGRAMMING (XP) • XP practices : WHOLE TEAM : the team

Agile Methods EXTREME PROGRAMMING (XP) • XP practices : WHOLE TEAM : the team is composed of delegation of QA, BA on the demand side and dev & prod on the exec side PLANNING GAMES : RELEASE PLANNING : discussion between demand & exec to forward a release planning ITERATION PLANNING : short development cycles (sprint dans Scrum) constitutes the basis for the estimates of the release planning SMALL RELEASES : small releases to test environment and demonstrate visibility & progress to customer CUSTOMER TESTS : the customer describes one or more tests to prove the software is working

Agile Methods EXTREME PROGRAMMING (XP) • XP practices : COLLECTIVE CODE OWNERSHIP : multiple

Agile Methods EXTREME PROGRAMMING (XP) • XP practices : COLLECTIVE CODE OWNERSHIP : multiple people work on all the code, which results in increased visibility and knowledge of the code base CODE STANDARDS : the team has to follow a consistent coding standard so that all the code looks like it has been written by one programmer SUSTAINABLE PACE : the practice of maintaining a sustainable pace of development optimizes the delivery of long-term value METAPHOR : to assimilate and explain to customer the working entity of each module (use cases metaphor) CONTINUOUS INTEGRATION : critical practice to continuously compile & test the code before new one is added. TEST DRIVEN DEVELOPMENT : critical practice to XP, the team writes the test prior to developing the new code REFACTORING : improves the design of the code, increases the cohesion of the code by removing duplicated code, lowering coupling (dependent connections between code modules)

Agile Methods EXTREME PROGRAMMING (XP) • XP practices : SIMPLE DESIGN : by keeping

Agile Methods EXTREME PROGRAMMING (XP) • XP practices : SIMPLE DESIGN : by keeping the design simple but adequate, the code can be quickly adapted. The design is kept appropriate for what the project currently requires PAIR PROGRAMMING : production code is written by two developpers working as a pair to write and provide real-time reviews of the software as it emerges so the pairs catch issues early upon a larger knowlegde base of two people working together

Agile Methods FEATURE-DRIVEN DEVELOPMENT (FDD) • A project team following the FDD method will

Agile Methods FEATURE-DRIVEN DEVELOPMENT (FDD) • A project team following the FDD method will first develop an overall model for the product, build a feature list and plan the work. The team then moves through the design and build iterations to develop the specifications. • FDD practices : DOMAIN OBJECT MODELING : the team explores & explains the business environment of the problem to be solved DEVELOPING BY FEATURE : breaking functions down into two-weeks or shorter chunks and calling them features INDIVIDUAL CLASS OWNERSHIP : areas of code have a single owner to warrant consistency, performance and conceptual integrity. FEATURE TEAMS : dynamic teams evaluating multiple design options and risk associated to those options INSPECTIONS : reviews to help ensure good-quality design & code CONFIGURATION MANAGEMENT : labeling code, tracking changes as managing the source code (ITIL) REGULAR BUILDS : Through regular builds, the team makes sure the new code integrates with existing code VISIBILITY OF PROGRESS AND RESULT : process tracks progress based on completed work

Agile Methods FEATURE-DRIVEN DEVELOPMENT (FDD)

Agile Methods FEATURE-DRIVEN DEVELOPMENT (FDD)

Agile Methods DYNAMIC SYSTEMS DEVELOPMENT METHOD (DSDM) • DSDM is an early agile method

Agile Methods DYNAMIC SYSTEMS DEVELOPMENT METHOD (DSDM) • DSDM is an early agile method (before the agile manifesto), descriptive and detailed approach. DSDM is broad and ranges from feasibility study & business case to implementation.

Agile Methods CRYSTAL • Crystal is a family of methodologies designed from projects developing

Agile Methods CRYSTAL • Crystal is a family of methodologies designed from projects developing low-critical systems (crystal clear) to high-critical projects (crystal magenta)

Agile Methods LEAN SOFTWARE DEVELOPMENT (LSD) • Lean is not strictly an agile development

Agile Methods LEAN SOFTWARE DEVELOPMENT (LSD) • Lean is not strictly an agile development but aligns closely to the agile approach • LSD practices : ESTIMATE WASTE : to maximize value we must minimize waste. For software systems this can come under the form of work partially done, delays, unnecessary features, etc. . EMPOWER THE TEAM : respect individual knowledge empowering local decisions DELIVER FAST : maximize ROI by quickly delivering valuable software OPTIMIZE THE WHOLE : see the system as more than the sum of its parts BUILD QUALITY : continually assure quality throughout the development process DEFER DECISIONS : when creating the planning try to commit to this planning as late as possible AMPLIFY LEARNING : facilitate communications with building on the learning curve

Agile Methods LEAN SOFTWARE DEVELOPMENT (LSD)

Agile Methods LEAN SOFTWARE DEVELOPMENT (LSD)

Agile Methods KANBAN • « KANBAN » is a Japanese word meaning signboard :

Agile Methods KANBAN • « KANBAN » is a Japanese word meaning signboard : the kanban method limits to work in progress and helps identify issues, minimizes waste and cost associated at each development. • KANBAN practices : VISUALIZE THE WORKFLOW LIMIT WIP : keeping the amount of work in progress low increases the visibility on issues & facilitates continuous improvement MANAGE FLOW : tracking the flow and associated issues & changes can be measured for effectiveness MAKE PROCESS POLICIES EXPLICIT : clearly explain how this work and how to escalate issues IMPROVE COLLABORATIVELY : Through scientific measurement and experimentation the team should collectively own and improve the processes it uses

Agile Methods KANBAN

Agile Methods KANBAN

Agile Methods Process Overview Chart

Agile Methods Process Overview Chart

Framework Test Lisa is describing the four Agile Manifesto values to her co-workers. Of

Framework Test Lisa is describing the four Agile Manifesto values to her co-workers. Of the following, which response lists two of the four values? A. 1) Customer collaboration over contract negotiation, and 2) Responding to change over following a plan. B. 1) Customer collaboration over contract negotiation, and 2) Following a plan over responding to change. C. 1) Contract negotiation over customer collaboration, and 2) Responding to change over following a plan. D. 1) Teams and interactions over processes and tools, 2) Working software over comprehensive documentation

Framework Test Lisa is describing the four Agile Manifesto values to her co-workers. Of

Framework Test Lisa is describing the four Agile Manifesto values to her co-workers. Of the following, which response lists two of the four values? A. 1) Customer collaboration over contract negotiation, and 2) Responding to change over following a plan. B. 1) Customer collaboration over contract negotiation, and 2) Following a plan over responding to change. C. 1) Contract negotiation over customer collaboration, and 2) Responding to change over following a plan. D. 1) Teams and interactions over processes and tools, 2) Working software over comprehensive documentation A - The Agile Manifesto defines four values. The four values list primary values and secondary values, with primary values superseding secondary values. The values are 1) individuals and interactions over processes and tools, 2) working software over comprehensive documentation, 3) customer collaboration over contract negotiation, and 4) responding to change over following a plan. [Manifesto for Agile Software Development. Agile Alliance. ] [Knowledge and Skills: Level 1]

Framework Test Select a technique that promotes agile 'knowledge sharing. ' A- A high

Framework Test Select a technique that promotes agile 'knowledge sharing. ' A- A high specialized team B- A team composed of generalized specialists C- A uni-functional team D- A monolithic team

Framework Test Select a technique that promotes agile 'knowledge sharing. ' A- A high

Framework Test Select a technique that promotes agile 'knowledge sharing. ' A- A high specialized team B- A team composed of generalized specialists C- A uni-functional team D- A monolithic team

Framework Test B - In agile, effective 'knowledge sharing' is a critical factor for

Framework Test B - In agile, effective 'knowledge sharing' is a critical factor for success. It involves the near real time communication of key information among all team members and stakeholders. To promote knowledge sharing, agile uses standard practices built into its process, such as using generalized specialists/cross functional teams, self-organizing and self-disciplined teams, collocation, daily stand-up meetings, iteration/sprint planning, release planning, pair programming and pair rotation, project retrospectives/reflection, and on-site customer support. And, of course, the sixth principle of Agile is " The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. " In this sense, Agile prefers and encourages collocation for all stakeholders and team members for the simple fact that face-to-face conversation is the best method of communication and, in turn, effective knowledge sharing. [Becoming Agile: …in an imperfect world. Greg Smith, Ahmed Sidky. ] [Knowledge and Skills: Level 1]

Framework Test Which of the following lists a key agile project management characteristic? A-

Framework Test Which of the following lists a key agile project management characteristic? A- Incremental development of products and services B- A singular-dimensioned team consisting of highly specialized experts all of the same skill C- Short iterations and the use of baselines for strict schedule and budget control D- Detailed change management processes

Framework Test Which of the following lists a key agile project management characteristic? A-

Framework Test Which of the following lists a key agile project management characteristic? A- Incremental development of products and services B- A singular-dimensioned team consisting of highly specialized experts all of the same skill C- Short iterations and the use of baselines for strict schedule and budget control D- Detailed change management processes A - Key characteristics of agile project management include: continuous improvement, cross-functional teams, short iterations, an incremental approach, and business priorities and customer value. [The Art of Agile Development. James Shore. ] [Knowledge and Skills: Level 1] 46

Framework Test How is continuous improvement built into the agile framework? A- Through strict

Framework Test How is continuous improvement built into the agile framework? A- Through strict adherence to the agile project standards defined at the beginning of a project. B- Through the use of overtime to meet deadlines earlier than planned. C- Through demonstrating a working product only at the end of a release. D- Through listening and responding to customer feedback after each iteration.

Framework Test How is continuous improvement built into the agile framework? A- Through strict

Framework Test How is continuous improvement built into the agile framework? A- Through strict adherence to the agile project standards defined at the beginning of a project. B- Through the use of overtime to meet deadlines earlier than planned. C- Through demonstrating a working product only at the end of a release. D- Through listening and responding to customer feedback after each iteration. D - Agile project management places strong emphasis on 'continuous improvement. ' Continuous improvement processes are built into the agile methodology, from customers providing feedback after each iteration to the team reserving time to reflect on its performance through retrospectives after each iteration. Ongoing unit and integration testing and keeping up with technological/industry developments also play a part in the continuous improvement process. Continuous improvement is also a key principle in the lean methodology, where a focus of removing waste from the value stream is held. [The Art of Agile Development. James Shore. ] [Knowledge and Skills: Level 2]

Framework Test Which framework is adapted from the unified process (UP) for use in

Framework Test Which framework is adapted from the unified process (UP) for use in agile? A- Agile unified process (AUP) B- Extreme unified process (EUP) C- Simple unified process (SUP) D- Adapted unified process (Ad. UP)]

Framework Test Which framework is adapted from the unified process (UP) for use in

Framework Test Which framework is adapted from the unified process (UP) for use in agile? A- Agile unified process (AUP) B- Extreme unified process (EUP) C- Simple unified process (SUP) D- Adapted unified process (Ad. UP) A - Agile Unified Process (AUP) is a simplified version of the Unified Process, or UP (UP itself is a more detailed framework for iterative and incremental software development). AUP simplifies UP for the agile framework. AUP projects use four phases: 1) inception, 2) elaboration, 3) construction, and 4) transition. At the end of each short iteration, the team delivers a working product. [Agile Software Development: The Cooperative Game - 2 nd Edition. Alistair Cockburn. ] [Knowledge and Skills: Level 2]

Framework Test Select a common agile framework/methodology. A- Sprint B- Scrum C- LP D-

Framework Test Select a common agile framework/methodology. A- Sprint B- Scrum C- LP D- PMI

Framework Test Select a common agile framework/methodology. A- Sprint B- Scrum C- LP D-

Framework Test Select a common agile framework/methodology. A- Sprint B- Scrum C- LP D- PMI B - Common frameworks or methodologies used within agile include: scrum, extreme programming (XP), lean software development, crystal, feature driven development (FDD), dynamic systems development method (DSDM), agile unified process (AUP). [Agile Software Development: The Cooperative Game – 2 nd Edition. Alistair Cockburn. ] [Knowledge and Skills: Level 2]

Framework Test What is the process called when a team constructively criticizes its performance

Framework Test What is the process called when a team constructively criticizes its performance for the purpose of improving performance going forward? A- Reflection B- Refactoring C- Returning D- Reimaging

Framework Test What is the process called when a team constructively criticizes its performance

Framework Test What is the process called when a team constructively criticizes its performance for the purpose of improving performance going forward? A- Reflection B- Refactoring C- Returning D- Reimaging A - During reflection or retrospectives, an agile team reserves time to reflect on the work it has completed with the objective of continuous improvement. In these self-assessment/team-assessment events, topics can include: lessons learned from successes and failures; team standards that worked, failed, or were not properly followed; and other areas of improvement. [Agile Retrospectives: Making Good Teams Great. Esther Derby, Diana Larsen, Ken Schwaber. ] [Knowledge and Skills: Level 2]

Framework Test Which agile framework emphasizes a heavy focus on proving the 'fitness' or

Framework Test Which agile framework emphasizes a heavy focus on proving the 'fitness' or marketability of a product (i. e. , has a strong business emphasis)? A- Static systems development method (SSDM) B- Extreme systems development method (XSDM) C- Dynamic systems development method (DSDM) D- Dynamic product development method (DPDM)

Framework Test Which agile framework emphasizes a heavy focus on proving the 'fitness' or

Framework Test Which agile framework emphasizes a heavy focus on proving the 'fitness' or marketability of a product (i. e. , has a strong business emphasis)? A- Static systems development method (SSDM) B- Extreme systems development method (XSDM) C- Dynamic systems development method (DSDM) D- Dynamic product development method (DPDM) C - Dynamic Systems Development Method (DSDM) is a structured framework that emphasizes a business perspective with a heavy focus on proving the 'fitness' or marketability. Similar to scrum, DSDM has three major phases: initiating project activities, project life cycle activities, and closing project activities (i. e. , similar to scrum's pre-game, postgame). The project life cycle has five stages: feasibility study, business study, functional model iteration, design and build iteration, and implementation. [Agile Software Development: The Cooperative Game – 2 nd Edition. Alistair Cockburn. ] [Knowledge and Skills: Level 2]

Framework Test Which software development framework stresses the use of 'metaphor' to describe concepts?

Framework Test Which software development framework stresses the use of 'metaphor' to describe concepts? A- Ultra programming (UP) B- Paired programming (PP) C- Peer perfect programming (3 P) D- Extreme programming (XP)

Framework Test Which software development framework stresses the use of 'metaphor' to describe concepts?

Framework Test Which software development framework stresses the use of 'metaphor' to describe concepts? A- Ultra programming (UP) B- Paired programming (PP) C- Peer perfect programming (3 P) D- Extreme programming (XP) D - Extreme programming (XP) is a programmer-centric agile framework that focuses on small, ongoing releases. XP highlights several principles: pair programming, sustainable pace, ongoing automated testing, effective communication, simplicity, feedback, courage, collective ownership, continuous integration, energized work, shared workspaces, on-site customer representation, and the use of metaphor to describe concepts. [Agile Software Development: The Cooperative Game – 2 nd Edition. Alistair Cockburn. ] [Knowledge and Skills: Level 2]