Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCI 521 Software Project Management Agile Project Management.

Similar presentations


Presentation on theme: "CSCI 521 Software Project Management Agile Project Management."— Presentation transcript:

1 CSCI 521 Software Project Management Agile Project Management

2 History February 2001 Representatives from Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, and others sympathetic to the need for an alternative to documentation driven, heavyweight software development processes convened. The Agile movement is not anti-methodology, in fact, many of us want to restore credibility to the word methodology. We want to restore a balance. We embrace modeling, but not in order to file some diagram in a dusty corporate repository. We embrace documentation, but not hundreds of pages of never- maintained and rarely-used tomes. We plan, but recognize the limits of planning in a turbulent environment. Those who would brand proponents of XP or SCRUM or any of the other Agile Methodologies as "hackers" are ignorant of both the methodologies and the original definition of the term hacker. http://www.agilemanifesto.org/history.html

3 Agile Manifesto "We are uncovering better ways of developing software by doing it and helping others do it. Through this work, we have come to value: Individuals & Interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more." Agile Manifesto © 2001

4 Agile Principles 1.Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2.Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3.Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 4.Business people and developers must work together daily throughout the project. 5.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6.The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

5 Agile Principles 7.Working software is the primary measure of progress. 8.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9.Continuous attention to technical excellence and good design enhances agility. 10.Simplicity — the art of maximizing the amount of work not done — is essential. 11.The best architectures, requirements, and designs emerge from self- organizing teams. 12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

6 Agile Project Management For Dummies by Mark C. Layton

7 Agile Artifacts Product vision statement: An elevator pitch to communicate the product goals and how your product supports the company's strategies. Product backlog: The evolving list of requirements, ordered by priority. Product roadmap: Loose time frame for when you will develop those requirements. Release plan: Timetable for the phased release of working software. Sprint backlog: The goal, user stories, and tasks associated with the current sprint. Increment: The working product at the end of each sprint. adapted from Mark Layton

8 The Daily Scrum Each day during a sprint, the team holds a daily scrum with specific guidelines: All members of the development team come prepared. The daily scrum:  starts precisely on time, even if some development team members are missing  should happen at the same time and place every day  is limited to fifteen minutes During the daily scrum each team-member answers three questions: 1.What did I do yesterday that helped the development team meet the sprint goal? 2.What will I do today to help the development team meet the sprint goal? 3.Do I see any impediment that prevents me or the development team from meeting the sprint goal? Any risk or issue identified in the daily scrum should be captured by the Scrum Master and displayed on the team's scrum board, with an agreed person designated to working toward a resolution. No detailed discussions should happen during the daily scrum. https://en.wikipedia.org/wiki/Scrum_(software_development)

9 Agile v. Iterative Iterative - build each piece in phases Agile - each phase builds a different piece Example Project : Inventory Management Sales Reports current inventory sales trends Supply Chain Reports costs and suppliers delivery status

10 Extreme Project Management Extreme Programming is related to Agile, except XP is very specific about the programming process. XP Activities  Coding  done is pairs  use coding to determine a solution  refactor, refactor, refactor  Testing  Unit Test everything. If a little testing can find a few errors, then lots of testing will find most of the errors.  Acceptance Tests insure the programmer understood the customer.  Listening - a customer rep is often on-site  Designing - designs are necessary to insure components match, and to limit rework

11 http://www.extremeprogramming.org/map/code.html

12 XP for Web Development Who is responsible for how a page displays?  interface designer and client-side programmer Who is responsible for how a function works between the server and the user?  interface designer and server-side programmer How does the page pull data from a 3 rd Party app?  interface designer, server-side programmer, client-side programmer, and the client Communication is the key!

13 XP for Web Development Advantages: Web projects use multi-discipline Teams Much of the Testing must be done by eye  lots of Unit Testing Web projects work well with many small releases Customers are a key component of Web Projects blatantly stolen from Chapter One of Extreme Programming for Web Projects by Wallace, Raggett, and Aufgang

14 Release Plan for a Web Project Purpose  guide for the development team  manage expectations of the customer Contents 1)description of the target audience 2)constraints of technology 3)site function and content 4)site map and navigation 5)working titles for sections 6)iterations 7)estimated budget and timeline blatantly stolen from Chapter Four of Extreme Programming for Web Projects by Wallace, Raggett, and Aufgang

15 XP Estimation for Web Projects  Fixed Priced Quotes for the Entire Project  Method:  Analogy  Decomposition / Equations o number of pages * number of queries * how troublesome the customer seems  Pros and Cons: preferred by the customer puts all the risks on the developer  Fixed Priced for Each Iteration okay for most customers based the price of the next phase on the costs of the phase you finished just a few days ago on this same project

16 Next Class Exam Two Exam Two


Download ppt "CSCI 521 Software Project Management Agile Project Management."

Similar presentations


Ads by Google