The 10 Most Important Ideas in Software Development

Size: px
Start display at page:

Download "The 10 Most Important Ideas in Software Development"

Transcription

1 Construx Software Development Best Practices The 10 Most Important Ideas in Software Development 2006 Construx Software Builders, Inc. All Rights Reserved. Most Key Ideas Are Not New Q: What are the most exciting/promising software engineering ideas or techniques on the horizon? A: I don t think that the most promising ideas are on the horizon. They are already here and have been here for years but are not being used properly. David L. Parnas Software Development Best Practices 2

2 Construx Software Development Best Practices #1 Software Development Work is Performed by Human Beings Cocomo II s View of Software Project Influences Product Complexity 2.38 Analyst Capability (general) 2.00 Programmer Capability (general) 1.76 Time Constraint 1.63 Personnel Continuity 1.59 Multi-site Development 1.56 Required Software Reliability 1.54 Documentation Match to Lifecycle Needs 1.52 Applications Experience 1.51 Use of Software Tools 1.50 Platform Volatility 1.49 Storage Constraint 1.46 Process Maturity 1.43 Language and Tools Experience 1.43 Database Size 1.42 Platform Experience 1.40 Architecture and Risk Resolution 1.38 Precedentedness 1.33 Developed for Reuse 1.31 Team Cohesion 1.29 Development Flexibility 1.26 Software Development Best Practices 4

3 Importance of Human Influences Human Influences make a 14x difference in total project effort & cost, according to Cocomo II Capability factors alone make a 3.5x difference Experience factors alone make a 3.0x difference Software Development Best Practices 5 Why Do These Variations Exist? Experience? Technology knowledge? Business knowledge? Personal processes? Software Development Best Practices 6

4 This Just In Human Beings Exhibit the Same Variations in Performance That Programmers Do! Software Development Best Practices 7 Conclusions You Can Take to the Bank With 20x differences in individuals and 10x differences in teams commonly reported Technical successes of Google, Amazon, Microsoft and similar companies are not accidents Recruiting top staff is easily cost justified Even elaborate staff retention programs are also easily cost justified Software Development Best Practices 8

5 Construx Software Development Best Practices #2 Incrementalism is Essential Incrementalism Definition: The use of a series of regular additions or contributions An incremental approach is one that is done a little bit at a time. The final result may be completely mapped out in advance Software Development Best Practices 10

6 Conclusions You Can Take to the Bank What do you get from incrementalism? Feedback! (on the software itself) Feedback! (on the dev process) Feedback! (on the people/dev capability) Ability to adapt Software Development Best Practices 11 Or, Another Perspective on Feedback If the map and the terrain disagree, trust the terrain! Software Development Best Practices 12

7 Construx Software Development Best Practices #3 Iteration is Essential Iteration Definition: Recital or performance a second time; repetition An iterative approach is one that converges to a solution a little bit at a time The result is not known in advance Software Development Best Practices 14

8 News Flash! ITERATION! People Are Not Computers Software Development Best Practices 15 News Flash! ITERATION! Practice Helps! And making small mistakes that prevent large mistakes helps too Software Development Best Practices 16

9 This Just In INSANITY! One Definition: Doing the same thing over and over and expecting different results. One More Definition: Not doing the same thing over because you think the results won t t change. Software Development Best Practices 17 In the Midst of These Important Ideas, Some Are Just Plain Silly Neutral Incredibly Serious Mildly Serious Somewhat Silly Incredibly Silly Software Silly Meter Software Development Best Practices 18

10 Silly Idea: The only two development options in existence are Iterate Nothing and Iterate Everything Software Concept Requirements Analysis Architectural Design Detailed Design Coding and Debugging Software Silly Meter System Testing Software Development Best Practices 19 Conclusions You Can Take to the Bank Some practices derive their power from incrementalism (doing a little bit at a time) Some practices derive their power from iteration (repeating the same task) You can iterate within an activity or phase (e.g., within requirements) You can iterate across any pair of activities or phases (e.g., requirements & architecture) You can iterate across entire development cycles The degree of iteration can vary from practically 0-100% 0 either within or across activities Software Development Best Practices 20

11 Construx Software Development Best Practices #4 The Cost To Fix A Defect Increases Over Time Defect Cost Increase (DCI) Activity in which a Defect Is Introduced Requirements Average Cost to Correct Architecture Construction Requirements Architecture Construction System test Post-Release Activity in Which a Defect Is Detected Software Development Best Practices 22

