roles

29
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors

Upload: jatin

Post on 24-Feb-2016

19 views

Category:

Documents


0 download

DESCRIPTION

Roles. Managers Technical Team Leaders Programmers Customers Database Administrators Instructors. Resumes – please email before Friday at 8am. Everyone needs to submit an informal resume List of CS courses taken Expected graduation date Interested in leadership position (yes/no) - PowerPoint PPT Presentation

TRANSCRIPT

Slide 1

RolesManagersTechnical Team LeadersProgrammersCustomersDatabase AdministratorsInstructors1Resumes please email before Friday at 8am.Everyone needs to submit an informal resumeList of CS courses takenExpected graduation dateInterested in leadership position (yes/no)Interested in being a manager (yes/no)Programming skills:LanguagesWindows ProgrammingNetworksDatabases2 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 evaluations3Team 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 teamWrite performance evaluations4 ProgrammersRepresent Development in the Planning GameDesignWrite Program CodeWrite TestRefactorWrite performance evaluations5CustomersMe

6Virtual Companies (Teams)Team 1Team 2Team 3Team 4Adam LAdam N (M)David (M)BernardAshley (T)Derick (T)K.J. (T)DeniseRachelEvanMikeKara (T)Sarah (M)Matt WayneKirk (M)Mikey(M) ManagerTechnical Lead* All assignments are subject to change.7What Latitude to do we have as a team?Can we give our team a new name? (Yes, please do. But use good taste.)Can we work on another project? (maybe)Can we switch team members? (maybe)Can teams cooperate? (probably, but get approval from the instructor first.)Can we write a web application? (no)Can we write in something other than C++? (no)Can we use a different software development process? (no)Make specific proposals. I will consider anything, but I reserve the right to say no.8Software Development Extreme ProgrammingRelatively new software development processVery clearly defined roles for the development team (Development) and the management team (Business)Extreme Programming Explained Embrace ChangeKent Beck, 2000, 2005An incremental software development processOne of a family of agile development processesLess formal specification and design9Frequent 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 stages10IterationsReleases 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 week11The Planning GameBusiness and Development play the planning game to determine what to do next.12 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. 13Stories on Index CardsStories are written on index cardsjust enough to remember what they are. We dont want lots of details.14Index 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 helpful15Stories are dynamic.rewrittenbroken up into smaller stories if they are too largecombined with other stories if they are too small.discarded16Three Phases of Planning GamePhases are cyclical - you will move back and forth between the phases during the course of the game.ExplorationDetermine what new things the system might do.Commitment Decide what subset of all possible requirements to purse nextSteeringUpdate the plan based on what Business and Development learn17Exploration Determine what new things the system might do. MovesWrite a story (Business)Estimate a story (Development)Split a story18CommitmentDecide what subset of all possible requirements to purse next.Moves Business Sorts by ValueThree pilesEssential Significant business valueNice to haveDevelopment Sorts by RiskThree pilesCost estimates can be preciseCost estimates can be reasonably preciseCost estimates cannot be precise19Commitment Moves (continued)Set VelocityDevelopment tells Business how fast the team can work.

Choose ScopeBusiness chooses the set of cards that will be included in the release20SteeringUpdate the plan based on what Business and Development learnSteering Moves: IterationBusiness 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.21Steering Moves (continued) New StoryIf 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 re-estimate all of the remaining stories and set velocity again. 22Steering Moves (continued) VelocityThe 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.23Iteration Planning24Players are just the programmersNo managementStories are broken in tasks Tasks are recorded on index cardsProgrammers accept responsibility for tasksProgrammers estimate the time required for each task (perfect programming days/hours) Programmers test and implement tasks using pair programming

The Iteration Planning Game25Exploration PhaseWrite a taskSplit/combine a taskIteration Planning Phases26Commitment PhaseAccept a taskProgrammer volunteers to accept responsibility for a taskEstimate a taskThe programmer who has accepted responsibility for a task estimates the time required to complete it (usually in perfect days or perfect programming hours)Set load factorsWhat percentage of the available time will you work on your tasks?BalancingDetermine how well the available time matches the estimated task time for each individual redistribute as necessaryIteration Planning Phases27Steering PhaseImplement a taskUse pair programmingUse test-driven developmentRecord ProgressKeep track how much time has been spent on each taskRecoveryReduce task scope of task/storyRemove non-essential tasksGet more/better helpAsk customer to defer some stories

Iteration Planning Phases28StoriesA sprite is placed on the screen (one point)Create a sprite path (four points)A sprite walks a path (four points)A user places a tower (two points)A player purchases a tower and places it on the screen (one point)A tower destroys a sprite (one point)