Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme."— Presentation transcript:

1 Management 421 Computer Science 350

2 Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme Programming Planning Game Questions/Answers Team meeting

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

4 What resources do we have? 24 Students in CS 350 Programmers/Team Leaders 9 Students in MGMT 421 Management Teams 100 Students at Vietnam National University, Hanoi User Interface Designers Software Designers 2 Instructors Access to college advisors and administrators (customers)

5 Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors

6 Managers Provide direction What are we going to do? Based on customer/market needs Manage personnel Keep the team productive Represent Business in the Planning Game Work with customers to determine needs Write performance evaluations

7 Team Leaders Provide technical leadership Principal Advisor to management Provides technical assistance to team members Makes important design decisions Represent Development in the Planning Game along with the rest of the development team Write performance evaluations

8 Programmers Represent Development in the Planning Game Design Write Program Code Write Test Refactor Write performance evaluations

9 Customers Faculty Advisors Registrar’s Office Academic Advising Students

10 Database Administrator Provide tools/methods to access mock college database Generate mock college database Complete list of this year’s courses/times/dates Fake student files Brian Hudson (cs350/ITR)

11 Instructors Available consultants Technical Issues Management Issues Upper management We determine and change the rules Everyone works for us

12 Software Development Extreme Programming Relatively new software development process Very 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 process One of a family of “agile” development processes Less formal specification and design

13 Frequent Releases A release is software that is delivered to the customer In extreme programming (XP), releases are made frequently Releases 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

14 Iterations Releases 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

15 The Planning Game Business and Development play the planning game to determine what to do next.

16 Stories Each 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.”

17 Stories on Index Cards Stories are written on index cards just enough to remember what they are. We don’t want lots of details.

18 Index card contents name of the story date brief description of story number of "points" the story requires (cost) estimates are not in hours, they are in points that have a consistent value Notes Anything helpful

19 Stories are dynamic. rewritten broken up into smaller stories if they are too large combined with other stories if they are too small. discarded

20 Three Phases of Planning Game Phases 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

21 Exploration Determine what new things the system might do. Moves Write a story (Business) Estimate a story (Development) Split a story

22 Commitment Decide 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

23 Commitment Moves (continued) Set Velocity Development tells Business how fast the team can work. Choose Scope Business chooses the set of cards that will be included in the release

24 Steering Update the plan based on what Business and Development learn Steering 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.

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

26 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 Planning Given velocity, Business gets good estimates of the cost of features Managers use both cost and priority to schedule the development sequence of features.

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

28 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 Martin Chapter 15, Kent Beck Meet with your teams Arrange for team meetings ASAP Start 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)


Download ppt "Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme."

Similar presentations


Ads by Google