4/1/2015. Great Software Development (through iteration) Outline. Motivation. Pleasing the Customer. A view from the research university

Size: px
Start display at page:

Download "4/1/2015. Great Software Development (through iteration) Outline. Motivation. Pleasing the Customer. A view from the research university"

Transcription

1 Great Software Development (through iteration) A view from the research university Pleasing the Customer 1 Outline Motivation Why we need software engineering What will we learn What is software engineering Risk and Tradeoff Analysis Key Engineering Concepts Detailed class structure Class project Structure and motivation Testing your knowledge Background on software process Waterfall Plan-driven Agile 2 Motivation Why do we need software engineering 3 1

2 Released Software is Buggy 4 Important + Late = Disaster Allstate set out in 1982 to automate all of its office operations. They set a 5-year timetable and an $8 million budget. Six years and $15 million later, Allstate set a new deadline and readjusted its sights on a new budget of $100 million. from Rapid Development, McConnell 5 June 4, 1996: Ariane-5 Catastrophe Cause Superfluous calibration program for inertia sensors runs in-flight; the software was reused from Ariane-4. Costs of the Ariane-5-program until 1996: ~ $ 8 Billion Value of destroyed satellite: ~ $ 500 Million Measured values in Ariane-5 exceed those assumed for the Ariane-4 software. The corresponding (Ada-) exception is handled by stopping the control computer and switching over to a redundant system. The second system contains the same error and deals with the exception the same way... 2

3 Important + Buggy = Disaster Cause Race condition. Error message not clear could be ignored. Therac-25: a radiation therapy machine produced by Atomic Energy of Canada Limited (AECL) Some patients were given approximately 100 times the intended dose of radiation. At least 3 patients died Reuse of software used in the previous generation New machine did not have mechanical interlock: depended entirely on software Attributed to the bad software design and development practices! * Leveson, N.G.; Turner, C.S., "An investigation of the Therac-25 accidents," Computer, vol.26, no.7, pp.18,41, July : Therac-25 Accidents Therac-25 Radiation Machine ( An Investigation of the Therac-25 Accidents, Leveson) On June 3, 1985, the patient was set up for a 10-MeV electron treatment to the clavicle area. When the machine turned on, she felt a "tremendous force of heat... this red-hot sensation. she developed a reddening and swelling in the center of the treatment area. Her pain had increased to the point that her shoulder froze. But her oncologists continued to send her [for] Therac-25 treatments.the physicist at Kennestone noticed that the patient had a matching reddening on her back as though a burn had gone through her body, and the swollen area had begun to slough off layers of skin. She had received a 100x excess dose. 8 S.E. Practices Make a Difference Rework Cost (% of total) Productivity Increase (%) 3

4 What will we learn What is software engineering 10 In this class you will learn the: Why, What, and How Of great software development: Software that is built to support needs of its users and will withstand the test of time Weinberg's Second Law: If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization. In principle, we could certify software by testing, but by then it s rather late, it s already been built. Quality must be built in, that requires real engineering. 11 Software engineering is about doing Always bring pen and paper I will ask you do answer questions in class Why? Learning Requires Your Effort I will not grade the assignment but the participation If you try answering you will get points for participation even for wrong answers I you do not try you will not get points Because software engineering is about tradeoffs, in this class you will be often asked to choose one of multiple correct answers We are interested in understanding the tradeoffs Group discussion helps in understanding tradeoffs Often I will ask you to work in groups of 3 And now an example of question 4

5 2 definitions of Software Engineering Bauer, 1972 ISO/IEC/IEEE 24765, 2010 The establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines. * the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software Which is Better? Porsche Panamera GTS Ford F-350 It really depends on what you need or want, right? 14 Which is Better? OK, maybe we should compare apples to apples, eh? How about luxury compact cars? Volkswagen CC Sport vs. Mercedes Benz CLA

