18
Not Fully Specified (Project) Not Fully Specified (Project) Objectives” Objectives” CS470 – Software Engineering I

“Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

Embed Size (px)

Citation preview

Page 1: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

““Not Fully Specified (Project) Objectives”Not Fully Specified (Project) Objectives”

CS470 – Software Engineering I

Page 2: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

References:

• Object –Oriented Classical Software Engineering

Chapter 10.4 & 10.13-15 – Stephen Schach

• Software Runaways, Pages 21-51 & 208 -Glass

• Please Understand Me – David Keirsey

• Project Management Institute – Perot Systems

• No Silver Bullet By Fred Brooks

““Not Fully Specified (Project) Objectives!!” Not Fully Specified (Project) Objectives!!”

Page 3: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

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!!”Not Fully Specified (Project) Objectives!!”

Page 4: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

What is a ProjectWhat is a Project

“A temporary endeavor undertaken to Create a unique product or service”“A project is a problem scheduled for solution” … Juran

Page 5: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

What constitutes a Successful Project What constitutes a Successful Project Objective?Objective?

• One has to “dynamically adapt” to the project using “hybrids” of the following,

User InvolvementsClear VisionHard workManagement Support

SkillsTechniquesTools Knowledge

Clear RequirementsClear SpecificationsTimeResources

and Others…

Page 6: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

What is Project Management?What is Project Management?Project Management is the application of:

• Knowledge• Skills• Tools• Techniques

Page 7: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

The “Triple Constraint”The “Triple Constraint”

• The Project Team must understand the “Triple Constraint” relationship between Scope, Time and Resources. This produces “Quality”.

Page 8: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

Software Cycle vs Project Management CycleSoftware 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

Page 9: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

Poor Track Record of IT ProjectsPoor Track Record of IT Projects(Standish Group)(Standish Group)

• US Companies spent $250 billion on about 175,000 IT development projects in 1995.

• 16.2% - 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.

Page 10: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

Standish Group – Standish Group – Chaos StudyChaos Study

53%31%

16%

Challenged

Failed

Succeded

Challenged – 53%1. Lack of User Input 12.8%2. Incomplete requirements/specs

12.3%3. Changing requirements/specs

11.8%4. Lack of Executive Support 7.5%5. Technology Incompetence 7.0%6. Lack of Resources 6.4%7. Unrealistic Expectations 5.9%8. Unclear Objectives 5.3%9. Unrealistic Timeframes 4.3%10.New Technology 3.7%

Failed – 31%1. Incomplete requirements/specs 13.1%2. Lack of User Involvement 12.4%3. Lack of Resources 10.6%4. Unrealistic Expectation 9.9%5. Lack of Executive Support 9.3%6. Changing Requirements 8.7%7. Lack of Planning 8.1%8. Didn’t need it any longer 7.5%9. Lack of IT Management 6.2%10.Technology illiteracy4.3%

Succeeded – 16%1. User Involvement 15.9%2. Exec. Management Support 13.9%3. Clear statement of requirements 13.0%4. Proper Planning 9.6%5. Realistic Expectation 8.2%6. Smaller Project Milestones 7.7%7. Competent staff 7.2%8. Ownership 5.3%9. Clear vision & objectives 2.9%10.Hard working, focused teams 2.4%

Page 11: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

• “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” !!No Silver Bullet” !!

Page 12: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

ComplexityComplexity• 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

Page 13: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

Harel’s AnalysisHarel’s AnalysisBiting the Silver BulletBiting 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.”

Page 14: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

Jone’s PointJone’s PointProductivity Follows QualityProductivity 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.

Page 15: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

ProductivityProductivity

• 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.

Page 16: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

Laws of Computer Laws of Computer ProgrammingProgramming

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.

Page 17: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

Lesson LearnedLesson 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

Page 18: “Not Fully Specified (Project) Objectives” CS470 – Software Engineering I

The EndThe EndNo Silver Bullet Yet !!!!No Silver Bullet Yet !!!!

Thank You