Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

Previously

Slide 3

Slide 3 text

Homework Quiz 01

Slide 4

Slide 4 text

Strategies 4

Slide 5

Slide 5 text

Agile in Action 5

Slide 6

Slide 6 text

Agile Manifesto

Slide 7

Slide 7 text

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.

Slide 8

Slide 8 text

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.

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Product Backlog

Slide 11

Slide 11 text

Agile in Action 11

Slide 12

Slide 12 text

Product Backlog 12

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Storyboarding 14 Who do What

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

Pac-man 16

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

Case 1 18

Slide 19

Slide 19 text

Case 2 19

Slide 20

Slide 20 text

Case 3 20

Slide 21

Slide 21 text

Case 4 21

Slide 22

Slide 22 text

Next 22 Product Backlog Sprint Backlog

Slide 23

Slide 23 text

Sprint Backlog

Slide 24

Slide 24 text

Agile in Action 24

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

Let’s Work 26

Slide 27

Slide 27 text

Questions 27

Slide 28

Slide 28 text

Lab 03. Getting Started with Java Swing (Part III)

Slide 29

Slide 29 text

Paint App 30

Slide 30

Slide 30 text

My Solution https://github.com/CSC3100/Swing javiergs.paint.gamma

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

Homework 1. How to have more than one shape on the DrawPanel?

Slide 39

Slide 39 text

Homework 2. Undo and Redo?

Slide 40

Slide 40 text

Homework 3. What about removing ToolPanel and StatusBarPanel and having a MenuBar (as it should be)

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

Homework Assignment 01. Enhanced Paint App

Slide 43

Slide 43 text

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.