6 Which is Better? OK, maybe we should compare apples to apples, eh? How about luxury compact cars? Volkswagen CC Sport vs. Mercedes Benz CLA 250 A. B. There are many variables to consider when deciding which car is best. 16 Which is the Better Value? Subaru Forester, $26,800 Hyundai Tucson, $24, Which is the Better Value? [W]e found the Tucson to be noisy and hard-riding, with limited rear visibility and roominess. It also got an unimpressive 22 mpg overall. For about $2,000 more, the Subaru Forester,, is more comfortable, provides great visibility and handling, gets an impressive 26 mpg, and has excellent reliability. Subaru Forester, $26,800 Hyundai Tucson, $24,

7 Many Q s will be about tradeoffs Decisions in software development are complex, involving tradeoffs Cost/benefit Choice, balance among conflicting alternatives Discussing tradeoffs and persuading others to your view is authentic engineering practice In team engineering, if you can t speak it, it s like you didn t think it It s not enough to be smart, you have to communicate The way you get good is to practice Can t do this at home alone debate a team activity Get ready for your internships! 19 Key Engineering Concepts Design Variable Any feature of a product design that may be chosen or influenced by a designer Examples: Number of seats, weight, top speed, MPG, cost Independent variables are design choices; dependent variables are determined or influenced by choices made for other variables Tradeoff A conflict, compromise, or balance between two desirable design variables Increasing seats while holding cost constant may reduce cargo space Design Space The range of all independent variables in a design Seats: 2-8; Cargo Space: cubic feet; Maximize the important variables Cost is a dependent result variable, not an independent variable Value The degree to which benefits outweigh costs in a design Identify beneficial points in design space; choose on cost 20 The Clay Model A prototype of the car literally made out of clay. Simulations of the engineering aspects Software engineers: technology feasibility explorations Is the way the technologies will be combined going to work, given the constraints we have? Rapid build and test cycles, with feedback to improve are needed 21 7

8 Everyday Engineering Language It depends I can t really answer that question until I know more about our design goals [F-350 vs. Porsche Panamera] The cost outweighs the benefits It s an OK design, but the cost is more than the customer is willing to pay (or more than it will benefit the customer) [Mercedes-Benz CLA 250] It s a tradeoff We can t have it all, but if we re careful, we can balance these two design criteria to get a good result. [Subaru Forester] 22 Risk What is your definition of the word risk? 24 Risk = Danger? Google: A situation involving exposure to danger: "flouting the law was too much of a risk". This is the classic definition used by most Works most of the time However, it only looks at the downside (loss, failure) 8

9 Risk = Danger + Opportunity Economics The spread on the distribution of possible outcomes Investing in the stock market is more risky than savings, but has better chance of higher returns 26 Class structure Development Process Agile & plan-driven development processes Waterfall Spiral Agile: Scrum, XP Test-driven Development Behavioral-Driven Development Refactoring Requirements engineering Software Design Design patterns Strategy Observer Mediator Dependency Injection Factory Façade Decorator Adapter Singleton Composite MVC Class structure (2) Development Process The software development pipeline and tools IDEs Version control Continuous build and integration Issue tracking Shared source code ownership Pair programming Quality assurance Unit-testing Integration/acceptance-testing Code Inspection Software Development Software architecture Conceptual Integrity Architectural Styles Design principles Modeling with the UML Class Diagrams Sequence Diagrams State Diagrams 9

10 Class Project Structure and motivation 29 Project summary Goal A useful program Customer Students Technology You choose (and you are responsible for your choice) Teams 9 to 10 students Each responsible for one area (role) Process Agile but with some plan driven elements Metaphor Development team in CSE 110 Inc company Discussion session customer meeting 30 Risk Assessment Now is your turn to dicuss! What are the biggest risks you can foresee in your project? You will have to come up with a n updated risk matrix every week! 31 10

11 Basic knowledge you will need Java and Object-Oriented Development Test 32 A Quick Background on (Software) Process From improvisation to planning 33 Quality Control: A Short History Quality control in early manufacturing was Product-Centric ( what ) Regularly test product outputs Make adjustments to factory as needed But what to fix? In mid 20 th century, shift to Process- Centric quality control ( how ) Still test product outputs Also measure process elements Plans, people, tools Use cause-and-effect model to adjust factory as needed Statistics to precisely track variation Buzzword: Statistical Process Control SE has inherited this legacy SE methods are process-centric 34 11

