Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data...

41

Transcript of Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data...

Page 1: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 2: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 3: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 4: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 6: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 7: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 8: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 9: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 10: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 11: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 12: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 13: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 14: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 15: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

A bit of software engineering:Process models and Agile

Page 16: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

SEPA 7/e: © 2009, Roger Pressman. 2

A Generic Process Model

Page 17: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 18: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 19: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 20: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 21: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 22: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 23: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 24: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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!

Page 25: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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!

Page 26: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 27: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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!

Page 28: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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!

Page 29: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,
Page 30: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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.!

Page 31: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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!

Page 32: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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.

Page 33: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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.

Page 34: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,
Page 35: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 36: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

Choose your Agile flavors

Page 37: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 38: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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)

Page 39: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 40: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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

Page 41: Main Project Introduction and Agile eamwTorkcengiz/CS370-pract-softeng...Version 0: Mockup UI + Data model I Non-functional UI is okay I Data model as pseudocode, database schema,

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