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 06. Taskboard

Slide 2

Slide 2 text

Previously

Slide 3

Slide 3 text

As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit) As a (role), I want (feature), So that (benefit)

Slide 4

Slide 4 text

Create a Backlog and Task board 4 stories tasks (new) UI UI UI UI UI

Slide 5

Slide 5 text

Task Board 5

Slide 6

Slide 6 text

Test Yourselves

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Storyboarding

Slide 14

Slide 14 text

Step 1 14

Slide 15

Slide 15 text

Step 2 15

Slide 16

Slide 16 text

Step 3 16

Slide 17

Slide 17 text

Step 4 17

Slide 18

Slide 18 text

Step 5 18

Slide 19

Slide 19 text

Ideas

Slide 20

Slide 20 text

Ideas Story 1: As a te a m member, I w a nt to cre a te a new session so p a rticip a nts c a n join. T a sks: • Design “Cre a te Session” di a log (inputs: session n a me, m a x pl a yers). • Implement session cre a tion logic a nd store session in memory. • Gener a te unique session ID. • Displ a y a ctive session info on screen 20

Slide 21

Slide 21 text

Ideas Story 2: As a p a rticip a nt, I w a nt to join a session so I c a n estim a te stories with the te a m. T a sks: • Design “Join Session” screen (input: session ID). • Implement p a rticip a nt registr a tion logic. • Show list of current p a rticip a nts in session view. 21

Slide 22

Slide 22 text

Ideas Story 3: As a f a cilit a tor, I w a nt to a dd stories to estim a te so the te a m c a n vote on them. T a sks: • Cre a te form to input story title a nd description. • Add stories to a n intern a l list (per session). • Displ a y list of stories in a t a ble or c a rd list view. 22

Slide 23

Slide 23 text

Ideas Story 4: As a te a m member, I w a nt to see the c a rds visu a lly, so I c a n choose one. T a sks: • Design a nd dr a w Pl a nning Poker c a rds in the UI. • Add hover a nd click visu a l feedb a ck (e.g., highlight on selection). • Adjust l a yout responsively if the window resizes. 23

Slide 24

Slide 24 text

Ideas Story 5: As a te a m member, I w a nt to submit my vote for the current story. T a sks: • Implement vote selection logic (h a ndle when a c a rd is clicked). • Link vote to the current p a rticip a nt. • Allow vote ch a nge but prevent multiple votes • Store vote in session memory. 24

Slide 25

Slide 25 text

Ideas Story 6: As a f a cilit a tor, I w a nt to reve a l the votes a fter everyone h a s submitted theirs. T a sks: • Implement “Reve a l Votes” button. • Displ a y votes in list (do not show n a mes, keep it a nonymous). • Show a ver a ge or consensus result 25

Slide 26

Slide 26 text

Ideas Story 7: As a user, I w a nt to see who h a s voted. T a sks: • Add st a tus indic a tor next to e a ch p a rticip a nt (e.g., “voted” vs “w a iting”). • Upd a te UI in re a l-time a s votes a re submitted. • Highlight result when a ll votes a re completed. 26

Slide 27

Slide 27 text

Ideas Story 8: As a te a m, we w a nt to reset so th a t the te a m c a n estim a te a new story. T a sks: • Add “Next Story” button. • Cle a r vote st a tes a nd lo a d next story. • En a ble re-voting if needed. 27

Slide 28

Slide 28 text

Ideas Story 9: As a user, I w a nt to export the voting results to a text or CSV f ile. T a sks: • Implement result export logic. • Let user choose f ile loc a tion (Swing JFileChooser). • S a ve: story title, votes, a ver a ge. 28

Slide 29

Slide 29 text

Ideas Story 10: As a user, I w a nt to export the voting results to a text or CSV f ile. T a sks: • Implement result export logic. • Let user choose f ile loc a tion (Swing JFileChooser). • S a ve: story title, votes, a ver a ge. 29

Slide 30

Slide 30 text

Optional Enhancements • Add a timer per story estim a tion. 30

Slide 31

Slide 31 text

Questions 31

Slide 32

Slide 32 text

Lab 03. Taiga

Slide 33

Slide 33 text

Java Desktop Application | Planning Poker 33 https://www.planitpoker.com

Slide 34

Slide 34 text

Lab Improve your Taiga board considering the following: • This project can be completed in a single week. Move all stories to the Sprint Backlog. • Reflect on this: • If you were randomly assigned one of the listed tasks… • Would you understand what needs to be done (your specific part and how it fit into the whole)? • Is it clear what inputs you will receive and what outputs you are expected to deliver? • If your task depends on data or UI from another Task or Story, do you know what mock objects you might need? • Can you easily identify who on your team to contact for the part that will connect with yours? 34

Slide 35

Slide 35 text

Let’s Work 35

Slide 36

Slide 36 text

CSC 307 Introduction to Software Engineering Javier Gonzalez-Sanchez, Ph.D. [email protected] Spring 2025 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.