12 What s a Software Process Anyway? It s the how that produces the what quality software desired, on time, under budget A prescribed sequence of steps The loop include: Plan Do Check: Measurement Product, and process itself Examples: bugs, progress, time, conflicts, re-work Adapt A software process is a self-referral algorithm Observes and adapts according to measurements Agile processes are adaptive to the customer Features, schedule, budget, priorities, markets, change Must measure these as well as internal elements (correctness) 35 Big bang development process Picture from Dan Pilone and Russ Miles: Head First Software Development, O Reilly, 2008 Big bang: where does it come from? Picture from Royce, Winston W. "Managing the development of large software systems." proceedings of IEEE WESCON. Vol. 26. No

13 The Waterfall Process First published in 1970 by Royce (not named Waterfall in the paper) This is THE example of a big bang approach! Picture from Royce, Winston W. "Managing the development of large software systems." proceedings of IEEE WESCON. Vol. 26. No The Waterfall Process (in DOD-STD-2167) Approved is 1985 as the mandatory way to develop software for DoD Picture from DOD-STD-2167, Military Standard, Defense System Software Development, 1985 The Cost of Waterfall By the late 1980s, the DoD was experiencing significant failure in acquiring software based on the strict, document-driven, single-pass waterfall model that DoD- Std-2167 required. A 1999 review of failure rates in a sample of earlier DoD projects drew grave conclusions: Of a total $37 billion for the sample set, 75% of the projects failed or were never used, and only 2% were used without extensive modification. Consequently, at the end of 1987, the DoD changed the waterfall-based standards to allow IID, on the basis of recommendations in an October 1987 report from the Defense Science Board Task Force on Military Software, chaired by Brooks. The report recommended replacing the waterfall, a failing approach on many large DoD projects, with iterative development:* * Larman, C.; Basili, V.R., "Iterative and incremental developments. a brief history," Computer, vol.36, no.6, pp.47,56, June

14 The Cost of Waterfall By the late 1980s, the DoD was experiencing significant failure in acquiring software based on the strict, document-driven, single-pass $37 billions total waterfall model that DoD- Std % failed required. or were never A used 1999 review = of $27.75 failure billions rates in a sample lost of earlier DoD projects drew grave conclusions: Of 23% a required total extensive $37 billion modification for the sample = $8.51 set, more 75% of the projects time/cost failed or were never used, and only 2% were used 2% without successful extensive modification. Consequently, = $0.74 at the success end of 1987, the DoD changed the waterfall-based standards to allow IID, on the basis of recommendations in an October 1987 report from the Defense Science Board Task Force on Military Software, chaired by Brooks. The report recommended replacing the waterfall, a failing approach on many large DoD projects, with iterative development:* * Larman, C.; Basili, V.R., "Iterative and incremental developments. a brief history," Computer, vol.36, no.6, pp.47,56, June 2003 The Waterfall Process (Question!) Royce 1970 How can we fix the Waterfall? Form teams of 3 with people sitting next to you. Discuss what is wrong with waterfall and come up with a solution. Discussion Points: where is the problem? In the order of activities In how design is documented. In how many time the process runs. In the testing procedures. In the customer involvement. The Waterfall Process (Royce Opinion) Comment on the Waterfall Picture I believe in this concept, but the implementation described above is risky and invites failure. Problem: The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as distinguished from analyzed. Rationale: The required design changes are likely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything are violated. Either the requirements must be modified, or a substantial change in the design is required. * Royce, Winston W. "Managing the development of large software systems." proceedings of IEEE WESCON. Vol. 26. No

15 The Waterfall Process (the next figure) Unfortunately they took the wrong picture! Picture from Royce, Winston W. "Managing the development of large software systems." proceedings of IEEE WESCON. Vol. 26. No The Waterfall Process (Royce Opinion) /2 The remainder of the Paper 5 features to fix Waterfall 1. Program design comes first 2. Document the design The remainder of this discussion presents five additional features that must be added to this basic approach to eliminate most of the development risks. 3. Do it twice 4. Plan control and monitor testing Basically: improve testing at all levels 5. Involve the customer * Royce, Winston W. "Managing the development of large software systems." proceedings of IEEE WESCON. Vol. 26. No Risk management Boehm s spiral process 48 15

