COMP 3521 CHAPTER 2

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Which aspect is NOT typically included in software process descriptions?

  • Roles within the process
  • Products from activities
  • Marketing strategies for the software (correct)
  • Ordering of activities

What is a key characteristic of plan-driven processes?

  • Detailed advance planning of all process activities (correct)
  • Incremental planning
  • Focus on rapid prototyping
  • Adaptation to changing customer requirements

In incremental development, which activity is interleaved with specification and development?

  • Validation (correct)
  • Project planning
  • System deployment
  • Risk management

Which of the following best describes integration and configuration?

<p>Assembling a system from existing configurable components (C)</p> Signup and view all the answers

What is a primary challenge associated with the Waterfall Model?

<p>Difficulty in accommodating changes after the process is underway (B)</p> Signup and view all the answers

For what type of projects is the Waterfall model most appropriate?

<p>Large systems engineering projects with well-understood requirements (B)</p> Signup and view all the answers

What is a key benefit of incremental development?

<p>More rapid delivery and deployment of useful software (D)</p> Signup and view all the answers

Which reusable software type is often configured for use in a particular environment?

<p>Stand-alone application systems (COTS) (C)</p> Signup and view all the answers

What is a primary risk associated with reuse-oriented software engineering?

<p>Loss of control over the evolution of reused elements (B)</p> Signup and view all the answers

Which of the following is a key stage in reuse-oriented software engineering?

<p>Software discovery and evaluation (A)</p> Signup and view all the answers

In the context of software processes, what does 'validation' primarily involve?

<p>Checking that the system does what the customer wants (A)</p> Signup and view all the answers

Why is evolution a necessary part of software processes?

<p>To ensure the software remains useful as customer needs change (A)</p> Signup and view all the answers

What is the primary goal of requirements elicitation and analysis?

<p>Identifying stakeholder needs and expectations (B)</p> Signup and view all the answers

Which activity is part of the requirements engineering process?

<p>Requirements validation (C)</p> Signup and view all the answers

Why are design and implementation often interleaved?

<p>To allow flexibility and iteration in the development process (B)</p> Signup and view all the answers

What is typically the first step in the design process?

<p>Architectural Design (A)</p> Signup and view all the answers

Which activity involves finding and correcting program faults?

<p>Debugging (A)</p> Signup and view all the answers

What is the intent of verification and validation (V & V)?

<p>To show that a system conforms to its specification and meets customer requirements (C)</p> Signup and view all the answers

What does system testing primarily involve?

<p>Executing the system with test cases derived from the specification (D)</p> Signup and view all the answers

What is the focus of component testing?

<p>Testing individual system components independently (D)</p> Signup and view all the answers

Which process is most closely associated with adapting software to meet new requirements?

<p>Software evolution (C)</p> Signup and view all the answers

What is a key driver for software evolution?

<p>Changes in business circumstances and requirements (B)</p> Signup and view all the answers

Which strategy can help lower rework costs due to inevitable changes in large software projects?

<p>Change anticipation (B)</p> Signup and view all the answers

What is the primary purpose of system prototyping?

<p>To check customer’s requirements and feasibility of design decisions (C)</p> Signup and view all the answers

In which process can a prototype be used to explore options and develop a UI design?

<p>Design (A)</p> Signup and view all the answers

Which is NOT a benefit of prototyping?

<p>Increased system complexity (B)</p> Signup and view all the answers

What should be done with prototypes after development?

<p>Discarded (A)</p> Signup and view all the answers

How does incremental delivery differ from delivering the system as a single release?

<p>It delivers the system in increments with each increment delivering part of the required functionality (B)</p> Signup and view all the answers

What happens to requirements once the development of an increment has started in an incremental delivery model?

<p>They are frozen (C)</p> Signup and view all the answers

Which characteristic applies to Incremental delivery?

<p>Realistic evaluation about practical software use (C)</p> Signup and view all the answers

What is a key benefit of Incremental delivery?

<p>Customer value can be delivered with each increment (B)</p> Signup and view all the answers

What is the overall goal of process improvement in software companies?

<p>To enhance software quality, reduce costs, or accelerate development (D)</p> Signup and view all the answers

