The 10 Most Important Ideas in Software Development
|
|
- Derek Welch
- 8 years ago
- Views:
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 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 information10 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 informationThree 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 information10x 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 informationFinally, 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 informationSoftware 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 informationSoftware 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 informationAn 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 informationIntroduction 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 informationSoftware 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 informationLifecycle 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 informationSOFTWARE 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 informationSoftware 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 informationMTAT.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 informationASSESSMENT 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 informationAgile 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 informationSoftware 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 informationA 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 informationSoftware 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 information10 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 informationAlternative 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 informationthe 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 informationHow 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 informationSoftware 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 informationJOURNAL 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 informationSoftware 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 informationSoftware 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 informationHow 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 informationChapter 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 informationQuality 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 informationThe 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 informationSoftware 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 informationA 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 informationAgile 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 informationBuilding 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 informationLife-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 informationModellistica 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 informationLife 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 informationLecture 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 informationCS 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 informationA. 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 informationSoftware 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 informationA 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 informationAgile 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 informationBusiness 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 informationAgile 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 informationSE464/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 informationTHE 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 information6. 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 informationIntroduction 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 informationTRADITIONAL 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 informationIdentifying 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 informationSafe 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 informationUnderstanding 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 informationrisks 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 informationAgile 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 informationSelecting 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 informationIV. 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 informationAgile 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 informationSoftware 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 informationHow 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 informationIn 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 informationOutline. 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 informationCOURSE 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 informationGé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 informationFundamentals 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 informationEstablishing 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 informationThe 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 informationSoftware 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)
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 informationSWEBOK 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 informationAn 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 informationSupporting 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 informationThe 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 informationCHAPTER 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 informationNova 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 informationApplication 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 informationObject-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 informationSoftware 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 informationEssentials 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 informationSoftware 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 informationCS 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 informationThe 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 informationAgility, 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 informationSoftware 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 informationINTERNATIONAL 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 informationIterative 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 informationCONTENTS 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 informationDevelopment 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 informationrevenue 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 informationAdvanced 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 informationThe 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 informationTransitioning 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 informationLessons 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 informationIssue 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 informationCOCOMO 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 information10/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 informationEnabling 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"
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