Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

CSC307 Lecture 03

CSC307 Lecture 03

Introduction to Software Engineering
Agile in Action
(202406)

Today, we review the Agile Manifesto and key Agile principles, which include valuing individuals and interactions, working software, customer collaboration, and responsiveness to change. Practical elements like product backlogs, storyboarding, and task boards are illustrated through examples such as the development of a Pac-Man game.

Tweet

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227

    CSC 307 Introduction to Software Engineering Lecture 03. Agile in Action
  2. Agile Manifesto 7 Our highest priority is to satisfy the

    customer Working software is the primary Agile Manifesto The 12 Principles of Agile We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: n Individuals and interactions n Working software n Customer collaboration n Responding to change over processes and tools over comprehensive documentation over contract negotiation over following a plan While there is value in the items on the right, we value the items on the left more.
  3. Agile Manifesto 8 Our highest priority is to satisfy the

    customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a devel- opment team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity – the art of maximizing the amount of work not done – is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. The 12 Principles of Agile n Responding to change over following a plan While there is value in the items on the right, we value the items on the left more.
  4. Agile Manifesto 9 Business people and developers must work together

    daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a devel- opment team is face-to-face conversation. Simplicity – the art of maximizing the amount of work not done – is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler Robert C. Martin Steve Mellor Dave Thomas James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Ken Schwaber Jeff Sutherland ©2001-2019 The Agile Manifesto Authors. This declaration may be freely copied in any form, but only in its entirety through this notice. THE MANIFESTO AUTHORS Advancing the principles of Agile Learn more at AgileAlliance.org
  5. Features or Functional Requirement a ) M a y st

    a te wh a t (reactions, behaviors, or services) the system should not do. b) services the system should provide, c) how the system should react to p a rticul a r inputs, a nd d) how the system should behave in p a rticul a r situ a tions. 13
  6. INVEST in good requirements • Independent – loosely coupled with

    one a nother • Negoti a ble – Stories a re wh a t a nd why, not how ( 99% ). • V a lu a ble – for the customer! • Estim a t a ble – E ff ort/Cost of design, build, a nd test. • Sm a ll (sized a ppropri a tely) • Test a ble – p a ss or f a il 15
  7. Some Ideas. It is NOT a Complete List 17 MOVE

    EAT SHOW DETECT COLLISION MOVE/ HUNT SHOW SHOW/ CREATE SCORE HANDLING WINNER DETECTOR MOVE/ HUNT
  8. Task board 25 … move the pacman … show the

    pac-man … move a ghost … show a ghost … show power pills stories tasks (new) … show a maze
  9. Homework 4. When drawing a shape, what about drawing the

    contour of the shape as the mouse moves instead of just the filled shape at the end
  10. CSC 307 Introduction to Software Engineering Javier Gonzalez-Sanchez, Ph.D. [email protected]

    Summer 2024 Copyright. These slides can only be used as study material for the class CSC307 at Cal Poly. They cannot be distributed or used for another purpose.