Upload
lamtuyen
View
221
Download
3
Embed Size (px)
Citation preview
Scrum and agile projects
EEE 2015 Dr. James Atlas
Me
Learning Advantage (aka you don't teach CISC275/475 so how is this useful?)
l checkpointed learning
l clear tracking mechanisms for individual contributions to group
l peer teaching/learning
l built-‐in time management
l early failure detection with means for intervention
Today
l [5 min] Overview, Course Details
l [15 min] Projects and User Stories
l [10 min] Agile Methods Scrum video
l [10 min] First scrum meeting
l [10 min] Scrum cycles, roles, and deliverables
Course Overview
l CISC275 l sections are 40 undergraduate computer science students
l majors and minors, typically late sophomore/early junior l PBL class 2x75 minutes and one 60 minute lab
l Our students develop fully functioning software products in teams of 5-‐6 l This past semester the teams produced educational training
games for incoming UD students [demo]
Course Details
l I'll spare the boring details, if you are interested please ask
l Emphasis l Advanced Java programming techniques
l Specific software toolkits, APIs used in industrial practice
l Communication (both written and oral)
l Teamwork (including production of non-‐program artifacts, time management, repositories)
l Prototyping (both individual -‐> team and team release iterations)
l 20+ gradable artifacts, 4 feedback cycles for teams
Projects
l Pick a course you are teaching this Spring and think about your preparations for that course
User Stories
"As a [end user role], I want [the desire] so that [the rationale]"
l Small bite sized user stories l what a system does from a user perspective l not a technical perspective
l A user cares if a product is l fast l easy to use l solves their problem
l A user does not care if it follows a 3-‐tier architecture, has Mongo DB or if it uses Rails or Asp.net
User story / storyboarding resources
In groups of 3-‐4, answer: Why are storyboards useful?
l http://www.storyboardthat.com/articles/software-‐development/agile-‐user-‐stories
Your course you are teaching
l As a [Student], I want [the desire] so that [the rationale]
l Make a 3 panel story board of the student's User Story on paper or on storyboardthat.com
Agile Methods, Scrum
l Any project can be managed using agile techniques l Scrum is one agile method (codified group of techniques)
l All agile methods emphasize l short idea/implementation/feedback cycles
l communication between stakeholder and team
l working/usable artifacts at the end of each cycle
l https://www.youtube.com/watch?v=XU0llRltyFM
Let's have our first Scrum meeting
l groups of 3-‐4, pick a Scrum master
l "project": pick a course you are teaching this Spring and think about your preparations for that course
l SCRUM l What did you do yesterday? l What are you doing today?
l Do you have any road blocks?
A Scrum Cycle
l We used 2 week cycles (4 total)
l [ScrumProcessManagement.docx]
"Details"
l Deliverables from Students l team written reports, including conflict resolution policy, SCRUM cycle reports, project
vision, project closure l software product artifacts, including code, UML diagrams, requirements specifications
l How will you assess? l completion of artifacts l peer feedback l professor-‐student, TA-‐student interviews l individual exams
l Skills Students Need l communication l time management l repository + tool to access (such as GitHub) l [for software] Java programming, UML diagramming
Conclusions
l Benefits l checkpointed learning l clear tracking mechanisms for individual contributions to group l peer teaching/learning l built-‐in time management l early failure detection with means for intervention
l Drawbacks l Requires someone (in my case a quality TA) to read and assess
artifacts for completeness. Since multiple artifacts are submitted by groups every week, this can be time consuming.
l Requires familiarity with a repository tool. GitHub is great and can be used for non-‐software products, but is tailored to software products.