12 Notable Historical Mistakes Greatest Mistakes in History 480 BC: This is a nice gift! Software Development Best Practices 23 Notable Historical Mistakes Greatest Mistakes in History 1999: In the New Economy, companies won't need to make a profit to be successful. Software Development Best Practices 24

13 Notable Historical Mistakes Greatest Mistakes in History 2006: Agile projects aren t t affected by Defect Cost Increase. Activity in which a Defect Is Introduced Requirements Architecture Average Cost to Correct Construction Requirements ArchitectureConstructionSystem testpost-release Activity in Which a Defect Is Detected Software Silly Meter Software Development Best Practices 25 Conclusions You Can Take to the Bank Defect creation is a function of effort Defect detection and removal is a function of QA activities Fix more defects earlier! Use practices that reduce the magnitude of DCI Software Development Best Practices 26

14 Construx Software Development Best Practices #5 There s an Important Kernel of Truth in the Waterfall Model Remember This? Software Concept Requirements Analysis I m Not Bad. I m Just Drawn That Way. --Jessica Rabbit Architectural Design Detailed Design Coding and Debugging System Testing Software Development Best Practices 28

15 Intellectual Phases Discovery Invention Construction Focus Schedule Software Development Best Practices 29 Cost of Overlapping Intellectual Phases Discovery Invention Construction Focus Overlap = Dependencies Uncertainty Risk Rework Higher costs Longer schedules Lower quality Schedule Software Development Best Practices 30

16 Conclusions You Can Take to the Bank Some degree of wickedness is inevitable. Plan for it. Much wickedness is avoidable. Plan for that, too. Attack wickedness actively, especially via incremental and iterative approaches. Software Development Best Practices 31 Construx Software Development Best Practices #6 Ability to Create Useful Software Estimates Can be Improved Over Time (The Cone Of Uncertainty)

17 Cone of Uncertainty Project Scope (effort, cost, or features) 4x 2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x 0.25x Time Software Development Best Practices 33 Conclusions You Can Take to the Bank Estimation must be iterative Project planning must be incremental An estimate isn t t meaningful unless it contains a description of its inaccuracy Software Development Best Practices 34

18 Construx Software Development Best Practices #7 The Most Powerful Form of Reuse is Full Reuse History of Reuse First idea was to reuse code Later idea was to reuse code + design Current idea is to reuse as much as possible, including processes and plans Software Development Best Practices 36

19 Effect of Adding Process the First Time (What I Wrote in SPSG in 1997) 100% Thrashing Percent of Effort Productive Work 0% Process Overhead Time Software Development Best Practices 37 Effect of Adding Process the First Time (What I Think Now) 100% Thrashing Percent of Effort Productive Work 0% Process Overhead Time Software Development Best Practices 38

20 Effect of Adding Reused Processes 100% Thrashing Percent of Effort Productive Work 0% Process Overhead Time Software Development Best Practices 39 Conclusions You Can Take to the Bank Consider reusing any or all of these: Coding standards Change control policies Estimation procedures Formats & outlines of project plans, requirements doc, design docs, QA plan, test plan, etc. Checklists for plans, estimates, change control, inspections, QA, etc. Roles & responsibilities Training Software Development Best Practices 40

21 Construx Software Development Best Practices #8 Risk Management Provides Critical Insights into Many Core Software Development Issues Risk Management Type 1: Extrinsic Added on to the project primarily for purposes of risk management Examples of Extrinsic Risk Management Top 10 Risks list Risk management plans Risk officer Etc. Software Development Best Practices 42

22 Risk Management Type 2: Intrinsic Built into the project for other reasons; risk reduction is an additional benefit Examples of intrinsic risk management Active project tracking UI Prototyping End-user involvement Incremental delivery Upstream technical reviews Etc. Software Development Best Practices 43 A View of Software Risk Reduction Typical Relationship between Planned Work and Variable Work: Planned Work Unplanned, Variable Work (typically >50% of total) Better Relationship: Planned Work Planned Overhead Unplanned, Variable Work Software Development Best Practices 44

23 A View of Software Risk Reduction Planned Work Planned Overhead Unplanned, Variable Work Software Development Best Practices 45 Conclusions You Can Take to the Bank Risk is the key to many tough decisions in project management: What is the best lifecycle model? How much requirements work is enough? How much design work is enough? Can you use junior staff instead of senior staff? Should you do design reviews? Code reviews? How much schedule buffer do you need? Software Development Best Practices 46