What does process improvement primarily involve?

<p>Understanding and changing existing processes (D)</p> Signup and view all the answers

Which methodology emphasizes iterative development and reducing overheads in the software process?

<p>The agile approach (A)</p> Signup and view all the answers

Which set of actions best describes the process improvement cycle?

<p>Measure, Analyze, Change (A)</p> Signup and view all the answers

In process improvement, what is the purpose of process measurement?

<p>Measuring one or more attributes of the software process or product (C)</p> Signup and view all the answers

What should process measurements be used for?

<p>Assess Process Improvements (C)</p> Signup and view all the answers

What does the SEI capability maturity model aim to identify?

<p>Maturity levels that correspond to the use of good software engineering practice (D)</p> Signup and view all the answers

Within the SEI capability maturity model, which level is defined as 'Essentially uncontrolled'?

<p>Initial (A)</p> Signup and view all the answers

Which of the following is an example of a process metric?

<p>Total effort in person-days (B)</p> Signup and view all the answers

In a software process, what is the purpose of defining pre- and post-conditions?

<p>To state what must be true before and after a process activity. (C)</p> Signup and view all the answers

How do plan-driven and agile processes typically differ in their approach to accommodating changes in customer requirements?

<p>Plan-driven processes plan activities in advance; agile processes use incremental planning to reflect changes. (A)</p> Signup and view all the answers

When might it be suitable to combine elements of both plan-driven and agile processes in a software project?

<p>In most practical processes, because they provide complementary benefits. (A)</p> Signup and view all the answers

In the context of software process models, what is 'specification' primarily concerned with?

<p>Defining what the system should do. (A)</p> Signup and view all the answers

What distinguishes incremental development from the Waterfall model in software development?

<p>Incremental development interleaves specification, development, and validation. (C)</p> Signup and view all the answers

How does the plan-driven nature of the Waterfall model aid in large systems engineering projects developed at multiple sites?

<p>It helps coordinate the work across different sites. (C)</p> Signup and view all the answers

In the context of integration and configuration, what are COTS systems?

<p>Commercial-off-the-shelf systems. (A)</p> Signup and view all the answers

What is a key challenge when new increments are added in incremental development?

<p>The system structure may degrade unless time is spent on refactoring. (C)</p> Signup and view all the answers

Why might 'requirements compromise' be inevitable in reuse-oriented software engineering?

<p>Because of the need to adapt existing components which may not perfectly align with original needs. (B)</p> Signup and view all the answers

Why is it important to assess existing systems during system evolution?

<p>To understand the existing system's limitations and potential for modification. (C)</p> Signup and view all the answers

What is the main goal of 'change anticipation' in software development?

<p>To predict and prepare for likely changes before they cause significant rework. (C)</p> Signup and view all the answers

In software development, what does 'change tolerance' signify?

<p>The capability of the software process to accommodate changes at a relatively low cost. (C)</p> Signup and view all the answers

What is a primary difference between incremental development and incremental delivery?

<p>Incremental development evaluates each increment before proceeding; incremental delivery deploys the software for end-user use. (B)</p> Signup and view all the answers

What is a potential drawback of incremental delivery for replacement systems?

<p>Increments have less functionality than the system being replaced. (D)</p> Signup and view all the answers

According to the process improvement cycle, what should happen after process measurement?

<p>The measurements should be analyzed to identify areas for improvement. (B)</p> Signup and view all the answers

What distinguishes the 'defined' level from the 'repeatable' level in SEI's Capability Maturity Model?

<p>At the 'defined' level, process management procedures and strategies are defined and used. (C)</p> Signup and view all the answers

In the context of software process improvement, what is the purpose of process analysis?

<p>To assess the current process and identify weaknesses. (D)</p> Signup and view all the answers

Why should prototypes in the software development process be discarded after development?

<p>The prototype structure is degraded through rapid change. (B)</p> Signup and view all the answers

How do prototypes contribute to the requirements engineering process?

<p>By helping with requirements elicitation and validation. (B)</p> Signup and view all the answers

What is the focus of system testing?

<p>Testing the system as a whole including emergent properties. (C)</p> Signup and view all the answers