16 The Spiral Development Model 4 quadrants Evaluate alternatives/identify and resolve risks Design and Verify Plan next phase Determine goals and constraints Iterative approach Risk driven! Picture from Boehm, B.W., "A spiral model of software development and enhancement," Computer, vol.21, no.5, pp.61,72, May 1988 Risks in Development Picture from Boehm, B.W., "A spiral model of software development and enhancement," Computer, vol.21, no.5, pp.61,72, May 1988 Risks in Development Picture from Boehm, B.W., "A spiral model of software development and enhancement," Computer, vol.21, no.5, pp.61,72, May

17 Top ten risks according to Boehm 1. Personnel shortfalls 2. Unrealistic schedules and budgets 3. Developing the wrong software functions 4. Developing the wrong user interface 5. Gold plating 6. Continuing stream of requirement changes 7. Shortfalls in externally furnished components 8. Shortfalls in externally performed tasks 9. Real-time performance shortfalls 10.Straining computer-science capabilities From table 4 in Boehm, B.W., "A spiral model of software development and enhancement," Computer, vol.21, no.5, pp.61,72, May 1988 Iteration The Heart of Agile Process 53 Planning with the customer With customer, you work out: 1. List of requirements or features 2. Budget 3. Deadline This triangle has a couple of names: Project management triangle Iron triangle Conveys tradeoffs 54 17

18 Reading questions What is the biggest risk of Big Bang according to the book? What is the general solution suggested? 55 Iterations are mini-projects Big Bang Waterfall Development Few well-defined quality measurement points, little data to guide process improvement Quality measures can be performed more frequently, informing frequent adjustments 57 Bite-sized Planning: User Stories Iterations 58 18

19 Take-Aways 59 19

Non-Technical Issues in Software Development

Non-Technical Issues in Software Development Non-Technical Issues in Software Development David E. Kieras! University of Michigan 1 Introduction Question: Why isn't software of higher quality?! More useful, more usable, more reliable?! Many large

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

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models

CSC 492 The Practice of Software Engineering. Lecture 3 University of Mount Union Software Life Cycle Models CSC 492 The Practice of Software Engineering Lecture 3 University of Mount Union Software Life Cycle Models Software Life Cycle Models Every program (no matter what size) has several distinct phases that

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

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

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

CSE 435 Software Engineering. Sept 16, 2015

CSE 435 Software Engineering. Sept 16, 2015 CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process

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

Agile Software Development

Agile Software Development E Learning Volume 5 Number 1 2008 www.wwwords.co.uk/elea Agile Software Development SOLY MATHEW BIJU University of Wollongong in Dubai, United Arab Emirates ABSTRACT Many software development firms are

More information

software studio software development processes Daniel Jackson

software studio software development processes Daniel Jackson software studio software development processes Daniel Jackson 1 One of the planning documents for software research revealed --in a parenthetical remark only-- an unchallenged tacit assumption by referring

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

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

A Contrast and Comparison of Modern Software Process Models

A Contrast and Comparison of Modern Software Process Models A Contrast and Comparison of Modern Software Process s Pankaj Vohra Computer Science & Engineering Department Thapar University, Patiala Ashima Singh Computer Science & Engineering Department Thapar University,

More information

The Therac 25 A case study in safety failure. Therac 25 Background

The Therac 25 A case study in safety failure. Therac 25 Background The Therac 25 A case study in safety failure Radiation therapy machine The most serious computer-related accidents to date People were killed References: Nancy Leveson and Clark Turner, The Investigation

More information

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, vukicevicsanja@yahoo.com 2 Faculty

More information

A Capability Maturity Model (CMM)

A Capability Maturity Model (CMM) Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability

More information

How To Understand The Limitations Of An Agile Software Development

How To Understand The Limitations Of An Agile Software Development A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science

More information

Software Engineering. Computer Science Tripos 1B Michaelmas 2011. Richard Clayton

Software Engineering. Computer Science Tripos 1B Michaelmas 2011. Richard Clayton Software Engineering Computer Science Tripos 1B Michaelmas 2011 Richard Clayton Critical software Many systems must avoid a certain class of failures with high assurance safety critical systems failure

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course