24 A Silly View of Risk We re an entrepreneurial company. We can t be afraid of risk Not separating business risk from project risk from product risk Software Silly Meter Software Development Best Practices 47 Construx Software Development Best Practices #9 Different Kinds of Software Call For Different Kinds of Software Development (The Toolbox )

25 Examples of Overreaching Claims The pace of information technology (IT) change is accelerating and agile methods adapt to change better than disciplined methods therefore agile methods will take over the IT world. Software development is uncertain and the SW-CMM improves predictability therefore all software developers should use the SW- CMM. Examples from Balancing Agility and Discipline: A Guide for the Perplexed, Barry Boehm, Richard Turner, 2004 Software Development Best Practices 49 Time for More Silliness There is one single development approach that works best for all projects. Software Silly Meter Software Development Best Practices 50

26 This is a saw Software Development Best Practices 51 this is also a saw Software Development Best Practices 52

27 and so is this Software Development Best Practices 53 and so is this Software Development Best Practices 54

28 and so is this Software Development Best Practices 55 and so is this Software Development Best Practices 56

29 and so is this Software Development Best Practices 57 and so is this Software Development Best Practices 58

30 and so is this Software Development Best Practices 59 and so is this Software Development Best Practices 60

31 News Flash! MARTIAN RESEARCHERS MAKE KEY DISCOVERY! SOFTWARE DEVELOPMENT IS AS DIFFICULT AS SAWING! Different Projects Call for Aliens donate Different research results Development to Software Approaches! Community Software Development Best Practices 61 Conclusions You Can Take to the Bank Which software development approach works best depends on the kind of project Software Development Best Practices 62

32 Construx Software Development Best Practices #10 Software Engineering Body of Knowledge (SWEBOK) The SWEBOK (Software Engineering Body of Knowledge) Software Configuration Management Software Construction Software Design Software Engineering Management Software Engineering Process Software Maintenance Software Quality Software Requirements Software Testing Software Tools and Methods Software Development Best Practices 64

33 Effect of the SWEBOK To organize something is to understand it. Aristotle The main contribution of the SWEBOK is to bring clarity to software development research, discussions, and application Software Development Best Practices 65 Alternatives to the SWEBOK Maybe software is so complicated only gurus can understand it? Perhaps software can t be reduced to words, and you just have to trust the developers to do the right thing? Maybe good development practices should be kept secret so they don t fall into the wrong hands Software Development Best Practices 66

34 Alternative #1 to the SWEBOK I could try to explain software to you, but you wouldn t understand. Software Development Best Practices 67 Alternative #2 to the SWEBOK Don t ask questions. Just have faith in your team. Software Development Best Practices 68

35 Alternative #3 to the SWEBOK I could explain software to you, but I d have to kill you. Software Development Best Practices 69 Conclusions You Can Take to the Bank SWEBOK provides a wide spectrum of support for software development practices: Defined, reusable software development processes Academic curriculums Career development Professional certification Employment interviewing Technical skills inventory And we re just getting started! Software Development Best Practices 70

36 Is the SWEBOK the Ultimate Answer? Truth will sooner come out of error than from confusion. Francis Bacon Software Development Best Practices 71 Construx Software Development Best Practices Conclusions

37 Construx Software Development Best Practices Breaking News Training Consulting Tools +1 (425)

The 10 Best Ideas in Software Development

The 10 Best Ideas in Software Development The 10 Best Ideas in Software Development 2006 Construx Software Builders, Inc. All Rights Reserved. www.construx.com Special Bonus: The 8 Worst Ideas! Most Key Ideas Are Not New Q: What are the most exciting/promising

More information

10 Keys to Successful Software Projects: An Executive Guide

10 Keys to Successful Software Projects: An Executive Guide 10 Keys to Successful Software Projects: An Executive Guide 2000-2006 Construx Software Builders, Inc. All Rights Reserved. www.construx.com Background State of the Art vs. State of the Practice The gap

More information

Three Things I Wish I Learned in School

Three Things I Wish I Learned in School Three Things I Wish I Learned in School www.construx.com 2008 Construx Software Builders, Inc. All Rights Reserved. #1 Motion = Progress The Cost of Defects 50 100X Phase in which a Defect Is Introduced

More information

10x Engineering Principles

10x Engineering Principles 10x Engineering Principles A Construx Seminar Preview 2007 Construx Software www.construx.com Many Good Development Approaches Structured Development Computer Aided Software Engineering Rapid Application