During the software design phase, if reusable components are unavailable, what is the next step?

<p>Design how it will operate and create from Scratch. (A)</p> Signup and view all the answers

What is typically involved in the architectural design phase of the software design process?

<p>Identifying the overall structure, modules, and their distribution. (D)</p> Signup and view all the answers

Why is documenting the prototype structure not recommended?

<p>Prototypes are meant to be disposable, so documentation adds unnecessary overhead. (C)</p> Signup and view all the answers

Why are the activities of design and implementation usually inter-leaved?

<p>Because the activities are tightly coupled. (C)</p> Signup and view all the answers

How can the use of prototypes aid in coping with changing requirements?

<p>They allow customers to quickly review and test the system. (D)</p> Signup and view all the answers

In an Agile environment, what is the expected level of customer engagement compared to traditional Waterfall projects?

<p>Customers are expected to be far more engaged throughout the development process, providing input at all inspect and adapt points. (D)</p> Signup and view all the answers

How does the role of a Product Manager typically change when transitioning to a Product Owner in an Agile environment?

<p>The Product Owner becomes an active participant on the team, responsible for the product direction and priorities, and is readily available to the team. (B)</p> Signup and view all the answers

What is the primary way General Management can support Agile teams without undermining the principle of self-management?

<p>By acting as a sounding board, assisting with removing significant impediments, and providing coaching and support to team members. (B)</p> Signup and view all the answers

How does the role of a ScrumMaster differ most significantly from that of a traditional Project Manager?

<p>The Project Manager dictates the project schedule, while the ScrumMaster facilitates the team's self-organization and adherence to Scrum processes. (D)</p> Signup and view all the answers

What is a critical change that developers can expect when transitioning to Agile, particularly when incorporating XP practices?

<p>An increased emphasis on engineering discipline, including pair programming, unit testing, and test-driven development. (A)</p> Signup and view all the answers

How does the role of QA testers evolve in an Agile environment compared to a traditional Waterfall setting?

<p>QA testers become respected members of the development team, contributing to user story elaboration, test automation, and early bug detection. (A)</p> Signup and view all the answers

Why is Scrum said to eliminate corporate hierarchy?

<p>It values a functional team over traditional corporate structure. (D)</p> Signup and view all the answers

What is the primary reason developers should participate in initial user story workshops in Agile?

<p>To ensure developers fully understand issues first hand from the Customer/Product Owner. (C)</p> Signup and view all the answers

What does it mean for code to be considered 'DONE' at the end of each Sprint in Scrum/XP and Lean practices?

<p>The code is unit tested, functionally tested, and integration tested. (A)</p> Signup and view all the answers

With traditional waterfall projects, what is a typical interaction with customers?

<p>Customers are primarily involved at the beginning and end of the project only. (C)</p> Signup and view all the answers

In Agile projects, what is the expected frequency of delivering functional software?

<p>At 2-4 week intervals. (C)</p> Signup and view all the answers

Which activity is NOT a typical responsibility of the Product Owner in an Agile project?

<p>Assigning tasks to developers. (D)</p> Signup and view all the answers

What is the primary role of managers in an Agile organization?

<p>To act as a sounding board, eliminate impediments, and provide coaching and support. (D)</p> Signup and view all the answers

Who owns the schedule in a Scrum project?

<p>The Development team. (C)</p> Signup and view all the answers

When transitioning to agile, what is the biggest change a developer can expect?

<p>Engineering discipline should be set to the max. (A)</p> Signup and view all the answers

Why should QA testers participate from the beginning of every sprint?

<p>To elaborate user stories and define acceptance test criteria. (A)</p> Signup and view all the answers

As a general manager, what should you do to support Agile teams?

<p>Act as a sounding board, assist in removing significant impediments, and provide coaching and support to team members. (D)</p> Signup and view all the answers

What is the benefit of no longer estimating tasks alone for developers transitioning to Agile?

<p>It allows for better estimation through a broader outlook, shared responsibility, removing the complete responsibility for a bad estimate. (B)</p> Signup and view all the answers

What is meant by the term Agile?

<p>An umbrella term for project management methodologies centered on iterative, incremental software development. (A)</p> Signup and view all the answers

