Dr. Rob Hasker SE 3800 SOFTWARE ENGINEERING PROCESS II

24 Slides4.28 MB

Dr. Rob Hasker SE 3800 SOFTWARE ENGINEERING PROCESS II

Project: ABL, Automated Bridge Lifter Hired to design a system to automate raising and lowering bridges for boats Bridge designed Multiple traffic, boat sensors available Budget cuts mean it must be delivered in two years Ready, set, go! Now what? Work in teams.

Questions Did you consider multiple boats? What if someone is on the bridge? Are existing sensors adequate? Likely must use off-the-shelf components What are the testing requirements? Do you think the schedule is reasonable?

The course How would you design a course on software process? A project in every process? Problem, there are hundreds of processes. What would you like to have in the course? How would you ensure students understand the material?

Course details Class roster, attendance policy Book, schedule, policies, grading Course web site Prereq check: SE 2800, Software Process I SE 2832, Verification

Curricular Context 1st year: implementation 2nd year: basic elements of SE process 3rd year: project experience This course: software quality goals and tools, tailoring process to project

Curricular Context Senior Design Software Development Lab SE 3800 Process II SE 2800 Process I SE 2832 Verification SE 3821 Requirements

Course Goals Build on SE 2800: increase knowledge and skill in following software process Tailor software process (especially Scrum) to project needs Add continuous integration, verification, software quality components Industrial strength tool use Real-world experiences – mine and yours! Common theme: reduce

Textbook: Scrum Shortcuts Addison Wesley, 2014 “an approach rather than the approach to implementing Scrum.” (p. xix) Scrum is a framework; organizations can and must specialize to their needs Key questions: what’s mandatory? What can we change and still be effective?

Tools Google Test Test automation Make GitLab, Pipelines Cucumber, behavior driven development

Course themes What is Scrum, exactly? What can we change What are things we want to not do? How would you introduce Scrum to an organization? How to improve your use of Scrum How to solve the “it works on my machine” problem? Building effective automated test environments

Other topics Are there other ways to develop software? Can we get customers to write some of our tests? How to ensure the development environment is the same as the production environment?

SE 2800 Review What do you remember from SE 2800? Process models? Software development activities? Scrum process? Teamwork issues? What do you think wasn’t precise in 2800?

Scrum Refresher Who are these people? Product owner ScrumMaster Development team Give defi short nitio ns!

Scrum Refresher What will be developed, and in what order Who are these people? Product owner ScrumMaster Development team Guiding team on creating, following process; removing impediments 5-9 people: determines how to deliver what product owner requests.

Scrum Refresher Who are these people? Product owner ScrumMaster Scrum Team Development team Is the product owner the only interface to the customer? How to qualify as ScrumMaster? How to approach being ScrumMaster?

What is the product backlog? What qualifies as a PBI? Who manages these? What is “grooming”? How are PBIs ordered? How are PBIs estimated? Differences on internships?

Reviewing Scrum Activities The Scrum activity cycle Pair Exercise: Draw picture

Reviewing Scrum Activities The Scrum activity cycle Sprint planning Sprint execution Daily scrum What are some issues that this does not clarify? What needs to change about Scrum Sprint for SDL? Sprint retroreview spective

What is swarming? An exercise in “bunch ball” – everyone just watching others do work? Not very efficient use of time!

What is swarming? More effective image – everyone doing their own tasks to get the work done

Effective swarming Need to ensure high priority PBIs finished by end of sprint Procedure 1. Monitor progress; engage when becomes clear will not finish all PBIs by end of sprint 2. Pick highest priority PBIs that can be completed 3. Move developers from lower priority PBIs to higher ones GOAL: complete PBIs

Review Course goals Scrum roles Scrum activities Product backlog Next class: Read Ch. 1, Shortcuts 1 & 2 Start Assignment 1

Back to top button