Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data...
Transcript of Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data...
Main Project Introduction and Agile Teamwork
Mobile-friendly CSS frameworks and introduction to mobile apps
CS 370 SE Practicum, Cengiz Günay
(Some slides courtesy of Eugene Agichtein and the Internets)
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 1 / 8
Agenda
Warm-up project1:
Due midnight today, deliver on DutchLate submissions until midnight Thursday, 1 point penaltyNo more extensions, submit everything � even if not working
Online lecture #08: Responsive webapps and mobile apps
Survey was due todayBut extended to Thursday before class (new survey in class)
Today:
Main project introAgile teamwork
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 2 / 8
Agenda
Warm-up project1:
Due midnight today, deliver on DutchLate submissions until midnight Thursday, 1 point penaltyNo more extensions, submit everything � even if not working
Online lecture #08: Responsive webapps and mobile apps
Survey was due todayBut extended to Thursday before class (new survey in class)
Today:
Main project introAgile teamwork
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 2 / 8
Agenda
Warm-up project1:
Due midnight today, deliver on DutchLate submissions until midnight Thursday, 1 point penaltyNo more extensions, submit everything � even if not working
Online lecture #08: Responsive webapps and mobile apps
Survey was due todayBut extended to Thursday before class (new survey in class)
Today:
Main project introAgile teamwork
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 2 / 8
Project1 Timeline
We (your judges) grade until next week
We select few good projects
Those students make a short demo in class (time TBD)
You vote for best project after class!
Winner(s) get 2 points extra credit
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 4 / 8
Next in line: Main Project
Groups of 3�5 students (correlates with di�culty)
Project ideas must be available by next Tuesday (2/25):
I I will post some existing project ideas
I If you have a well-developed and detailed idea:
F post it on Piazza under main_prjF ideas selected by students will get 1 point extra credit
(subject to approval)
Everyone must select a group and a project by Tuesday 3/4
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 5 / 8
Next in line: Main Project
Groups of 3�5 students (correlates with di�culty)
Project ideas must be available by next Tuesday (2/25):
I I will post some existing project ideasI If you have a well-developed and detailed idea:
F post it on Piazza under main_prjF ideas selected by students will get 1 point extra credit
(subject to approval)
Everyone must select a group and a project by Tuesday 3/4
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 5 / 8
Next in line: Main Project
Groups of 3�5 students (correlates with di�culty)
Project ideas must be available by next Tuesday (2/25):
I I will post some existing project ideasI If you have a well-developed and detailed idea:
F post it on Piazza under main_prjF ideas selected by students will get 1 point extra credit
(subject to approval)
Everyone must select a group and a project by Tuesday 3/4
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 5 / 8
Main Project � 85% of class grade
Teams will use Agile framework with multiple 2-week iterations
Version 0: Mockup UI + Data model
I Non-functional UI is okayI Data model as pseudocode, database schema, or ER diagramI Counts as proposal + design � 15% of gradeI Due on 3/18 (after Spring Break)I Turn in early to get feedback!
Sprints for versions 0.1, 0.2, 0.3: Partially-functional UI features
I Counts as implementation � 50% of gradeI Demos on early April, mid April, and early May
Student contribution to each version will be evaluated on multiplecriteria:
I functionality, unit tests, documentation, version control, and teamcommunication
Dates/grading percentages subject to change. See course website.
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 6 / 8
Main Project � 85% of class grade
Teams will use Agile framework with multiple 2-week iterations
Version 0: Mockup UI + Data model
I Non-functional UI is okayI Data model as pseudocode, database schema, or ER diagramI Counts as proposal + design � 15% of gradeI Due on 3/18 (after Spring Break)I Turn in early to get feedback!
Sprints for versions 0.1, 0.2, 0.3: Partially-functional UI features
I Counts as implementation � 50% of gradeI Demos on early April, mid April, and early May
Student contribution to each version will be evaluated on multiplecriteria:
I functionality, unit tests, documentation, version control, and teamcommunication
Dates/grading percentages subject to change. See course website.
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 6 / 8
Main Project � 85% of class grade
Teams will use Agile framework with multiple 2-week iterations
Version 0: Mockup UI + Data model
I Non-functional UI is okayI Data model as pseudocode, database schema, or ER diagramI Counts as proposal + design � 15% of gradeI Due on 3/18 (after Spring Break)I Turn in early to get feedback!
Sprints for versions 0.1, 0.2, 0.3: Partially-functional UI features
I Counts as implementation � 50% of gradeI Demos on early April, mid April, and early May
Student contribution to each version will be evaluated on multiplecriteria:
I functionality, unit tests, documentation, version control, and teamcommunication
Dates/grading percentages subject to change. See course website.
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 6 / 8
Documentation and Deliverables
Documentation must include:
Deployment/installation instructions
Usage instructions
Known issues (bugs)
Equal credit to each member for all project deliverables
Figure out how to make best use of each person's time
Poor performance by one a�ects all members
Great performance by one improves all members
More time 6= higher grade
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 7 / 8
Documentation and Deliverables
Documentation must include:
Deployment/installation instructions
Usage instructions
Known issues (bugs)
Equal credit to each member for all project deliverables
Figure out how to make best use of each person's time
Poor performance by one a�ects all members
Great performance by one improves all members
More time 6= higher grade
CS 370, Günay (Emory) Project Intro & Agile Teamwork Spring 2014 7 / 8
A bit of software engineering:Process models and Agile
SEPA 7/e: © 2009, Roger Pressman. 2
A Generic Process Model
SEPA 7/e: © 2009, Roger Pressman. 9
The Waterfall Model
Communication Planning
ModelingConstruction
Deployment analysis design code
test
project initiation requirement gathering estimating
scheduling tracking
delivery support feedback
What is wrong with Waterfall?
Waterfall = sequential assembly line
After Industrial Revolution of 1830, the Taylor model separatedmanagement from labour (e.g., Ford Motors)In 1950s Deming proposed to combine ’thinking’ and ’doing’.
Ignored in the US, adopted by Japan.Toyota and Matsushita surpassed American companies
In late 1970s, product development companies like Toyota, Honda,Fujitsu, 3M, HP, Canon, and NEC were all using overlappingproduction phasesIn 1990s, software industry abandoned waterfall-style development
From articles on Lean Development and Intro to Agile.
Günay () Ch 3 Agile Process Fall 2013 2 / 11
What is wrong with Waterfall?
Waterfall = sequential assembly lineAfter Industrial Revolution of 1830, the Taylor model separatedmanagement from labour (e.g., Ford Motors)
In 1950s Deming proposed to combine ’thinking’ and ’doing’.
Ignored in the US, adopted by Japan.Toyota and Matsushita surpassed American companies
In late 1970s, product development companies like Toyota, Honda,Fujitsu, 3M, HP, Canon, and NEC were all using overlappingproduction phasesIn 1990s, software industry abandoned waterfall-style development
From articles on Lean Development and Intro to Agile.
Günay () Ch 3 Agile Process Fall 2013 2 / 11
What is wrong with Waterfall?
Waterfall = sequential assembly lineAfter Industrial Revolution of 1830, the Taylor model separatedmanagement from labour (e.g., Ford Motors)In 1950s Deming proposed to combine ’thinking’ and ’doing’.
Ignored in the US, adopted by Japan.Toyota and Matsushita surpassed American companies
In late 1970s, product development companies like Toyota, Honda,Fujitsu, 3M, HP, Canon, and NEC were all using overlappingproduction phasesIn 1990s, software industry abandoned waterfall-style development
From articles on Lean Development and Intro to Agile.
Günay () Ch 3 Agile Process Fall 2013 2 / 11
What is wrong with Waterfall?
Waterfall = sequential assembly lineAfter Industrial Revolution of 1830, the Taylor model separatedmanagement from labour (e.g., Ford Motors)In 1950s Deming proposed to combine ’thinking’ and ’doing’.
Ignored in the US, adopted by Japan.Toyota and Matsushita surpassed American companies
In late 1970s, product development companies like Toyota, Honda,Fujitsu, 3M, HP, Canon, and NEC were all using overlappingproduction phases
In 1990s, software industry abandoned waterfall-style development
From articles on Lean Development and Intro to Agile.
Günay () Ch 3 Agile Process Fall 2013 2 / 11
What is wrong with Waterfall?
Waterfall = sequential assembly lineAfter Industrial Revolution of 1830, the Taylor model separatedmanagement from labour (e.g., Ford Motors)In 1950s Deming proposed to combine ’thinking’ and ’doing’.
Ignored in the US, adopted by Japan.Toyota and Matsushita surpassed American companies
In late 1970s, product development companies like Toyota, Honda,Fujitsu, 3M, HP, Canon, and NEC were all using overlappingproduction phasesIn 1990s, software industry abandoned waterfall-style development
From articles on Lean Development and Intro to Agile.
Günay () Ch 3 Agile Process Fall 2013 2 / 11
What is wrong with Waterfall?
Waterfall = sequential assembly lineAfter Industrial Revolution of 1830, the Taylor model separatedmanagement from labour (e.g., Ford Motors)In 1950s Deming proposed to combine ’thinking’ and ’doing’.
Ignored in the US, adopted by Japan.Toyota and Matsushita surpassed American companies
In late 1970s, product development companies like Toyota, Honda,Fujitsu, 3M, HP, Canon, and NEC were all using overlappingproduction phasesIn 1990s, software industry abandoned waterfall-style development
From articles on Lean Development and Intro to Agile.
Günay () Ch 3 Agile Process Fall 2013 2 / 11
These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. ! 2!
The Manifesto for Agile Software Development!
These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. ! 3!
What is “Agility”?! Effective (rapid and adaptive) response to
change! Effective communication among all stakeholders! Drawing the customer onto the team! Organizing a team so that it is in control of the
work performed!Yielding …! Rapid, incremental delivery of software!
SEPA 7/e: © 2009, Roger Pressman. 12
Evolutionary Models: Prototyping
Constructionof prototype
Communication
Quick plan
Construction of prototype
Modeling Quick design
Delivery & Feedback
Deployment
communication
Quickplan
ModelingQuick design
Constructionof prototype
Deploymentdelivery &feedback
These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. ! 4!
Agility and the Cost of Change!
These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. ! 5!
An Agile Process! Is driven by customer descriptions of what is
required (scenarios)! Recognizes that plans are short-lived! Develops software iteratively with a heavy
emphasis on construction activities! Delivers multiple ʻsoftware incrementsʼ! Adapts as changes occur!
These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. ! 8!
Human Factors! the process molds to the needs of the people and
team, not the other way around! key traits must exist among the people on an
agile team and the team itself:! Competence.! Common focus.! Collaboration.! Decision-making ability.! Fuzzy problem-solving ability.! Mutual trust and respect.! Self-organization.!
These slides are designed to accompany Software Engineering: A Practitionerʼs Approach, 7/e (McGraw-Hill, 2009) Slides copyright 2009 by Roger Pressman. ! 16!
Scrum! Originally proposed by Schwaber and Beedle! Scrum—distinguishing features!
Development work is partitioned into “packets”! Testing and documentation are on-going as the
product is constructed! Work occurs in “sprints” and is derived from a
“backlog” of existing requirements! Meetings are very short and sometimes conducted
without chairs! “demos” are delivered to the customer with the time-
box allocated!
What is Scrum?
In 1993 Jeff Sutherland borrowed term “scrum” from Takeuchi andNonaka, “The New New Product Development Game” HarvardBusiness Review, 1986.Takeuchi and Nonaka compare high-performing, cross-functionalteams to the scrum formation used by Rugby teams.
What is Scrum?
In rugby, scrum is the power struggle between two teams to advanceon the field.It requires complete teamwork, hard work, and strength. Thatmeaning translates to software development.
Also see original article, Scrum Alliance.
Some Agile Statistics
State of Agile Survey 2012 (local copy), VersionOne:84% of developers use Agile69% companies use Agile at least in 25% of projects
Günay () Ch 3 Agile Process Fall 2013 11 / 11
Choose your Agile flavors
Agile Dev Survey
Agile Methods & Practices
AGILE METHODOLOGY USED S~r-um o~ S~~UI'YI vo..~lo..>'\t-S (7).,%) o..~e. S t-~1 t-he.
most- 'f>O'f>ul"'~ o..31ie. me.t-hoblo31e.s 'oe.l>'\3 use.A. l\o..>'l'oo..>'\ "'"'A l\o..>'l'o"'->'1 v~lo..>'\t-S >'\e.~lj bu'old
t-his je."'~• most-lj Aue. t-o "'"' u'f>t-ld\. 1>'1 ~~UI'YI'o"'"' use..
AGILE TECHNIQUES EMPLOYED A3o..l>'\ t-his - ~e.o..~, ~o~e. o..3~e. t-e.>'\e. t-s ~~~e.>'\t-lj 1>'1 use. o..~e.* bo..~j St-o..>'\Au'f>1 lt-e.~o.. t-lo>'\ "Pio..>'\>'\1>'\3 "'"'d. lJ>'\It- T e.s t-1>'\3. The. t-wo t-e.~h"'l9ue.s t-ho.. t- 3~e.w t-he. most- I >'I uso..3e.
~~om t-his je."'~ t-o lo..st- je."'~ we.~e. 1\o.."''o"'"' "'"'A 'R.e.t-~OS'f>e.~t-lve.s; je.t-1 o..3~e. t-e.~h>'ll9ue.s 1>'\~~e.o..sd 1>'1 e.v~j o..~e.o.. 'out- O>'\e. (C..o>'\t-1>'\uous be.'f>lojme.>'\t-).
~"-sj>e.,d_.,_...,-rs W"-t-"- o-bi"- "1-c s..J.,_._ "1- mul-r;j>le. cj>-1-;c...,s.
"' Daily Standup
'o Iteration Planning
~ Unit Testing
A Retrospectives
e. Release Planning
~ Burndown/ Team-Based Estimation
3 Velocity
h Coding Standards
Continuous Integration
J Automated Builds
K Dedicated Product Owner
Integ rated Dev /QA
m Refactoring
VERSION ONE" Agile Made Easier
"' Open Workarea
o TDD
'f> Digital Taskboard
9 Story Mapping
~ Kanban
s Collective Code Ownership
t- Pair Programming
u Automated Acceptance Testing
v Analog Taskboard
w Continuous Deployment
>< Agile Games
j Cycle Time
z._ BDD
'o
0
~
u
v
w
7th ANNUAL STATE of
AGILE
___./ -::--
J 85%"' 7 8% ;}_0\1
5%"' 7'1.% ;}_0\1
~"' 70% ;}_0\1
17 17-
%if' h't% )_Oil 172 .169% if' hS% )_Oil
167%"' h7% ;}_0\1
= = J 58%1' s J_% )_Oil
157%1' Sl% )_Oil
1§6x,'f' S't %)_Oil
%)_Oil I 55%1' ss'
t 51% 149%
- 14& 143%1' 58% )_Oil
J' 40%"' 58% ;}_0\1
I 39% if' s)_% )_Oil
~ 13&£,1' ss% )_Oil
-1 32%"' )_ 't% ;}_0\1
• 32%"' J_8% )_Oil
J30>A. 127%1' J_S% )_Oil
124%1' )_)_% ;}_0\1
) 23%® ~ 17%1' IS% ;}_0\1
b 13%1' \;}_% )_Oil
tJ 10x, if' 9% )_Oil
VERSIONONE.COM © 2013, VersionOne, Inc. All Rights Reserved 5
Estimation & Planning
User Stories are the central focus for developersEach User Story should imply an acceptance testComplexity is estimated in Story Points
Arbitrary measure of relative complexity We use modified Fibonacci Sequence (0, 1, 2, 3, 5, 8, 13, 21) Estimates are collaborative to uncover assumptions Based on Staffing we estimate how many Story Points we can
accomplish in a 2 week Iteration (Velocity)
Iterations & The Iteration Board
Iterations focus on immediate goals in a releaseIdentify the most critical work over next 2 weeksSet expectations on what we’ll be trying to
accomplishAre a means to monitor the progress of development
and adjust planning if neededDaily 10 min Stand-Ups keep Everyone In the LoopSignificant difference in how we use iterations here
Discipline In The Process
Version Control (Git/Subversion) is a MUSTBranching and Tagging of ReleasesUnit Testing Absolutely VitalCommunication & Released Software
Daily Stand-Ups Code needs to be frequently Deployed and Hand’s On Design Globally, Code Locally Acceptance Testing is important
Fact/FallacyTidbit
• Fact6Newtools&techniquescauseanini1allossofproduc1vityand/orquality
• Discussion– OperaHonalchangesmadetodayforimprovedproducHvitytomorrow– LearningcurvecausesproducHvity/qualitylossunHltoolortechniqueisfully
mastered– Thisgapposesdilemma:
• Timingofthechange(whencanwedothis?);• EvaluaHngexpectedbenefits;• Costtomakethechange;• DuraHonoflearningcurve(proporHonaltobenefit);• CollecHngmetricstoevaluatedecision(oncefullyadopted)
– Realbenefittypicallybetween5%and35%(seeFact5,nextlecture)
FromRobertGlass,“Facts&FallaciesofSoCwareEngineering”
CS‐584/Fall2009/EmoryU 3