Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme...

28
Welcome! Management 421 Computer Science 350
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    215
  • download

    0

Transcript of Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme...

Page 1: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Welcome!Management 421

Computer Science 350

Page 2: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

OverviewProjectRolesSoftware Development Process

Extreme ProgrammingManagement/Developer Interaction in

Extreme ProgrammingPlanning Game

Questions/AnswersTeam meeting

Page 3: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

What is the project?Course Scheduling System

Solve problems associated with generating student schedules. For example,

Provide online registration Given a list of classes and a set of constraints,

generate a schedule Given a student name, determine what classes the

student needs to fulfill degree requirements Prevent students from registering for classes for

which they lack the prerequisite All of the above, or none of the above.

Page 4: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

What resources do we have?24 Students in CS 350

Programmers/Team Leaders9 Students in MGMT 421

Management Teams100 Students at Vietnam National University,

HanoiUser Interface DesignersSoftware Designers

2 InstructorsAccess to college advisors and administrators

(customers)

Page 5: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

RolesManagersTechnical Team LeadersProgrammersCustomersDatabase AdministratorsInstructors

Page 6: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

ManagersProvide directionWhat are we going to do?Based on customer/market needsManage personnelKeep the team productiveRepresent Business in the Planning GameWork with customers to determine needsWrite performance evaluations

Page 7: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Team LeadersProvide technical leadershipPrincipal Advisor to managementProvides technical assistance to team

membersMakes important design decisionsRepresent Development in the Planning

Game along with the rest of the development team

Write performance evaluations

Page 8: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

ProgrammersRepresent Development in the Planning GameDesignWrite Program CodeWrite TestRefactorWrite performance evaluations

Page 9: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

CustomersFaculty AdvisorsRegistrar’s OfficeAcademic AdvisingStudents

Page 10: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Database AdministratorProvide tools/methods to access mock college

databaseGenerate mock college database

Complete list of this year’s courses/times/datesFake student files

Brian Hudson (cs350/ITR)

Page 11: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

InstructorsAvailable consultants

Technical IssuesManagement Issues

Upper managementWe determine and change the rulesEveryone works for us

Page 12: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Software Development Extreme Programming

Relatively new software development processVery clearly defined roles for the development

team (Development) and the management team (Business)

Extreme Programming Explained – Embrace Change Kent Beck, 2000

An incremental software development processOne of a family of “agile” development

processesLess formal specification and design

Page 13: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Frequent ReleasesA release is software that is delivered to the

customerIn extreme programming (XP), releases are

made frequentlyReleases consist of working code, but they are

usually snapshots of works in progress.Releases allow the customer to see how the

system is developing and react to problems at early stages

Page 14: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

IterationsReleases are generally the result of a set of

iterations.Most of the planning in XP happens between

iterations.Releases are short, so iterations are even

shorter. As often as one per week

Page 15: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

The Planning GameBusiness and Development play the planning

game to determine what to do next.

Page 16: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

StoriesEach system feature is broken down to 1 or

more user "stories.”e. g., “a student drops a course,” “a use logs

in,” “the system is asked to find a specific course that fits in a given schedule.”

Page 17: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Stories on Index CardsStories are written on index cards

just enough to remember what they are. We don’t want lots of details.

Page 18: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Index card contentsname of the storydatebrief description of storynumber of "points" the story requires (cost)

estimates are not in hours, they are in points that have a consistent value

NotesAnything helpful

Page 19: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Stories are dynamic.rewrittenbroken up into smaller stories if they are too

largecombined with other stories if they are too

small.discarded

Page 20: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Three Phases of Planning GamePhases are cyclical - you will move back and

forth between the phases during the course of the game.Exploration

Determine what new things the system might do.Commitment

Decide what subset of all possible requirements to purse next

Steering Update the plan based on what Business and

Development learn

Page 21: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Exploration Determine what new things the system might

do. Moves

Write a story (Business) Estimate a story (Development) Split a story

Page 22: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

CommitmentDecide what subset of all possible requirements

to purse next.Moves

Business Sorts by Value Three piles

Essential Significant business value Nice to have

Development Sorts by Risk Three piles

Cost estimates can be precise Cost estimates can be reasonably precise Cost estimates cannot be precise

Page 23: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Commitment Moves (continued)Set Velocity

Development tells Business how fast the team can work.

Choose ScopeBusiness chooses the set of cards that will be

included in the release

Page 24: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

SteeringUpdate the plan based on what Business and

Development learnSteering Moves:

Iteration Business picks one iteration worth of the most

valuable stories to be implemented. Recovery

If Development realizes that it has overestimated its velocity, it can ask Business to specify a smaller subset of the current stories.

Page 25: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Steering Moves (continued) New Story

If Business realizes it needs a new story, Business removes stories with equivalent estimates and inserts the new story.

Reestimate If Development feels that the plan no longer

provides an accurate map of development, it can reestimate all of the remaining stories and set velocity again.

Page 26: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

Steering Moves (continued) Velocity

The number of story points we complete each iteration is our "velocity."

Our next iteration will use our current velocity for determining the number of points we can commit to for the next iteration.

Release PlanningGiven velocity, Business gets good estimates of

the cost of featuresManagers use both cost and priority to schedule

the development sequence of features.

Page 27: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

What Latitude to do we have as a team?Can we work on another project?Can we switch team members?Can teams cooperate?Can we write a web application?Can we use a different software development

process?

Make specific proposals.

Page 28: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.

What we are going to do now?Meet with the customer

Tomorrow 11:30 – 12:45 (Schewel 208)Learn more about the Planning Game

Friday 2:00-2:50 ( Hobbs 115)Chapter 3, Martin and MartinChapter 15, Kent Beck

Meet with your teamsArrange for team meetings ASAPStart playing the planning game

Determine what and when the first release will be (2-3 weeks)

Determine what the first iteration will be (1 week)