1 / 28

Welcome!

Welcome!. Management 421 Computer Science 350. Overview. Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme Programming Planning Game Questions/Answers Team meeting. What is the project?. Course Scheduling System

brie
Télécharger la présentation

Welcome!

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Welcome! 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 mostvaluable 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 newstory. • 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)

More Related