“Not Fully Specified (Project) Objectives” CS524 – Software Engineering I Azusa Pacific University Professor Dr. Sheldon X. Liang Fall I 2007 Ernie Rosales
References: Object –Oriented Classical Software Engineering Chapter 10.4 & – Stephen Schach Software Runaways, Pages & 208 -Glass Please Understand Me – David Keirsey Project Management Institute – Perot Systems No Silver Bullet By Fred Brooks “Not Fully Specified (Project) Objectives!!”
Merriam Webster Collegiate Dictionary defines Objective as: The goal or end of an effort or activity Something toward which effort is directed An aim, goal, or end action A strategic position to be attained “Not Fully Specified (Project) Objectives!!”
What is a Project “A temporary endeavor undertaken to Create a unique product or service” “A project is a problem scheduled for solution” … Juran
What constitutes a Successful Project Objective? What constitutes a Successful Project Objective? Ernie’s = one has to “dynamically adapt” to the project using “hybrids” of the following, User Involvements Clear Vision Hard work Management Support Skills Techniques Tools Knowledge Clear Requirements Clear Specifications Time Resources and Others…
What is Project Management? Project Management is the application of: Knowledge Skills Tools Techniques
The “Triple Constraint” The Project Team must understand the “Triple Constraint” relationship between Scope, Time and Resources. This produces “Quality”.
Software Cycle vs Project Management Cycle Software Cycle (Waterfall) Requirement Phase Analysis (Specification) Phase Design Phase Implementation Phase Post Delivery Maintenance Phase Retirement Phase Project Management Cycle Initiation Planning Execution Shutdown
Poor Track Record of IT Projects (Standish Group) US Companies spent $250 billion on about 175,000 IT development projects in % - Completed on-time, with-in budget, with all features & functions initially specified. 52.7% - Over budget, over schedule: Cost 189% of original estimates. 31.1% - Projects cancelled.
Standish Group – Chaos Study Challenged – 53% 1. Lack of User Input12.8% 2. Incomplete requirements/specs12.3% 3. Changing requirements/specs11.8% 4. Lack of Executive Support7.5% 5. Technology Incompetence7.0% 6. Lack of Resources6.4% 7. Unrealistic Expectations5.9% 8. Unclear Objectives5.3% 9. Unrealistic Timeframes4.3% 10.New Technology3.7% Failed – 31% 1. Incomplete requirements/specs13.1% 2. Lack of User Involvement12.4% 3. Lack of Resources 10.6% 4. Unrealistic Expectation9.9% 5. Lack of Executive Support9.3% 6. Changing Requirements8.7% 7. Lack of Planning8.1% 8. Didn’t need it any longer7.5% 9. Lack of IT Management6.2% 10.Technology illiteracy4.3% Succeeded – 16% 1. User Involvement15.9% 2. Exec. Management Support13.9% 3. Clear statement of requirements 13.0% 4. Proper Planning9.6% 5. Realistic Expectation8.2% 6. Smaller Project Milestones7.7% 7. Competent staff7.2% 8. Ownership5.3% 9. Clear vision & objectives2.9% 10.Hard working, focused teams2.4%
“When everything has been seen to work, all integrated, you have four more months of work to do.” C. Portman “How does a project get to be a year late?… One day at time.”F. Brooks “There are bugs and then there are bugs. and then there are bugs” Karl “To think is human, to compute, divine” any programmer “No Silver Bullet” !!
Complexity Complexities encountered in system work are symptoms of organizational malfunctions. Much of the complexity in a software construct is, however not due to the conformity to the external world but rather to the implementation itself. Yesterday’s complexity is tomorrow’s order
Harel’s Analysis Biting the Silver Bullet Reads “NSB” as pessimistic, But if you view these facts from a new perspective, a more optimistic conclusion emerges. “Skepticism is not pessimism.” “There is no royal road, but there is a road.”
Jone’s Point Productivity Follows Quality Focus on quality and productivity will follow. Costly and late projects invest most of the extra work and time in finding and repairing errors in specification, in design and implementation.
Productivity Buy ; don’t build (packaged Software) Power tools for the mind - shrink wrap software. Reuse Object oriented programming - modularity. Productivity numbers are hard to define.
Laws of Computer Programming 1. Any given program, when running, is obsolete. 2. Any given program costs more and takes longer. 3. If a program is useful, it will have to changed. 4. If a program is useless, it will have to be documented. 5. Any given program will expand to fill all available memory. 6. The value of a program is proportional to the weight of its output. 7. Program complexity grows until it exceeds the capability of the programmer who must maintain it. 8. Make it possible for programmers to write programs in English, and you will find that programmers cannot write in English.
Lesson Learned Every Project is different – No Silver Bullet Be creative, use Hybrids (combine methods) Communicate Murphy’s Law Check, Check and Check – 3C’s Think Out the Box
The End No Silver Bullet Yet !!!! Thank You