What are common methodologies under the Agile umbrella?

<p>Lean, Crystal, Scrum, DSDM, and XP (A)</p> Signup and view all the answers

In what intervals are functional pieces of software produced in Agile development?

<p>2-4 week intervals (B)</p> Signup and view all the answers

Why is management in Agile, available as a 'sounding board' for the team?

<p>To help teams avoid mistakes and save considerable time (D)</p> Signup and view all the answers

Why are the inspect and adapt points taken seriously in Scrum?

<p>To allow the team to learn and improve Sprint by Sprint (A)</p> Signup and view all the answers

What can developers expect from Agile?

<p>Engineering discipline, or rigor, should be set to the max (D)</p> Signup and view all the answers

What's a major change from waterfall to Agile for QA testers?

<p>A more respected member of the team (B)</p> Signup and view all the answers

Who can provide insight in Sprint planning meetings?

<p>QA Testers and Developers (B)</p> Signup and view all the answers

What is a benefit of including QA Testers in poker planning sessions?

<p>Receive better overall estimate of complexity of user stories (B)</p> Signup and view all the answers

What can Agile adapt the development setting to harness from a team?

<p>Harness the greatest amount of working potential (B)</p> Signup and view all the answers

What is essential when transitioning to an Agile approach?

<p>Willingness to restructure to create an approach to software development that is more efficient. (C)</p> Signup and view all the answers

Why would a Manager be present to help the ScrumMaster?

<p>Assist the ScrumMaster to eliminate &quot;BIG&quot; blockers that require management involvement (A)</p> Signup and view all the answers

What should a ScrumMaster do regarding daily estimates?

<p>Maybe initially prod the team to keep their daily estimates current (B)</p> Signup and view all the answers

What can developers learn about when practicing Test Driven Development?

<p>How to produce the best possible, highest quality code (A)</p> Signup and view all the answers

What can testers add to the process, with analytical "how can I break things" mindset?

<p>A large amount of value to the process by creating unit tests (C)</p> Signup and view all the answers

How does Agile handle the project-management problems?

<p>By treating each of the functional areas as development and building a cohesive team (D)</p> Signup and view all the answers

What is the result of software in the inspect and adapt cycle?

<p>Client risk is minmized (B)</p> Signup and view all the answers

What is "sustainable throughput" built on?

<p>The premise of velocity tracking (B)</p> Signup and view all the answers

What shifts for testers because of the Agile method?

<p>Decreases death march (D)</p> Signup and view all the answers

What is the single-handedly the number one reason for higher quality software, happier customers and motivated development teams?

<p>With concepts such as TDD and BDD, the testing effort has shifted from a traditionally tail ended process to a front ended process (C)</p> Signup and view all the answers

What results from Agile's ability to recast individuals in positions?

<p>In maximizing efficiency, individual potential and output. (B)</p> Signup and view all the answers

What is the role of the Product Owner regarding acceptance test criteria?

<p>Defining the acceptance test criteria and being responsible for the quality of the product output. (C)</p> Signup and view all the answers

How should managers support Agile teams?

<p>By acting as a sounding board, helping with heavy lifting, and coaching team members. (A)</p> Signup and view all the answers

What is the most significant change for developers when transitioning towards Agile (Scrum + XP)?

<p>Engineering discipline or rigor should be set to the max. (C)</p> Signup and view all the answers

How does Agile address traditional project management issues related to team cohesion?

<p>By building a cohesive team and treating each functional area as development. (C)</p> Signup and view all the answers

What is the key benefit of QA testers participating in Sprint planning meetings?

<p>They help define user story acceptance test criteria, improving code quality and accuracy. (B)</p> Signup and view all the answers

To what extent are customers involved in Agile projects compared to traditional waterfall projects?

<p>Customers are expected to be far more engaged throughout the development process. (B)</p> Signup and view all the answers

How does the role of the ScrumMaster differ from that of a traditional project manager?

<p>The ScrumMaster ensures that the Scrum process is followed. (A)</p> Signup and view all the answers

What is the expected outcome when all Agile Stakeholders have bought in to the new process right from the start?

<p>You won't have to worry about death marches or code blues and will feel proud of what you have produced. (B)</p> Signup and view all the answers