More information

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson Development Methodologies Development Methodologies Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm

More information

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC

More information

WHY THE WATERFALL MODEL DOESN T WORK

WHY THE WATERFALL MODEL DOESN T WORK Chapter 2 WHY THE WATERFALL MODEL DOESN T WORK M oving an enterprise to agile methods is a serious undertaking because most assumptions about method, organization, best practices, and even company culture

More information

COMP 354 Introduction to Software Engineering

COMP 354 Introduction to Software Engineering COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course

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

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Software Development Life Cycle Models - Process Models. Week 2, Session 1 Software Development Life Cycle Models - Process Models Week 2, Session 1 PROCESS MODELS Many life cycle models have been proposed } Traditional Models (plan-driven) } Classical waterfall model } Iterative

More information

Unit I. Introduction

Unit I. Introduction Unit I Introduction Product Life Cycles Products also have life cycles The Systems Development Life Cycle (SDLC) is a framework for describing the phases involved in developing and maintaining information

More information

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing

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

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

More information

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler

Best-Practice Software Engineering: Software Processes to Support Project Success. Dietmar Winkler Best-Practice Software Engineering: Software Processes to Support Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems Dietmar.Winkler@qse.ifs.tuwien.ac.at

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

Agile Software Engineering Practice to Improve Project Success

Agile Software Engineering Practice to Improve Project Success Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

More information

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb.

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb. CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ How Should We Build Software? Let s look at an example Assume we asked our IT folks if they can do the

More information

Agile Project Management

Agile Project Management Agile Project Management Is the waterfall eternal? Meet John van Spaandonk PhD electronics, 2 years business admin. Project / partner management embedded software in Copiers & Mobile com., Public transport,

More information

Outline. Agile Methods. Converse of Conway s Law. The Silver Bullet Fantasy (Brooks, 1986)

Outline. Agile Methods. Converse of Conway s Law. The Silver Bullet Fantasy (Brooks, 1986) Agile Methods Barry Boehm, CS 510 Lecture Fall 2001 (boehm@sunset.usc.edu) (http://sunset.usc.edu) Outline Silver bullets and lead bullets Information technology trends The dwindling lead-bullet niche

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

Risk Management (3C05/D22) Unit 3: Risk Management. What is risk?

Risk Management (3C05/D22) Unit 3: Risk Management. What is risk? Risk Management (3C05/D22) Unit 3: Risk Management Objectives To explain the concept of risk & to develop its role within the software development process To introduce the use of risk management as a means

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering

More information

The Software Life Cycle. CSE 308: Software Engineering

The Software Life Cycle. CSE 308: Software Engineering The Software Life Cycle CSE 308: Software Engineering 1 Life Cycle Models A software life cycle model represents all of the activities and work products necessary to develop a software system Life cycle

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

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng

Software Development Process and Activities. CS 490MT/5555, Fall 2015, Yongjie Zheng Software Development Process and Activities CS 490MT/5555, Fall 2015, Yongjie Zheng Software Process } A set of activities that leads to the production of a software product } What product we should work

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development

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

Agile Software Development Methodologies & Correlation with Employability Skills

Agile Software Development Methodologies & Correlation with Employability Skills Agile Software Development Methodologies & Correlation with Employability Skills Dineshkumar Lohiya School of Computer and Information Science University of South Australia, Adelaide Dineshkumar.Lohiya@postgrads.unisa.edu.au

More information

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4)

1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) 1. Software Process Models (Sommerville Chapters 4, 17, 19, 12.4) A software process model is a standardised format for planning organising, and running a development project. 1 Hundreds of different models

More information

Software Quality and Agile Methods

Software Quality and Agile Methods Software Quality and Agile Methods Ming Huo, June Verner, Liming Zhu, Muhammad Ali Babar National ICT Australia Ltd. and University of New South Wales, Australia {mhuo, jverner, limingz, malibaba }@cse.unsw.edu.au

More information

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring 2008. For the 1 st Quiz

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring 2008. For the 1 st Quiz COSC 3351 Software Design Recap for the first quiz Spring 2008 For the 1 st Quiz Three large topic areas: UML syntax and diagrams Software architectural styles Object oriented design principles A couple

