management 421 computer science 350. overview project roles software development process extreme...
Post on 21-Dec-2015
215 views
TRANSCRIPT
![Page 1: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/2.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/3.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/4.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/5.jpg)
RolesManagersTechnical Team LeadersProgrammersCustomersDatabase AdministratorsInstructors
![Page 6: Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/6.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/8.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/10.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/11.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/12.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/14.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/15.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/16.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/17.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/18.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/19.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/20.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/21.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/22.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/23.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/25.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/26.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/27.jpg)
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](https://reader031.vdocuments.us/reader031/viewer/2022032704/56649d595503460f94a390f4/html5/thumbnails/28.jpg)
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)