More information

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan. Project Cost Adjustments This article describes how to make adjustments to a cost estimate for environmental factors, schedule strategies and software reuse. Author: William Roetzheim Co-Founder, Cost

More information

Software Development Process

Software Development Process Software Development Process A software development process, also known as software development lifecycle, is a structure imposed on the development of a software product. Similar terms include software

More information

Software Process for QA

Software Process for QA Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called

More information

An Assessment between Software Development Life Cycle Models of Software Engineering

An Assessment between Software Development Life Cycle Models of Software Engineering International Journal of Electronics and Computer Science Engineering 700 Available Online at www.ijecse.org ISSN- 2277-1956 An Assessment between Software Development Life Cycle Models of Software Engineering

More information

Introduction to Agile Software Development

Introduction to Agile Software Development Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)

More information

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia

Software Development Lifecycle. Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia Software Development Lifecycle Steve Macbeth Group Program Manager Search Technology Center Microsoft Research Asia About Me Currently manage a team of 10 Program Managers at Microsoft Research Asia Over

More information

Lifecycle Models: Waterfall / Spiral / EVO

Lifecycle Models: Waterfall / Spiral / EVO Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

Software Development s Low Hanging Fruit. www.construx.com

Software Development s Low Hanging Fruit. www.construx.com Software Development s Low Hanging Fruit www.construx.com Copyright Notice These class materials are 2007-2008 Construx Software Builders, Inc. All Rights Reserved. No part of the contents of this seminar

More information

MTAT.03.244 Software Economics. Lecture 5: Software Cost Estimation

MTAT.03.244 Software Economics. Lecture 5: Software Cost Estimation MTAT.03.244 Software Economics Lecture 5: Software Cost Estimation Marlon Dumas marlon.dumas ät ut. ee Outline Estimating Software Size Estimating Effort Estimating Duration 2 For Discussion It is hopeless

More information

ASSESSMENT OF SOFTWARE PROCESS MODELS

ASSESSMENT OF SOFTWARE PROCESS MODELS ASSESSMENT OF SOFTWARE PROCESS MODELS Akhilesh Research Scholar, Department of Computer Science, Manav Bharti University, Solan (H.P.) ABSTRACT The field of software engineering is related to the development

More information

Agile development of safety-critical software while meetings standards' requirements

Agile development of safety-critical software while meetings standards' requirements 1(37) Agile development of safety-critical software while meetings standards' requirements Matti Vuori, Tampere University of Technology 2011-11-04 Contents 1/2 A study in Ohjelmaturva 4 Tendency to be

More information

Software Life Cycle Processes

Software Life Cycle Processes Software Life Cycle Processes Objective: Establish a work plan to coordinate effectively a set of tasks. Improves software quality. Allows us to manage projects more easily. Status of projects is more

More information

A Comparison between Five Models of Software Engineering

A Comparison between Five Models of Software Engineering International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College

More information

Software Engineering. An Introduction. Fakhar Lodhi

Software Engineering. An Introduction. Fakhar Lodhi Software Engineering An Introduction Fakhar Lodhi 1 Engineering The science concerned with putting scientific knowledge to practical use. Webster s Dictionary Physics versus Electrical Engineering 2 Software

More information

10 Deadly Sins of Software Estimation

10 Deadly Sins of Software Estimation 10 Deadly Sins of Software Estimation Steve McConnell 2002 Construx Software Builders, Inc. All Rights Reserved. www.construx.com Construx Delivering Software Project Success Background Estimation Book

More information

Alternative Development Methodologies

Alternative Development Methodologies Alternative Development Methodologies The Software Development Process described in the course notes and lecture is a generalized process that been in use for decades. Over this time, scholars in the IT

More information

the state of the practice Variations in Software Development Practices

the state of the practice Variations in Software Development Practices focus the state of the practice invited article Variations in Software Development Practices Capers Jones, Software Productivity Research My colleagues and I at Software Productivity Research gathered

More information

How to write a great job ad

How to write a great job ad How to write a great job ad How to write a great job ad A job ad sounds like the simplest thing in the world to write doesn t it? Surely all the hard work lies with the jobseekers? Well, no. With more

More information

Software Development Process Selection Approaches