What does the Agile approach center on?

<p>Efficiency in realizing short-term project objectives and client satisfaction through frequent inspect and adapt cycles. (A)</p> Signup and view all the answers

How does velocity tracking contribute to sustainable throughput in Agile development?

<p>By setting a maximum sustainable team throughput, which governs how much work-in-progress there is at any given time. (D)</p> Signup and view all the answers

How does the shift to Agile impact the responsibilities of a Product Manager?

<p>They become the Product Owner, and are expected to avail their services to the team including quality and acceptance. (D)</p> Signup and view all the answers

Why is it important for developers to participate in initial user story workshops in Agile?

<p>To get to hear issues first hand from the Customer/Product Owner as they are there to elaborate at the Sprint planning meeting. (D)</p> Signup and view all the answers

What is the attitude towards bugs that are found early in a Scrum project?

<p>They are resolved as soon as they are found. (C)</p> Signup and view all the answers

Flashcards

Software Process

A structured set of activities required to develop a software system.

Specification

Defining what the system should do.

Design and Implementation

Defining the organization of the system and implementing the system.

Validation

Checking that it does what the customer wants.

Signup and view all the flashcards

Evolution

Changing the system in response to changing customer needs.

Signup and view all the flashcards

Software Process Model

An abstract representation of a process; a description of a process from some particular perspective.

Signup and view all the flashcards

Plan-Driven Processes

Processes where all of the process activities are planned in advance and progress is measured against this plan.

Signup and view all the flashcards

Agile Processes

Planning is incremental and it is easier to change the process to reflect changing customer requirements.

Signup and view all the flashcards

Waterfall Model

A plan-driven software process model with separate and distinct phases of specification and development.

Signup and view all the flashcards

Incremental Development

A software process model where specification, development, and validation are interleaved.

Signup and view all the flashcards

Integration and Configuration

A software process where the system is assembled from existing configurable components.

Signup and view all the flashcards

Waterfall Model Drawback

The difficulty of accommodating change after the process is underway.

Signup and view all the flashcards

Partitioning Problem

Inflexible partitioning makes it difficult to respond to changing customer requirements.

Signup and view all the flashcards

Incremental Development Benefit

Reduced cost of accommodating changing customer requirements.

Signup and view all the flashcards

Incremental Development Problem

The cost of documenting that happens if systems are developed quickly.

Signup and view all the flashcards

Integration and Configuration

Based on software reuse where systems are integrated from existing components or application systems.

Signup and view all the flashcards

COTS

Stand-alone application systems that are configured for use in a particular environment.

Signup and view all the flashcards

Software Specification

The process of establishing what services are required and the constraints on the system's operation and development.

Signup and view all the flashcards

Software Design and Implementation

The process of converting the system specification into an executable system.

Signup and view all the flashcards

Design Activities

Activities include architectural, interface, component, and database design.

Signup and view all the flashcards

Debugging

The activity of finding program faults and correcting these faults.

Signup and view all the flashcards

Software Validation

The process of checking that a system conforms to its specification and meets customer requirements.

Signup and view all the flashcards

Component Testing

Individual components are tested independently.

Signup and view all the flashcards

System Testing

Testing of the system as a whole.

Signup and view all the flashcards

Customer Testing

Testing with customer data to check that the system meets the customer's needs.

Signup and view all the flashcards

Software Evolution

Changing existing software systems to meet new requirements.

Signup and view all the flashcards

System Prototyping

Creating a version of the system quickly to check customer requirements and design feasibility.

Signup and view all the flashcards

Incremental Delivery

Deliver system increments for customer comment and experimentation.

Signup and view all the flashcards

Prototype Focus

Focus on areas of the product that are not well-understood.

Signup and view all the flashcards

Throw-Away Prototypes

Prototypes should be discarded after development.

Signup and view all the flashcards

Incremental Delivery

Breaking development into increments that deliver part of the required functionality.

Signup and view all the flashcards

User Requirement Prioritization

Prioritizing user needs by including them in early increments.

Signup and view all the flashcards

Process Improvement

Understanding current processes and changing these to increase product quality.

Signup and view all the flashcards

