Software projects can be managed in terms of 4 variables ● Time ● Scope ● Resources ● Quality.

Slides:



Advertisements
Similar presentations
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
Advertisements

Chapter: 3 Agile Development
Prescriptive Process models
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Software Development Methodologies 1. A methodology is: A collection of procedures, techniques, principles, and tools that help developers build a computer.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
Agile Development.
NAUG NAUG Knowledge Evening – th February 2007.
Agile development By Sam Chamberlain. First a bit of history..
Project Management Techniques.
Introduction to XP “When the tests all run, you’re done”
Chapter 1 Introducing the Economic Way of Thinking
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
Transitioning to XP or The Fanciful Opinions of Don Wells.
RACELL BUSINESS SEMINAR. LEARN ABOUT COMPUTERS  How to use excel  Different programs  How to improve your income  Be up to date on TECHNOLOGY  How.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Algorithm Programming Coding Advices Bar-Ilan University תשס " ו by Moshe Fresko.
Managing a Project Using an Agile Approach and the PMBOK® Guide
CS3500 Software Engineering Agile Software Development (1) Agile software development, proposed in 2001 by the non-profit Agile Alliance, has four basic.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Introduction to Monte-carlo Analysis for software development
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Extreme Programming: Introduced Matthew Heusser Excelon Development – xndev.com - Presented to CS 611 at GVSU, 4/6/2005.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Extreme Programming Sylvain Giroux October 3 rd, 2000.
Can Autonomic Management Systems be Trusted? A Perspective from Business-Driven IT Management Jacques Sauvé - UFCG LANOMS 2007 Panel.
5. Planning.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Welcome to TERM TERM What?Why?How?. What is T.E.R.M. ? T echnology E nhanced Redesign of M athematics.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
Extreme Programming David Li CTO, DigitalSesame. Problem in Developing Software The Basic Problem - Risk –Schedule slips –Project canceled –System goes.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
3/5/2009Computer systems1 Agile Modeling and Prototyping Prototyping Agile Modeling a collection of innovative, user-centered approaches to systems development.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
Chapter 6 Prototyping, RAD, and Extreme Programming Systems Analysis and Design Kendall & Kendall Sixth Edition.
SOFTWARE ENGINEERING MCS-2 LECTURE # 4. PROTOTYPING PROCESS MODEL  A prototype is an early sample, model or release of a product built to test a concept.
CS3100 Software Project Management Agile Approaches.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
#11 Variables, Controls, Constants and Graphing Variables.
Strategy to Action: The Power of HSD Session 2: HSD and Project Management September 10, 2008 Glenda H. Eoyang, Ph.D.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
UHCS 2005, slide 1 About Continuous Integration. UHCS 2005, slide 2 Why do you write Unit Test ? Improve quality/robustness of your code Quick feedback.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Ahmed Hassan Ghulam Murtaza Umar Farooq M Mannan Razzaq BSEF08A011 BSEF08A031 BSEF08A034 BSEF08A050.
CSE Senior Design II Timebox Development Mike O’Dell Based on an earlier presentation by Bill Farrior, UTA, modified by Mike O’Dell.
44222: Information Systems Development
Timebox Development Mike O’Dell Based on an earlier presentation by
Production Chapter 5.3. Warm-Up “Two’s company, but three’s a crowd.” What does this saying mean? How have you seen it apply to your own life?
SCIENTIFIC METHOD. 1)Ask a Question 2)Conduct Research 3)Create a Hypothesis 4)Design an Experiment.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Project Management Software development models & methodologies
What do you need to know about XP?
How to Successfully Implement an Agile Project
Sylvain Giroux October 3rd, 2000
Extreme Programming.
Presentation transcript:

Software projects can be managed in terms of 4 variables ● Time ● Scope ● Resources ● Quality

Example: Water filtration plant on a space station The plant has a control panel with four dials, labeled Time, Scope, Resources, and Quality

The Time dial Adjusts the amount of time spent filtering water (available time for you to spend on researching, writing code, writing a paper, etc.) The Time dial is a limiting factor. If the other dials remain constant, running the plant for a week will produce a greater amount of quality water than running the plant for only a day.

The Resources dial Changes the amount of equipment used to filter the water. (How much guidance can you find to assist you in your project. Algorithms, mentorship, books for resource, software examples, etc.) This is dial is also a limiting factor. If the other dials remain constant, running the plant with ten filters produces more quality water than only one filter.

The Scope dial Adjusts the amount of good water the plant will produce. This is an enabling factor. If half the filters are down, the scope must be reduced by half capacity unless time is increased or quality is decreased. If the scope is increased, time or resources must increase or quality must decrease.

The Quality dial A more complex dial. Few projects ever decrease quality directly. Increasing scope without increasing time or resources, or reducing time or resources without decreasing scope tends to decrease quality indirectly. Increased pressures on time or resources eventually force quality downward. Increasing quality (you have an inspired day of programming) can decrease pressure on time or resources.

Tendency to increase scope Many projects concentrate on time and resources, assuming the quality will stay fixed. If scope ever changes, it's usually increased. But time and resources are often reduced, or at best are kept constant. The only remaining adjustment point – quality – slips downward.

Strategy ● Agree on an acceptable level of quality ● Agree that time and resources are fixed ● The only remaining question is that of scope. ● What will be delivered, and when? ● The software will always be kept in a releaseable state ● Adjust scope regularly

Values ● Communication – Honest, regular communication allows you to adjust to change ● Frequent feedback – Asking questions, learning from the answers ● Simplicity – Build only the system that needs to be built. Solve only today's problems today. Complexity costs a lot and predicting the future is hard.

“Courage” ● Courage – Making the hard decisions when necessary – If a feature isn't working, fix it – If some code isn't good enough, improve it – If you're not going to deliver everything you promised on schedule, communicate this – Decide what you can deliver and do it

Assuming sufficiency ● Given sufficient time and resources, how would you develop software? ● Rather than scrambling to meet an impossible deadline, work at your normal pace ● The amount of work you can do is constant – the question is which work to do ● Adjust scope to fit the schedule to the available time

For October 1 ● Draft of Project Proposal ● Decide on a prototype code that is “releaseable” ● “Iteration 1” ● Communicate, review your progress with the class