Software Development Process Selection Approaches The Journal of Applied Science Vol. 11 No. Vol. 2:45-50 11 No. 2 [2012] ISSN 1513-7805 Printed in Thailand Review Article Software Development Process Selection Approaches Phongphan Danphitsanuphan Department

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5. No. 8, November-December 2006 Requirements Engineering Tasks Donald Firesmith,

More information

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

Software Engineering. Dilbert on Project Planning. Overview CS / COE 1530. Reading: chapter 3 in textbook Requirements documents due 9/20

Software Engineering. Dilbert on Project Planning. Overview CS / COE 1530. Reading: chapter 3 in textbook Requirements documents due 9/20 Software Engineering CS / COE 1530 Lecture 4 Project Management Dilbert on Project Planning Overview Reading: chapter 3 in textbook Requirements documents due 9/20 1 Tracking project progress Do you understand

More information

How To Understand The Software Process

How To Understand The Software Process Ingegneria del Software Corso di Laurea in Informatica per il Management Software process model Davide Rossi Dipartimento di Informatica Università di Bologna The task of the software development team

More information

Chapter 8 Approaches to System Development

Chapter 8 Approaches to System Development Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases

More information

Quality Assurance Software Development Processes

Quality Assurance Software Development Processes Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed

More information

The Agile Drupalist. Methodologies & Techniques for Running Effective Drupal Projects. By Adrian AJ Jones (Canuckaholic)

The Agile Drupalist. Methodologies & Techniques for Running Effective Drupal Projects. By Adrian AJ Jones (Canuckaholic) The Agile Drupalist Methodologies & Techniques for Running Effective Drupal Projects By Adrian AJ Jones (Canuckaholic) Agenda What We Will be Talking About Today! Introductions! What kind of processes

More information

Software Testing and Software Development Lifecycles

Software Testing and Software Development Lifecycles Software Testing and Software Development Lifecycles Executive Summary This paper outlines a number of commonly used software development lifecycle models, with particular emphasis on the testing activities

More information

A Process Programmer Looks at the Spiral Model

A Process Programmer Looks at the Spiral Model A Process Programmer Looks at the Spiral Model A Tribute to the Deep Insights of Prof. Barry W. Boehm Leon J. Osterweil University of Massachusetts Amherst Institute of Software Chinese Academy of Sciences

More information

Agile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering

Agile Models. Software Engineering 2004-2005. Marco Scotto (Marco.Scotto@unibz.it) Software Engineering Agile Models 2004-2005 Marco Scotto (Marco.Scotto@unibz.it) Content Introduction Tame projects & wicked projects Win-Win Spiral software development model XP software development process Enforcing the

More information

Building Software in an Agile Manner

Building Software in an Agile Manner Building Software in an Agile Manner Abstract The technology industry continues to evolve with new products and category innovations defining and then redefining this sector's shifting landscape. Over

More information

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice

Life-Cycle Model. Software Life-Cycle Models. Software Development in Theory. Software Development in Practice Life-Cycle Model Software Life-Cycle Models Xiaojun Qi It specifies the various phases/workflows of the software process, such as the requirements, analysis (specification), design, implementation, and

More information

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Modellistica Medica Maria Grazia Pia INFN Genova Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico 2002-2003 Lezione 16-17 Introduction to software process Software process models,

More information

Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.

More information

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities Software Life Cycle Lecture Objectives What happens in the life of software To look at the life cycle of a software To understand the software process and its related elements To relate to the different

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing. Processing Models Of SDLC Mrs. Nalkar Sanjivani Baban Asst. Professor, IT/CS Dept, JVM s Mehta College,Sector 19, Airoli, Navi Mumbai-400708 Nalkar_sanjivani@yahoo.co.in Abstract This paper presents an

More information

Software Process and Models

Software Process and Models Agenda Software Process Models Plan-driven Process Models Software Process and Models A software process model simplified, abstracted description of a software development process. A model is good for

More information

A Comparison Between Five Models Of Software Engineering

A Comparison Between Five Models Of Software Engineering 94 A Comparison Between Five Models Of Software Engineering Nabil Mohammed Ali Munassar 1 and A. Govardhan 2 1 Ph.D Student of Computer Science & Engineering Jawahrlal Nehru Technological University Kuktapally,

More information

Agile Metrics. It s Not All That Complicated

Agile Metrics. It s Not All That Complicated Agile Metrics It s Not All That Complicated Welcome About your Trainer, Katia Sullivan VersionOne Product Trainer and Agile Coach Certified Scrum Master Certified Scrum Product Owner Led teams/org s to