More information

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?

And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software? System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in

More information

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room

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 So)ware Development

Agile So)ware Development Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast

More information

Unit 1 Learning Objectives

Unit 1 Learning Objectives Fundamentals: Software Engineering Dr. Rami Bahsoon School of Computer Science The University Of Birmingham r.bahsoon@cs.bham.ac.uk www.cs.bham.ac.uk/~rzb Office 112 Y9- Computer Science Unit 1. Introduction

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

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind.

Software Process. Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Software Process Process: A sequence of activities, subject to constraints on resources, that produce an intended output of some kind. Any process has these characteristics: The process prescribes all

More information

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart)

Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart) Lifecycle Planning Rapid Development & Software Project Survival Guide Steve McConnell Dave Root (Developed with Mel Rosso-Llopart) Version 1.4 David Root, 2005, all rights reserved 1 Topics Who am I to

More information

Friday, 10 December 2010. How to run a BI project?

Friday, 10 December 2010. How to run a BI project? How to run a BI project? But what about success? What is this about? Look at approaches to projects Aided by best practices Unpinned by management techniques What is this about? Methodology Project Management

More information

Software Development Processes. Software Life-Cycle Models

Software Development Processes. Software Life-Cycle Models 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

More information

CPSC 491 Lecture Notes Fall 2013

CPSC 491 Lecture Notes Fall 2013 CPSC 491 Lecture Notes Fall 2013 1 Overview Topics Process models (cont.) Key Ideas Basic definition and advantages/disadvantages of major lifecycle models Homework HW 3 (out) Ch 1, Ch 2: 29 47 2 Software

More information

Agile Development Overview

Agile Development Overview Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others

More information

SEEM4570 System Design and Implementation Lecture 10 Software Development Process

SEEM4570 System Design and Implementation Lecture 10 Software Development Process SEEM4570 System Design and Implementation Lecture 10 Software Development Process Software Development A software development process: A structure imposed on the development of a software product Also

More information

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD

Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD Development Techniques CSE301 University of Sunderland Harry R. Erwin, PhD Sources Boehm, 1981, Software Engineering Economics, Prentice- Hall. Stephens and Rosenberg, 2003, Extreme Programming Refactored:

More information

Software Development Process Models

Software Development Process Models Software Development Process Models Balasankar C S1 M.Tech CSE 1 / 24 Software Development Process Models Activities directly related production design, coding, testing Specifies major development & quality

More information

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance

Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance Protect Your Organization With the Certification That Maps to a Master s-level Education in Software Assurance Sponsored by the U.S. Department of Homeland Security (DHS), the Software Engineering Institute

More information

CSE 70: Software Engineering Welcome, Overview: Past, Present, Future

CSE 70: Software Engineering Welcome, Overview: Past, Present, Future CSE 70: Software Engineering Welcome, Overview: Past, Present, Future Ingolf Krueger ikrueger AT ucsd.edu, http://sosa.ucsd.edu Department of Computer Science & Engineering University of California, San

More information

Umbrella: A New Component-Based Software Development Model

Umbrella: A New Component-Based Software Development Model 2009 International Conference on Computer Engineering and Applications IPCSIT vol.2 (2011) (2011) IACSIT Press, Singapore Umbrella: A New Component-Based Software Development Model Anurag Dixit and P.C.

More information

Agile Testing. What Students Learn

Agile Testing. What Students Learn Agile Testing Transition sound traditional test practices into an Agile development environment. By using a step-by-step approach, this course documents how to transition from traditional test practices

More information

Software Development with Agile Methods

Software Development with Agile Methods Case Study Software Development with Agile Methods Introduction: Web application development is a much studied, heavily practiced activity. That is, capturing and validating user requirements, estimating

More information

Changing Roles and Responsibilities from Traditional project management to Agile project management

Changing Roles and Responsibilities from Traditional project management to Agile project management Changing Roles and Responsibilities from Traditional project management to Agile project management Vishvadeep Tripathi School of computer science and IT Devi Ahilya University Indore, India vishvadeep@gmail.com

More information

Software Requirements, Third Edition

