Development Process. Four Factors People –10 to 1 variation in programmer productivity with the same experience Process –Methodology Product –Size Technology.

Slides:



Advertisements
Similar presentations
Software Project Management
Advertisements

Software Project Management.  Leadership  Communications  Problem Solving  Negotiating  Influencing the Organization  Mentoring  Process.
CSE Senior Design I Classic Mistakes Instructor: Mike O’Dell This presentations was derived from the textbook used for this class, McConnell, Steve, Rapid.
CSE Senior Design I Classic Mistakes Instructor: Vassilis Athitsos This presentation was derived from the textbook used for this class, McConnell, Steve,
“Not Fully Specified (Project) Objectives” CS524 – Software Engineering I Azusa Pacific University Professor Dr. Sheldon X. Liang Fall I 2007 Ernie Rosales.
Copyright 2005 Northrop Grumman Corporation Measuring the Benefits of Mature Processes 20th International Forum on COCOMO and Software Cost Modeling 24.
CSE 403 Lecture 8 Risk assessment. Lecture goals Understand risk management and assessment techniques Guarding against failure to meet delivery deadline,
Systems Analysis and Design Kendall & Kendall Sixth Edition
Session 1: Introduction to Project Management
Systems Analysis and Design Kendall and Kendall Fifth Edition
1 Software Project Management Session 1: Introduction, Fundamentals, Classic Mistakes.
CSC 490: Advanced Software Project
Unit 7 University of Sunderland CSEM04 ROSCO Risk & Opportunity Identification: Brainstorming (and Risk Checklists) CSEM04: Risk and Opportunities of Systems.
Unit 4 University of Sunderland COMM80 Risk Assessment of Systems Change Risk Identification: Concept and Generic Techniques COMM80: Risk Assessment of.
CSE Senior Design I Risk Management Instructor: Mike O’Dell This presentations was derived from the textbook used for this class: McConnell, Steve, Rapid.
Introduction to Project Management II March 10 th, 2015.
Dr. Nguyen Hai Quan.  Overview  Classic Mistakes  Project Manager Requirements  Project Management Phases.
Rapid Development (Part 1) Mihail V. Mihaylov RammSoft.
why information systems?
1 CSE 403 Classic Mistakes Reading: Rapid Development Ch3 These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from.
Rapid Development.
CST 316 Process. Junior Project Process Provide necessary points of communication for individual effort. Allow a controllable division of labor. Divide.
NJIT 1 Managing Technical People Ian Sommerville, Software Engineering, Chapter 22 Gerald Weinberg, The Psychology of Computer Programming, and many other.
Lecture 31 Introduction to System Development Life Cycle - Part 2.
1 CSE 403 Introduction Reading: Rapid Development Ch3.3 These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from slides.
10-January-2003cse Context © 2003 University of Washington1 What is a development project? CSE 403, Winter 2003 Software Engineering
CSE 403, Spring 2007, Alverson Software Projects – the challenges we face RD:McConnell.
Large Scale Software Systems Derived from Dr. Fawcett’s Notes Phil Pratt-Szeliga Fall 2010.
Rapid Development Part 2 Mihail V. Mihaylov (Mike Ramm) CEO, RammSoft Mihail V. Mihaylov (Mike Ramm) CEO, RammSoft February.
Decision Support System Development By Dr.S.Sridhar,Ph.D., RACI(Paris),RZFM(Germany),RMR(USA),RIEEEProc. web-site :
Classic Mistakes and Model – View - Controller Trisha Cummings.
It’s All About The People
Lecture 1 Introduction, Fundamentals, Classic Mistakes 1.
1 Construction Chapter Key Concepts Be familiar with the system construction process. Understand different types of tests and when to use Understand.
IT3101- Rapid Application Development. Course Details Lectures – 30 hours Practical - 60 hours.
CSE 490RA Richard Anderson Chris Mason. Course goals For students  Programming experience on Tablet PC  UI and Design experience  Work in team  Develop.
Lecture 19 Rapid Application Development 19.1 COSC4406: Software Engineering.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
© 2007 BigVisible Solutions, Inc. All Rights Reserved Training Solutions Agile Training Game v
IT3101: Rapid Application Development Lec-1. What is Rapid Application Development? Software development process that allows usable systems to be built.
1 Software Project Management Introduction, Fundamentals, Classic Mistakes.
Process Improvement for Software Projects CMMI and Lean Six Sigma USC CSC Nov 2015 Rick Hefner, Ph.D. California Institute of Technology
Introduction to Project management and Principles.
1 Software Project Management Lecture # 3. 2 Today Administrative items Fundamentals Project Management Dimensions Classic Mistakes.
© 2005 Prentice Hall, Decision Support Systems and Intelligent Systems, 7th Edition, Turban, Aronson, and Liang 6-1 Chapter 6 Decision Support System Development.
RAPID APPLICATION DEVELOPMENT باسمه تعالی دانشگاه الزهرا دانشکده علوم اجتماعی واقتصادی استاد : جناب آقای دکتر سلطانی تهیه و تنظیم : ارمغان خلیل زادگان.
Copyright V.C. Storey, M.M. Moore, C. Stucke Introduction to Software Engineering MBA 8120.
1 Team Skill 4 Managing the scope Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and Information Technology Based.
1 Project Management Skills Leadership Communications Problem Solving Negotiating Influencing the Organization Mentoring Process and technical expertise.
HNDIT23073 : Rapid Application Development
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Software Project Management
Managing the Project Lifecycle
Classic Mistakes chapter22
slides created by Marty Stepp
Systems Analysis and Design Kendall and Kendall Fifth Edition
Risk Management - Manage them or they will manage you...
Instructor: Mike O’Dell
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
How to fail at delivering software
why information systems?
Measuring the Benefits of Mature Processes
Systems Analysis and Design Kendall and Kendall Fifth Edition
Instructor: Mike O’Dell
Instructor: Manfred Huber
Systems Analysis and Design Kendall and Kendall Fifth Edition
Chapter 3 Determining Feasibility and Managing Analysis and Design Activities 1.
Presentation transcript:

Development Process

Four Factors People –10 to 1 variation in programmer productivity with the same experience Process –Methodology Product –Size Technology –Higher-level tools Rapid Development, Steve McConnell

Classic Mistakes: People Undermined motivation Weak personnel Uncontrolled problem employees Heroics Adding people to a late project (Mythical Man Month: Fred Brooks) Noisy, crowded offices Friction between developers and customers Unrealistic expectations Lack of effective project sponsorship Lack of stakeholder buy-in Lack of user input Politics over substance Wishful thinking

Classic Mistakes: Process Overly optimistic schedules Insufficient risk management Contractor failure Insufficient planning Abandonment of planning under pressure Wasted time during the fuzzy front end Shortchanged upstream activities—tasks done later cost times more. Inadequate design Shortchanged quality assurance Insufficient management controls Premature or overly frequent convergence Omitting necessary tasks from estimates Planning to catch up later Code-like-hell programming

Classic Mistakes: Product Requirements gold-plating Feature creep Developer gold-plating Management feature blunders Research-oriented development

Classic Mistakes: Technology Silver-bullet syndrome Overestimated savings from new tools or methods Switching tools in the middle of a project Lack of automated source-code control

Requirements Management Top 3 reasons for project failure (Standish Group 1994, survey of 8000 projects)— project over budget and late –Lack of user input –Incomplete requirements –Changing requirements

Design Fundamentals Information hiding Modularity Abstraction Encapsulation Cohesion Coupling Hierarchy Inheritance Polymorphism Basic/standard algorithms Basic data structures

Programming Fundamentals Exception handling Internationalization and localization Portability String storage Data types Input/output Memory management Data storage Database design Performance Reuse

Runaway Projects Survey of 600 firms revealed 35% had at least one runaway projects (Rothfeder 1988) –Allstate in 1982 started a 5-year $8 million project to automate office operations. Six years and $15 million later they re-estimated it at $100 million. –Westpac Banking corporation in 1988 started a 5-year $85 million IT redesign. Three years and $150 million later, they killed the project.

Risk Identification Feature creep Requirements or developer gold-plating Shortchanged quality Overly optimistic schedules Inadequate design Silver-bullet syndrome Research-oriented development Weak personnel Contractor failure Friction between developers and customers Software Risk Management, Boehm 1989; Assessment and Control of Software Risks, Jones 1994

Risk Control Feature Creep –Use customer-oriented practices –Use incremental development practices –Control the feature set Requirements or developer gold-plating –Scrub requirements –Timebox development –Control the feature set –Use staged delivery –Use throwaway prototyping –Design to schedule

Risk Control Shortchanged quality –Allow time for QA activities and follow fundamentals Overly optimistic schedules –Use multiple estimation practices, multiple estimators, and automated estimation tools –Use principled negotiation –Design to schedule –Use incremental development practices

Risk Control Inadequate design –Have an explicit design activity and schedule enough time for design –Have design inspections Silver-bullet syndrome –Be skeptical of productivity claims –Set up a software measurement program –Set up a software tools group

Risk Control Research-oriented development –Don’t try to do research and maximize development speed at the same time –Have a separate research team –Use a risk-oriented lifecycle –Manage risks vigilantly Weak personnel –Hire top talent –Training –Teambuilding

Risk Control Contractor failure –Check references –Assess the contractor’s ability before hiring –Actively manage the relationship Friction between developers and customers –Use customer-oriented practices

Classic Schedule Estimates ActivitySmall Project (2,500 lines) Large Project (500,000 lines) Architecture/design10%30% Detailed design20% Code/debug25%10% Unit test20%5% Integration15%205 System test10%15% Fuzzy front-endUnknown time Requirements specificationVariable, maybe 30%

Project Estimates are Fuzzy Because the project is fuzzy Effort and SizeSchedule PhaseOptimisticPessimisticOptimisticPessimistic Initial product concept Approved product concept Requirements specification Product design specification Detailed design specification Cost Models for Future Software Lice Cycle Processes, Boehm, et. al. 1995