More information

Business white paper. Best practices for implementing automated functional testing solutions

Business white paper. Best practices for implementing automated functional testing solutions Business white paper Best practices for implementing automated functional testing solutions Table of contents Contents 3 Introduction 3 Functional testing versus unit testing 4 The pros and cons of manual

More information

Agile Inspired Risk Mitigation Techniques for Software Development Projects

Agile Inspired Risk Mitigation Techniques for Software Development Projects Agile Inspired Risk Mitigation Techniques for Software Development Projects Presented at GTISLIG, Toronto November 15 th 2007 Michael Bica, Sogard Inc. 1 Roadmap I. Risks Heuristics Risks & Estimation

More information

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki

SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software

More information

THE BUSINESS VALUE OF AGILE DEVELOPMENT

THE BUSINESS VALUE OF AGILE DEVELOPMENT David Chappell March 2012 THE BUSINESS VALUE OF AGILE DEVELOPMENT Sponsored by Microsoft Corporation Copyright 2012 Chappell & Associates When it comes to creating custom applications, too many of us live

More information

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project.

6. Software Lifecycle Models. A software lifecycle model is a standardised format for planning organising, and running a new development project. 6. Software Lifecycle Models A software lifecycle model is a standardised format for planning organising, and running a new development project. Hundreds of different kinds of models are known and used.

More information

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management

Introduction to Software Project Management. CITS3220 Software Requirements & Project Management Introduction to Software Project Management CITS3220 Software Requirements & Project Management "A project gets a year late one day at a time." "Anything that can be changed will be changed until there

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

Identifying Factors Affecting Software Development Cost

Identifying Factors Affecting Software Development Cost Identifying Factors Affecting Software Development Cost Robert Lagerström PhD Student at Industrial Information and Control Systems School of Electrical Engineering KTH Royal Institute of Technology Stockholm,

More information

Safe and Simple Software Cost Analysis Barry Boehm, USC Everything should be as simple as possible, but no simpler.

Safe and Simple Software Cost Analysis Barry Boehm, USC Everything should be as simple as possible, but no simpler. Safe and Simple Software Cost Analysis Barry Boehm, USC Everything should be as simple as possible, but no simpler. -Albert Einstein Overview There are a number of simple software cost analysis methods,

More information

Understanding Agile Project Management

Understanding Agile Project Management Understanding Agile Project Management Author Melanie Franklin Director Agile Change Management Limited Overview This is the transcript of a webinar I recently delivered to explain in simple terms what

More information

risks in the software projects [10,52], discussion platform, and COCOMO

risks in the software projects [10,52], discussion platform, and COCOMO CHAPTER-1 INTRODUCTION TO PROJECT MANAGEMENT SOFTWARE AND SERVICE ORIENTED ARCHITECTURE 1.1 Overview of the system Service Oriented Architecture for Collaborative WBPMS is a Service based project management

More information

Agile and lean methods for managing application development process

Agile and lean methods for managing application development process Agile and lean methods for managing application development process Hannu Markkanen 27.01.2012 1 Lifecycle model To support the planning and management of activities required in the production of e.g.

More information

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell

Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree

More information

IV. Software Lifecycles

IV. Software Lifecycles IV. Software Lifecycles Software processes and lifecycles Relative costs of lifecycle phases Examples of lifecycles and processes Process maturity scale Information system development lifecycle Lifecycle

More information

Agile Governance. Charlie Rudd SollutionsIQ. Copyright 2011 SolutionsIQ. All rights reserved.

Agile Governance. Charlie Rudd SollutionsIQ. Copyright 2011 SolutionsIQ. All rights reserved. Agile Governance Charlie Rudd SollutionsIQ Speaker Introduction: Charlie Rudd CEO of SolutionsIQ, an Agile company that provides Agile services including consulting, training, software development and

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

How to write a great job ad

How to write a great job ad How to write a great job ad Introduction A job ad sounds like the simplest thing in the world to write, doesn t it? Surely all the hard work lies with the jobseekers? Well, no. With more candidates than

More information

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:

In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer

More information

Outline. The Spiral Model of Software Development and Enhancement. A Risk-Driven Approach. Software Process Model. Code & Fix

Outline. The Spiral Model of Software Development and Enhancement. A Risk-Driven Approach. Software Process Model. Code & Fix The Spiral Model of Software Development and Enhancement Barry W. Boehm, TRW Defense Systems Group 1988 Outline Introduction Previous Models The Spiral Model TRW-SPS Application Advantages and Difficulties