Software Requirements, Third Edition j Microsoft Software Requirements, Third Edition Karl Wiegers and Joy Beatty Contents Introduction Acknowledgments xxv xxxi PART I SOFTWARE REQUIREMENTS: WHAT, WHY, AND WHO Chapter 1 The essential software

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

Agile Scrum Workshop

Agile Scrum Workshop Agile Scrum Workshop What is agile and scrum? Agile meaning: Able to move quickly and easily. Scrum meaning: a Rugby play Agile Scrum: It is an iterative and incremental agile software development framework

More information

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1

Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1 1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning

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

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

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

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects.

Keywords Software Engineering, Software cost, Universal models. Agile model, feature of software projects. Volume 4, Issue 6, June 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Comparative Analysis

More information

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem

Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem Agile processes Extreme Programming, an agile software development process Perdita Stevens School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development

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

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

Hamid Faridani (h.faridani@rogers.com) March 2011

Hamid Faridani (h.faridani@rogers.com) March 2011 Hamid Faridani (h.faridani@rogers.com) March 2011 Introduction Methodologies like Waterfall, RUP and Agile have all become key tools for software developers and project manager s to aid them in delivering

More information

Models of Software Development

Models of Software Development October 28, 2015 Verification & Validation In many computer science courses, software is submitted once, graded, and thrown away. In real life, software development is an process. Some attempts to codify

More information

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or

More information

Cost Estimation Strategies COST ESTIMATION GUIDELINES

Cost Estimation Strategies COST ESTIMATION GUIDELINES Cost Estimation Strategies Algorithmic models (Rayleigh curve Cost in week t = K a t exp(-a t 2 ) Expert judgment (9 step model presented later) Analogy (Use similar systems) Parkinson (Work expands to

More information

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems

Software Processes. Coherent sets of activities for specifying, designing, implementing and testing software systems Questions What is the life cycle of a software product? Why do we need software process models? What are the goals of a software process and what makes it different from other industrial processes? Software

More information

Advanced Test-Driven Development

Advanced Test-Driven Development Corporate Technology Advanced Test-Driven Development Software Engineering 2007 Hamburg, Germany Peter Zimmerer Principal Engineer Siemens AG, CT SE 1 Corporate Technology Corporate Research and Technologies

More information

Classical Software Life Cycle Models

Classical Software Life Cycle Models Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation

More information

ITERATIVE DEVELOPMENT: KEY TECHNIQUE FOR MANAGING SOFTWARE DEVELOPMENTS. Dwayne Read Strategic Systems (WA) Pty Ltd dwayne@ss.com.

ITERATIVE DEVELOPMENT: KEY TECHNIQUE FOR MANAGING SOFTWARE DEVELOPMENTS. Dwayne Read Strategic Systems (WA) Pty Ltd dwayne@ss.com. ITERATIVE DEVELOPMENT: KEY TECHNIQUE FOR MANAGING SOFTWARE DEVELOPMENTS Dwayne Read Strategic Systems (WA) Pty Ltd dwayne@ss.com.au Abstract Iterative development provides the fundamental structure that

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

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled

More information

Agile Processes and Methodologies: A Conceptual Study

Agile Processes and Methodologies: A Conceptual Study Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida Sheetal.meenu@gmail.com Darothi Sarkar Amity School of Engineering &

More information

Software Engineering and Scientific Computing

Software Engineering and Scientific Computing Software Engineering and Scientific Computing Barbara Paech, Hanna Valtokari Institute of Computer Science Im Neuenheimer Feld 326 69120 Heidelberg, Germany http://se.ifi.uni-heidelberg.de paech@informatik.uni-heidelberg.de

More information

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan YOUR SUCCESS IS OUR FOCUS Whitepaper Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan 2009 Hexaware Technologies. All rights reserved. Table of Contents 1. Introduction 2. Subject Clarity 3. Agile

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle The Second Management Innovation and Practices Conference, Tamsui, Taiwan, April 2001,Volume 2, pp59-68 應 用 測 試 於 軟 體 發 展 生 命 週 期 Testing In The Software Development Life Cycle 蔡 博 元 莊 立 文 真 理 大 學 資 訊

More information