Approaches to Improvement

The process maturity approach and the agile approach.

Signup and view all the flashcards

Process Measurement

Measuring attributes of the software process to see the effect.

Signup and view all the flashcards

Process Analysis

Assessing current processes identifying weaknesses and bottlenecks.

Signup and view all the flashcards

Process Change

Proposing changes to address identified process weaknesses.

Signup and view all the flashcards

Process Metric: Time

Time taken for a process activity to be completed.

Signup and view all the flashcards

Process Metric: Resources

Resources required for processes or activities.

Signup and view all the flashcards

Process Metric: Defects

The number of defects that were registered.

Signup and view all the flashcards

SEI Process Maturity Framework

Framework identifying levels related to good software engineering practice.

Signup and view all the flashcards

Repeatable Software

Product management procedures defined and used.

Signup and view all the flashcards

Managed Software

Quality Management Strategies defined and used.

Signup and view all the flashcards

Initial Software

A process that is essentially uncontrolled.

Signup and view all the flashcards

Agile (Definition)

An umbrella term for iterative, incremental software development methodologies, including Lean, Crystal, Scrum, DSDM, and XP.

Signup and view all the flashcards

Agile (Simplified)

Agile is Scrum + XP (extreme programming).

Signup and view all the flashcards

Agile Approach

Agile ensures motivation and client satisfaction via frequent 'inspect and adapt' cycles.

Signup and view all the flashcards

Customer Engagement (Agile)

Customers need to be more engaged throughout the development process and provide input at all 'inspect and adapt' points.

Signup and view all the flashcards

Customer Participation Benefits

Minimize risk and provide customers with options; Customers should work with the Product Owners to prioritize the Backlog.

Signup and view all the flashcards

Product Owner Role

Responsible for the product direction, priorities, and maintaining the product backlog.

Signup and view all the flashcards

Product Owner in Sprint Planning

Should be present at Sprint planning meetings to define goals and elaborate on user stories.

Signup and view all the flashcards

Acceptance Criteria

The Product Owner is also partly responsible for defining the acceptance test criteria

Signup and view all the flashcards

Manager's role in Agile

Managers should act as a sounding board, assist in removing impediments, and provide support for new teams.

Signup and view all the flashcards

Manager's strategic focus

Managers should focus on strategic initiatives and work with Product Owners to define long-term 'Epics' and product roadmaps.

Signup and view all the flashcards

ScrumMaster Responsibilities

Ensuring that the Scrum process is followed and removing impediments.

Signup and view all the flashcards

ScrumMaster tasks

Organizing daily Scrums, ensuring the inspect and adapt points are taken seriously

Signup and view all the flashcards

Agile Development Rigor

Engineering discipline should be set to the max in Agile development.

Signup and view all the flashcards

Task Estimation (Agile)

Done as a team playing Planning Poker to get better estimates with broad outlook

Signup and view all the flashcards

Pair Programming Benefits

You are forced to open up your code to peer review, which means that you are being critiqued every step of the way.

Signup and view all the flashcards

Developer Involvement

Participate in user story workshops, Sprint planning, and Sprint retrospectives.

Signup and view all the flashcards

Tester's Early Involvement

Participate in the Sprint planning meetings, you will get to hear up-front what user stories are planned.

Signup and view all the flashcards

Acceptance Test Criteria

Help to define the user story acceptance test criteria, leads to significantly helps Developers understand what they need to do up front for the tests to pass

Signup and view all the flashcards

User story estimations

Better overall estimates of user story complexity; This leads to more accurate estimates, better plans, less stress and happier teams with higher morale.

Signup and view all the flashcards

Testers enhancing skills

Testers enhance their skill sets by creation of unit tests; enhance the analytical mindset.

Signup and view all the flashcards

Building Quality

Teams need to be more concerned with building in quality and minimizing waste.

Signup and view all the flashcards

contribution in automated tests

By writing automated tests, you are contributing to the overall quality of the codebase and as a result reducing overall cycle time.

Signup and view all the flashcards

Shift for Testing

Shifted from a traditionally tail ended process to a front ended process, and as a result, quality is built in right from the start.

Signup and view all the flashcards