More information

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4

COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 COURSE TITLE : SOFTWARE ENGINEERING COURSE CODE : 4072 COURSE CATEGORY : A PERIODS / WEEK : 4 PERIODS / SEMESTER : 72 CREDITS : 4 TIME SCHEDULE MODULE TOPICS PERIODS 1 Software engineering discipline evolution

More information

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus

More information

Fundamentals of Measurements

Fundamentals of Measurements Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role

More information

Establishing your Automation Development Lifecycle

Establishing your Automation Development Lifecycle Establishing your Automation Development Lifecycle Frequently I engage clients in assessing and improving their automation efforts. The discussion normally starts from a position of frustration We ve invested

More information

The Importance of Failing Well

The Importance of Failing Well The Importance of Failing Well Lance G King www.taolearn.com A study of intellectually gifted students at a New Zealand high school has revealed one significant factor that distinguishes the highest achievers

More information

Software Project Management

Software Project Management Software Project Management Objectives Introduce students to a variety of approaches and techniques in SPM Use current SPM tools Develop new SPM ideas Document reading, experiences and ideas Improve writing

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

SWEBOK Certification Program. Software Engineering Management

SWEBOK Certification Program. Software Engineering Management SWEBOK Certification Program Software Engineering Management Copyright Statement Copyright 2011. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted

More information

An introduction to the benefits of Application Lifecycle Management

An introduction to the benefits of Application Lifecycle Management An introduction to the benefits of Application Lifecycle Management IKAN ALM increases team productivity, improves application quality, lowers the costs and speeds up the time-to-market of the entire application

More information

Supporting Workflow Overview. CSC532 Fall06

Supporting Workflow Overview. CSC532 Fall06 Supporting Workflow Overview CSC532 Fall06 Objectives: Supporting Workflows Define the supporting workflows Understand how to apply the supporting workflows Understand the activities necessary to configure

More information

The Basics of Scrum An introduction to the framework

The Basics of Scrum An introduction to the framework The Basics of Scrum An introduction to the framework Introduction Scrum, the most widely practiced Agile process, has been successfully used in software development for the last 20 years. While Scrum has

More information

CHAPTER 02 SOFTWARE LIFE-CYCLE MODELS

CHAPTER 02 SOFTWARE LIFE-CYCLE MODELS Lecture Software Engineering CHAPTER 02 SOFTWARE LIFE-CYCLE MODELS Lecture Software Engineering Topics Software Development in Theory Lessons of Case Studies Iteration and Incrementation Risks and Other

More information

Nova Software Quality Assurance Process

Nova Software Quality Assurance Process Nova Software Quality Assurance Process White Paper Atlantic International Building 15F No.2 Ke Yuan Yi Road, Shiqiaopu, Chongqing, P.R.C. 400039 Tel: 86-23- 68795169 Fax: 86-23- 68795169 Quality Assurance

More information

Application of software product quality international standards through software development life cycle

Application of software product quality international standards through software development life cycle Central Page 284 of 296 Application of software product quality international standards through software development life cycle Mladen Hosni, Valentina Kirinić Faculty of Organization and Informatics University

More information

Object-Oriented and Classical Software Engineering

Object-Oriented and Classical Software Engineering Slide 3.1 Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs@vuse.vanderbilt.edu CHAPTER 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Overview Slide

More information

Software Testing Trends in Australia and Beyond

Software Testing Trends in Australia and Beyond Software Testing Trends in Australia and Beyond Jason Lee Dolby Laboratories Australia Mark Pedersen K.J. Ross & Associates Australia Abstract This presentation looks at trends in software testing within

More information

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites: Curriculum Certified Software Tester (CST) Common Body of Knowledge Control Procedures Problem Resolution Reports Requirements Test Builds Test Cases Test Execution Test Plans Test Planning Testing Concepts

More information

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar vijsy003@students.unisa.edu.au School of Computer and Information Science University of South Australia,

More information

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers CS 1632 SOFTWARE QUALITY ASSURANCE 2 Marks Sample Questions and Answers 1. Define quality. Quality is the degree of goodness of a product or service or perceived by the customer. Quality concept is the

More information

The most suitable system methodology for the proposed system is drawn out.

The most suitable system methodology for the proposed system is drawn out. 3.0 Methodology 3.1 Introduction In this chapter, five software development life cycle models are compared and discussed briefly. The most suitable system methodology for the proposed system is drawn out.

