THE TAR PIT BY FRANKLYN OMORUAN. What Is Tar Pit ? It describes software development as similar to a prehistoric tar pit, where great and powerful beasts.

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

Effort metrics: Man-month. Mythical Man Month – the book Brooks lead development of OS/360 and reflected on the problems experienced in the project. The.
Robert Lockyer.
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
The most incomprehensible thing about the world is that it is comprehensible.
Review Questions What is a systems development process? A system development process is a set of activities, methods, best practices, deliverables, and.
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Introduction.
Applied Software Project Management INTRODUCTION Applied Software Project Management 1 5/20/2015.
The Comparison of the Software Cost Estimating Methods
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
© 2005 by Prentice Hall Chapter 4 System Testing & Implementation Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George Joseph.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
CSI 101 Elements of Computing Spring 2009 Lecture #2 Development Life Cycle of a Computer Application Monday January 26th, 2009.
Quantum Technology Essential Question:
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Assembling a Multimedia e-Learning Development Team
What is it, how does it work, and why is it important?
 A set of objectives or student learning outcomes for a course or a set of courses.  Specifies the set of concepts and skills that the student must.
1 Software Development Topic 2 Software Development Languages and Environments.
WEB ENGINEERING LECTURE 4 BY Kiramat Rahman. outline  In this Lecture you will learn about:  Term “Software” and its relationship with “Hardware” 
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management greene.com 1 Applied Software.
No Silver Bullet – Essence and Accident in Software Engineering.
Why is software engineering worth studying?  Demand for software is growing dramatically  Software costs are growing per system  Many projects have.
Mid semester Feedback. This PowerPoint slide show is intended to give me the opportunity to apply what I have learned in this course. I will address what.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
6-January-2003cse Introduction © 2003 University of Washington1 Introduction CSE 403, Winter 2003 Software Engineering
 What is a tar pit ?  From its original meaning, a tar pit is an accumulation that has acted as a natural trap into which animals have fallen and sunk.
CSC 354 – Software Engineering, Spring 2013, Week 2 Mythical Man-Month Ch. 1-5 Tar Pit, Mythical Man-Month, Surgical Team, Aristocracy / Democracy & System.
By Touseef Tahir Software Testing Basics. Today's Agenda Software Quality assurance Software Testing Software Test cases Software Test Plans Software.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Moving into Implementation SYSTEMS ANALYSIS AND DESIGN, 6 TH EDITION DENNIS, WIXOM, AND ROTH © 2015 JOHN WILEY & SONS. ALL RIGHTS RESERVED.Roberta M. Roth.
Design engineering Vilnius The goal of design engineering is to produce a model that exhibits: firmness – a program should not have bugs that inhibit.
Chapter Six: Laws of Motion
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Chapter 3 Software. Learning Objectives Upon successful completion of this chapter, you will be able to: Define the term software Describe the two primary.
Systems Analysis and Design in a Changing World, Fourth Edition
©Copyright 2002 Fissure Corporation The Relationships of the Five Key Project Management Variables Jesse Freese Fissure Corporation
Virtual Memory Virtual Memory is created to solve difficult memory management problems Data fragmentation in physical memory: Reuses blocks of memory.
Prepare an Asset List Project 4 Due date: Friday, September 24 th.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Chapter 1: The Tar Pit Yong Choi BPACSUB. Fredrick P. Brooks, Jr One of the biggest GURU in IS Still CS professor at UNC-chapel Hill –Ph.D. from Harvard.
(SRS) SOFTWARE REQUIREMENT SPECIFICATION(SRS) 1. Topics to be discussed.. What is an SRS? Purpose of an SRS Who reads the SRS? Who writes the SRS? Characteristics.
 2004 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, by Bodnar/Hopwood 13 – 1 Chapter 13 Auditing Information Technology.
The Website. The People of God Framework is provided as a full PDF document for each Year, as well as being broken down into specific units for ease of.
CS 147 Virtual Memory Prof. Sin Min Lee Anthony Palladino.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
Or how to work smarter when building solutions.  2:30 – 3:30 Mondays – focus on problem solving (with some terminology thrown in upon occasion)  All.
Ahmed Hassan Ghulam Murtaza Umar Farooq M Mannan Razzaq BSEF08A011 BSEF08A031 BSEF08A034 BSEF08A050.
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
The Tar Pit The Mythical Man-Month Frederick P. Brooks, JR. Chapter 1.
The Tar Pit Ensnaring the Unsuspecting. The Entangling Tar or pitch traps even the largest of beasts. Today, the same level of precaution must be taken.
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
KNOWLEDGE MANAGEMENT UNIT II KNOWLEDGE MANAGEMENT AND TECHNOLOGY 1.
December 13, G raphical A symmetric P rocessing Prototype Presentation December 13, 2004.
CSE 403, Spring 2008, Alverson CSE 403 Software Engineering Pragmatic Programmer Tip: Care about Your Craft Why spend your life developing software unless.
Test Loads Andy Wang CIS Computer Systems Performance Analysis.
CS220:INTRODUCTION TO SOFTWARE ENGINEERING CH1 : INTRODUCTION 1.
Applied Software Project Management SOFTWARE TESTING Applied Software Project Management 1.
The Emergent Structure of Development Tasks
Software Hardware refers to the physical devices of a computer system.
Applied Software Testing
What is Wrong with Models?
Systems Implementation,
SVTRAININGS. SVTRAININGS Python Overview  Python is a high-level, interpreted, interactive and object-oriented scripting language. Python is designed.
Computer Science Testing.
Functions and Top-Down Design
Decision Support Systems
Presentation transcript:

THE TAR PIT BY FRANKLYN OMORUAN

What Is Tar Pit ? It describes software development as similar to a prehistoric tar pit, where great and powerful beasts thrashed violently but, ultimately, were unable to free themselves from death. It describes software development as similar to a prehistoric tar pit, where great and powerful beasts thrashed violently but, ultimately, were unable to free themselves from death.

Tar Pit Large scale programming have emerged with running system – few have met goals, schedule and budgets. Large scale programming have emerged with running system – few have met goals, schedule and budgets. Large and small, massive or wiry, team after team has become entangled in the tar. Large and small, massive or wiry, team after team has become entangled in the tar. It should be noted that nothing caused the problem It should be noted that nothing caused the problem Accumulating of simulation and interacting factors brought slower and slower motion. Accumulating of simulation and interacting factors brought slower and slower motion. Everyone is surprised by the stickiness of the problem and is hard to say the nature of the problem. Everyone is surprised by the stickiness of the problem and is hard to say the nature of the problem. The problem has to be understood to enable us solve it. The problem has to be understood to enable us solve it.

We Have To Identify the following: The craft of the system. The craft of the system. The joys The joys The woes. The woes.

The evolution of the programming system product

Programs Programs A program is what we all have developed. It's simple piece of software that is useful to the programmer and/to some set of users who are directly involved in defining its requirements. A program is what we all have developed. It's simple piece of software that is useful to the programmer and/to some set of users who are directly involved in defining its requirements. There are two ways a program can be converted into a more successful, but more costly, object There are two ways a program can be converted into a more successful, but more costly, object The two ways are Programming system and programming product The two ways are Programming system and programming product

Programming product Moving up the graph, we hit programming product. In theory, all commercial applications are programming products. Moving up the graph, we hit programming product. In theory, all commercial applications are programming products. Programming product can be run, tested repaired and extended by anybody. Programming product can be run, tested repaired and extended by anybody. For it to become useable in many operating environments, for many sets of data a program must be written in a generalized fashion. For it to become useable in many operating environments, for many sets of data a program must be written in a generalized fashion. they cost three times as much to develop than simple fully-debugged programs yet they contain the same amount of functionality. This is why it's so hard to get sufficient budget and schedule to do a project right. they cost three times as much to develop than simple fully-debugged programs yet they contain the same amount of functionality. This is why it's so hard to get sufficient budget and schedule to do a project right.

Programming Systems Programming systems are programs intended to be reused as parts of larger systems. Programming systems are programs intended to be reused as parts of larger systems. In modern terms, they are libraries, frameworks, middleware, and other such components that are all the rage in software development. In modern terms, they are libraries, frameworks, middleware, and other such components that are all the rage in software development. Like programming products, programming systems are thoroughly tested, documented, and most importantly are useful outside of the context in which they were created. Like programming products, programming systems are thoroughly tested, documented, and most importantly are useful outside of the context in which they were created. Programming systems are relatively common in groups that execute a lot of similar projects. Programming systems are relatively common in groups that execute a lot of similar projects. The problems encountered are more technically challenging, and it is not strange because the programmer and his colleagues are the user. The problems encountered are more technically challenging, and it is not strange because the programmer and his colleagues are the user.

Programming system products It is useful to a wide range of users and can be effectively extended and/or embedded for the creation of larger systems. It has complete documentation and is extensively tested. It is useful to a wide range of users and can be effectively extended and/or embedded for the creation of larger systems. It has complete documentation and is extensively tested. It costs nine times as much but it is truly a useful object. It costs nine times as much but it is truly a useful object. Your operating system and MS Office are examples of it. Your operating system and MS Office are examples of it.

Joys Of The Craft The joy of making things The joy of making things The joy of making things that are useful to other people The joy of making things that are useful to other people The fascination of fashioning puzzle-like objects of interlocking moving parts The fascination of fashioning puzzle-like objects of interlocking moving parts The joy of always learning, of a no repeating task The joy of always learning, of a no repeating task The delight of working in a medium so tractable—pure thought-stuff—which nevertheless exists, moves, and works in a way that word-objects do not. The delight of working in a medium so tractable—pure thought-stuff—which nevertheless exists, moves, and works in a way that word-objects do not.

Woes Of The Craft Adjusting to the requirement of perfection is the hardest part of learning to program. Adjusting to the requirement of perfection is the hardest part of learning to program. Others set one's objectives and one must depend upon things (especially programs) one cannot control; the authority is not equal to the responsibility. Others set one's objectives and one must depend upon things (especially programs) one cannot control; the authority is not equal to the responsibility. This sounds worse than it is: actual authority comes from momentum of accomplishment. This sounds worse than it is: actual authority comes from momentum of accomplishment. With any creativity come dreary hours of painstaking labor; programming is no exception. With any creativity come dreary hours of painstaking labor; programming is no exception. The programming project converges more slowly the nearer one gets to the end, whereas one expects it to converge faster as one approaches the end. The programming project converges more slowly the nearer one gets to the end, whereas one expects it to converge faster as one approaches the end. One's product is always threatened with obsolescence before completion. The real tiger is never a match for the paper one, unless real use is wanted. One's product is always threatened with obsolescence before completion. The real tiger is never a match for the paper one, unless real use is wanted.

Bibliography /ch18 /ch18 /ch18 /ch18 9/tar-pit.html 9/tar-pit.html 9/tar-pit.html 9/tar-pit.html The Mythical Man-Month by Frederick P. Brooks. The Mythical Man-Month by Frederick P. Brooks.