Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Educating Project Stakeholders: A Preliminary Report

Educating Project Stakeholders: A Preliminary Report

In college coursework, we take care to educate future professional software engineers on how software development process works. Computer Science and Software Engineering students across the globe study software process models, gather requirements, design, implement and test their software, work on software maintenance, learn to submit bug reports, build project roadmaps, construct UML diagrams, and deploy software. Yet, ever since the emergence of consumer-facing software, software development often is a collaboration between professional software engineers and multiple stakeholders whose education, professional expertise, and general experience lie outside of computing. We teach future software engineers how to develop software. Why don't we do the same with other future stakeholders? This paper is a description of a pilot Software Engineering Without Programming course developed and taught at our university for the first time in 2020. In this early stage report (the course is on-going as of the submisison deadline, but will have been completed by the time of the workshop) we outline the need for the course, its learning objectives, its organization, and the expected results.

Bruno C. da Silva

July 01, 2020
Tweet

More Decks by Bruno C. da Silva

Other Decks in Research

Transcript

  1. Educating Project Stakeholders: a preliminary report Alex Dekhtyar, Bruno da

    Silva, Karson Slocum Department of Computer Science and Software Engineering, Cal Poly, San Luis Obispo CHASE Workshop, July 2020
  2. Success of software projects depends on communication between the development

    team and the stakeholders ? Educate the Software Engineers
  3. Success of software projects depends on communication between the development

    team and the stakeholders But what if we also educated the (future) stakeholders?
  4. CSC 310 "Computers for Poets" "Software Engineering Without Programming" Winter

    2020 (right before the pandemic) 10 weeks (quarter-long course) 48 students 17 majors
  5. CSC 310: SE without Programming (Alex) CSC 308: Introduction to

    SE I (Bruno) 2 sections (24 students each) General Education Course Open to all non CS/SE/... Required for BS in Software Engineering (SE) SE Majors only (3d year mostly) 1 section (35 students) Taught in concert
  6. CSC 310: SE without Programming CSC 308: Introduction to SE

    I Week 1 Software lifecycle, product vision SE basics, process models Week 2 Architecture of software products Product vision, roadmap Week 3 Stakeholders, Personas, User Stories Stakeholders, Personas, User Stories, Intro do DB I Week 4 UI Prototyping, Storyboards, wireframes UI Prototyping, Storyboards, wireframes, Intro do DB II Week 5 Testing, V&V Requirements Engineering, Software Architecture, Estimation & Planning Week 6 Use Cases Architectural Design, Tools and Workflow for Version Control, Dev Sprint #1 starts Week 7 Data for applications Use Case Spec, UML Design Week 8 Data for applications Quality Attributes and NFR, Dev Sprint #2 starts Week 9 Functional and non-functional reqts UML Design Week 10 Functional and non-functional reqts Final presentations and retrospective
  7. CSC 310: SE without Programming CSC 308: Introduction to SE

    I Week 1 Software lifecycle, product vision SE basics, process models Week 2 Architecture of software products Product vision, roadmap Week 3 Stakeholders, Personas, User Stories Stakeholders, Personas, User Stories, Intro do DB I Week 4 UI Prototyping, Storyboards, wireframes UI Prototyping, Storyboards, wireframes, Intro do DB II Week 5 Testing, V&V Requirements Engineering, Software Architecture, Estimation & Planning Week 6 Use Cases Architectural Design, Tools and Workflow for Version Control, Dev Sprint #1 starts Week 7 Data for applications Use Case Spec, UML Design Week 8 Data for applications Quality Attributes and NFR, Dev Sprint #2 Starts Week 9 Functional and non-functional reqts UML Design Week 10 Functional and non-functional reqts Final presentations and retrospective
  8. CSC 310: SE without Programming CSC 308: Introduction to SE

    I 2 sections (24 students each) General Education Course Open to all non CS/SE/... Required for BS in Software Engineering (SE) SE Majors only (3d year mostly) 1 section (35 students) Taught in concert Shared lecture topics (delivered at appropriate level) Joint quarter-long project Followed agile development lifecycle one (1) "prep" sprint two (2) design/prototype/dev sprints
  9. Projects Psychology On-line diagnosis manual + discussion board (web) Sports

    Cal Poly Varsity Teams schedule + community (web) Outdoors Local Outdoors Community & Trail planner (mobile) Travel Crowdsourced travel planning tool (mobile) Music Jam session organizer for local musicians + fans (mobile) Environment Environmental footprint tracker (mobile) 1. Product Vision 2. Personas 3. User Stories 4. UI Prototype 5. Data Spec 6. Use Cases 7. NFRs Joint Deliverables
  10. Outcomes CSC 310: 48 students, 17 different majors (Business/Econ -

    17, Graphics Comm - 5, Psych/Child Dev - 4, Animal Science - 4, …) Students can write Product vision statements User personas User stories Use cases Non-Functional Requirements Students can communicate data needs assist with UI design understand formal requirements CSC 308 Students engaged positively Worked with real peer customers Continued/completed development in follow-up course
  11. Conclusions We need to teach future stakeholders how to be

    good stakeholders It is feasible It is verifiably impactful, has student buy-in It all but requires collaboration with a real SE course It is challenging but rewarding See you at RE!Next!
  12. In-Concert Project CSC 310 Section 02 CSC 310 Section 01

    CSC 308 CSC 308 CSC 310 Section 01 CSC 310 Section 02 Project Stakeholders Synchronous work