More information

Agility, Uncertainty, and Software Project Estimation Todd Little, Landmark Graphics

Agility, Uncertainty, and Software Project Estimation Todd Little, Landmark Graphics Agility, Uncertainty, and Software Project Estimation Todd Little, Landmark Graphics Summary Prior studies in software development project estimation have demonstrated large variations in the estimated

More information

Software cost estimation. Predicting the resources required for a software development process

Software cost estimation. Predicting the resources required for a software development process Software cost estimation Predicting the resources required for a software development process Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 23 Slide 1 Objectives To introduce the fundamentals

More information

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison

More information

Iterative Project Management 1

Iterative Project Management 1 Iterative Project Management Module 2 Objectives Understand issues for Project Managers (PM) who use iterative development by: Learning how the PM monitors and steers an iterative project towards success.

More information

CONTENTS Preface xv 1 Introduction

CONTENTS Preface xv 1 Introduction Preface xv 1 Introduction 1 1.1 Introduction to Software Project Management, 1 1.2 Objectives of This Chapter, 2 1.3 Why Managing and Leading Software Projects Is Difficult, 2 1.3.1 Software Complexity,

More information

Development Methodologies

Development Methodologies Slide 3.1 Development Methodologies Prof. Dr. Josef M. Joller jjoller@hsr.ch Development Methodologies Prof. Dr. Josef M. Joller 1 Session 3 Slide 3.2 SOFTWARE LIFE-CYCLE MODELS Development Methodologies

More information

revenue growth MANUFACTURING KNOW HOW 4 STEPS TO IMPROVE your business CRITICAL QUESTIONS to ask yourself LEARN FROM best in class manufacturers

revenue growth MANUFACTURING KNOW HOW 4 STEPS TO IMPROVE your business CRITICAL QUESTIONS to ask yourself LEARN FROM best in class manufacturers MANUFACTURING KNOW HOW Guide 2 How to increase your revenue growth 4 STEPS TO IMPROVE your business CRITICAL QUESTIONS to ask yourself LEARN FROM best in class manufacturers FIND OUT how Microsoft Dynamics

More information

Advanced Software Engineering. Software Development Processes

Advanced Software Engineering. Software Development Processes Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Advanced Software Engineering Software Development Processes Prof. Agostino Poggi Software Development

More information

The Rationale For Continuous Delivery

The Rationale For Continuous Delivery The Rationale For Continuous Delivery Or What Does Good Look Like? Dave Farley http://www.davefarley.net @davefarley77 http://www.continuous-delivery.co.uk The State of Software Development Source: Date:

More information

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros. Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.com 1 About Coveros Coveros helps organizations accelerate the delivery

More information

Lessons Learned in Software Project Outsourcing

Lessons Learned in Software Project Outsourcing Lessons Learned in Software Project Outsourcing 2000-2005 2005 Construx Software Builders, Inc. All Rights Reserved. www.construx.com Construx Delivering Software Project Success Outsourcing Outsourcing

More information

Issue in Focus: Consolidating Design Software. Extending Value Beyond 3D CAD Consolidation

Issue in Focus: Consolidating Design Software. Extending Value Beyond 3D CAD Consolidation Issue in Focus: Consolidating Design Software Extending Value Beyond 3D CAD Consolidation Tech-Clarity, Inc. 2012 Table of Contents Introducing the Issue... 3 Consolidate Upstream from Detailed Design...

More information

COCOMO II and Big Data

COCOMO II and Big Data COCOMO II and Big Data Rachchabhorn Wongsaroj*, Jo Ann Lane, Supannika Koolmanojwong, Barry Boehm *Bank of Thailand and Center for Systems and Software Engineering Computer Science Department, Viterbi

More information

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development

More information

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Enabling Continuous Delivery by Leveraging the Deployment Pipeline Enabling Continuous Delivery by Leveraging the Deployment Pipeline Jason Carter Principal (972) 689-6402 Jason.carter@parivedasolutions.com Pariveda Solutions, Inc. Dallas,TX Table of Contents Matching

More information

"Performance and Security Testing in Agile Development"

Performance and Security Testing in Agile Development AW4 Class 6/9/2010 12:45:00 PM "Performance and Security Testing in Agile Development" Presented by: Tracy DeDore Hewlett-Packard Brought to you by: 330 Corporate Way, Suite 300, Orange Park, FL 32073

More information