Agile Transition Success

A restructuring of an approach to software development that is ultimately more efficient.

Signup and view all the flashcards

Study Notes

Coping with Change on Scrum Projects

  • Agile encompasses iterative, incremental software development methodologies like Lean, Crystal, Scrum, DSDM, and XP.
  • Agile is defined as Scrum + XP.
  • Lean thinking has been successfully applied to software project management.
  • Agile focuses on efficiency in short-term project objectives and uses inspect and adapt cycles.
  • This approach maximizes efficiency, individual potential, and output, justifying changes with results.

Changes for Customers/Stakeholders

  • Customers should be more engaged throughout Agile projects.
  • Customers are expected to participate and provide input at all "inspect and adapt" points.
  • Customers should collaborate with Product Owners to define and elaborate on user stories.
  • Customers should work with the Product Owner to prioritize the Backlog.
  • Customers and stakeholders should participate in Sprint demos and potentially Sprint retrospectives.

Changes for Product Management

  • Product Managers transition to Product Owners in Agile.
  • Product Owners actively participate on the team.
  • The Product Owner becomes responsible for product direction and priorities.
  • A Product Owner should be present at Sprint planning meetings to define Sprint goals and elaborate on user stories.
  • The Product Owner is responsible for creating, maintaining, and prioritizing the product backlog.
  • The Product Owner should be available to the team at all times.
  • The Product Owner is partly responsible for defining acceptance test criteria and the quality of the product output.

Changes for General Management

  • Managers should be available as a sounding board for the team.
  • Managers should assist the ScrumMaster in removing significant blockers or impediments, especially regarding budget approvals.
  • New teams need executive management support to maintain an Agile track.
  • Managers should act as coaches, assisting with career path planning, performance reviews, and training.
  • Managers should focus on longer-term strategic initiatives.
  • Based on strategic outcomes, managers should collaborate with Product Owners to define longer-term "Epics" and create product roadmaps.

Changes for Project Management

  • Project Managers often transition into the role of ScrumMaster.
  • The ScrumMaster role is different from that of a Project Manager, requiring training.
  • The team owns the schedule, so the ScrumMaster doesn't update MS Project Gantts.
  • The ScrumMaster ensures the Scrum process is followed and understood.
  • The ScrumMaster removes or assists in removing impediments quickly.
  • The ScrumMaster ensures the team stays on track by reminding them of Sprint goals.
  • The ScrumMaster organizes daily Scrums at the same time and place.
  • The ScrumMaster ensures that the subtleties of Scrum, especially inspect and adapt points, are taken seriously for continuous improvement.

Changes for Developers

  • Engineering discipline should be maximized in Agile.
  • Developers should estimate tasks with the team, preferably using planning poker.
  • Developers must learn to pair program.
  • Developers must learn to write unit tests and embrace Test Driven Development.
  • Developers should participate in the complete end-to-end process, including user story workshops.
  • Developers should participate in retrospectives to reflect on what went right and wrong and to improve.
  • Developers should not have to burn continuously; velocity tracking sets the maximum sustainable team throughput.
  • Developers have the opportunity to demo their work at the end of every Sprint.
  • Developers work as a team and help each other when needed.

Changes for QA Testers

  • Testers participate from the beginning of every Sprint.
  • Testers will part of the process of elaborating the user stories themselves.
  • Testers help to define user story acceptance test criteria.
  • Testers participate in planning poker sessions to help size user stories.
  • Testers are involved in the creation of unit tests.
  • Testers should automate as many functional tests as possible.
  • Testers are respected members of the team.
  • Testers will no longer be receiving extensively buggy code.
  • Scrum/XP and Lean practices expect that all code delivered at the end of the Sprint is DONE (unit tested, functionally tested, integration tested).
  • With concepts such as TDD and BDD, the testing effort has shifted from a traditionally tail ended process to a front ended process

Agile Transition

  • Transitioning to an Agile organization and adopting a Scrum approach requires a concerted effort and a willingness to change across all functions of a software development team.
  • Restructure the approach to software development to be more efficient.
  • With the transition and an understanding of the mentality behind the move, the shift becomes more of an intuitive step in the formation of a productive software development company.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser