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

Size: px
Start display at page:

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

Transcription

1 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

2 Hundreds of different models exist and are used, but many are minor variations on a small number of basic models. In this section we: survey the important basic models, and consider how to choose between them. 2

3 1.1. Planning with Models SE projects usually live with a fixed financial budget. (An exception is maintainance?) Additionally, time-to-market places a strong time constraint. There will be other project constraints such as staff. 3

4 money Specialist technical staff Support e.g. sales staff management Project constraints Computing resources time Examples of Project Constraints 4

5 Project planning is the art of scheduling/constraint solving the project parameters, along various dimensions: time, money, staff in order to optimise: project risk [low] (see later) profit [high] customer satisfaction [high] worker satisfaction [high] long/short-term company goals 5

6 Questions: 1. What are project parameters? 2. Are there good patterns of organisation that we could copy? 6

7 Project parameters describe the whole project, but we must at least describe: resources needed (people, money, equipment, etc) dependency & timing of work (flow graph, work packages) rate of delivery (reports, code, etc) It is impossible to measure rate of progress except with reference to a plan. 7

8 In addition to project members, the following may need access to parts of the project plan: Management Customers Subcontractors (outsourcing) Suppliers (e.g. licenses, strategic partners) Investors (long term investment) Banks (short term cash) 8

9 1.2. Project Visibility Unlike other engineers (e.g. civil, electronic, chemical etc.) software engineers do not produce anything physical. It is inherently difficult to monitor an SE project due to lack of visibility. 9

10 This means that SE projects must produce additional deliverables (artifacts) which are visible, such as: Design documents/ prototypes Reports Project/status meetings Client surveys (e.g. satisfaction level) 10

11 1.3. What is a Software Process Model? Definition. A (software/system) process model is a description of the sequence of activities carried out in an SE project, and the relative order of these activities. 11

12 It provides a fixed generic framework that can be tailored to a specific project. Project specific parameters will include: Size, (person-years) Budget, Duration. project plan = process model + project parameters 12

13 There are hundreds of different process models to choose from, e.g: waterfall, code-and-fix spiral rapid prototyping unified process (UP) agile methods, extreme programming (XP) Scrum COTS Most are minor variations on a small number of basic models. 13

14 By changing the process model, we can improve and/or tradeoff: Development speed (time to market) Product quality Project visibility Administrative overhead Risk exposure Customer relations, etc, etc. 14

15 Normally, a process model covers the entire lifetime of a product. From birth of a commercial idea to final de-installation of last release i.e. The three main phases: design, build, maintain. (50% of IT activity goes here!) 15

16 We can sometimes combine process models e.g. 1. waterfall inside evolutionary onboard shuttle software 2. Evolutionary inside waterfall e.g. GUI prototyping 3. SCRUM inside waterfall We can also evolve the process model together with the product to account for product maturity, e.g. rapid prototyping waterfall 16

17 1.4. Waterfall Model The waterfall model is the classic process model it is widely known, understood and used. In some respect, waterfall is the common sense approach. R.W. Royce, Managing the Development of Large Software Systems: Concepts and Techniques, Proc. IEEE Westcon, IEEE Press,

18 User Requirements phase output User Requirements Document Software Requirements Architecture Design Software Requirements Document Architectural Design Document Swimming upstream The Waterfall Workflow Time Detailed design & Coding Testing Delivery Detailed Design & Code 18

19 Advantages 1. Easy to understand and implement. 2. Widely used and known (in theory!) 3. Fits other engineering process models: civil, mech etc. 4. Reinforces good habits: define-before- design, designbefore-code 8. Identifies deliverables and milestones 9. Document driven: People leave, documents don t Published documentation standards: URD, SRD, etc., e.g. ESA PSS Works well on large/mature products and weak teams. 19

20 Disadvantages 1. Doesn t reflect iterative nature of exploratory development. 2. Sometimes unrealistic to expect accurate requirements early in a project 3. Software is delivered late, delays discovery of serious errors. 4. No inherent risk management 5. Difficult and expensive to change decisions, swimming upstream. 6. Significant administrative overhead, costly for small teams and projects. 20

21 1.5. Code-and-Fix This model starts with an informal general product idea and just develops code until a product is ready (or money or time runs out). Work is in random order. Corresponds with no plan! (Hacking!) 21

22 Advantages 1. No administrative overhead 2. Signs of progress (code) early. 3. Low expertise, anyone can use it! 4. Useful for small proof of concept projects, e.g. as part of risk reduction. 22

23 Disadvantages 1. Dangerous! 1. No visibility/control 2. No resource planning 3. No deadlines 4. Mistakes hard to detect/correct 2. Impossible for large projects, communication breakdown, chaos. 23

24 1.6. Evolutionary Development Types Type 1: Exploratory Development: customer assisted development that evolves a product from ignorance to insight, starting from core, well understood components (e.g. GUI?) Type 2: Throwaway Prototyping: customer assisted development that evolves requirements from ignorance to insight by means of lightweight disposable prototypes. 24

25 1.7. Type 1: Spiral Model Extends waterfall model by adding iteration to explore /manage risk Project risk is a moving target. Natural to progress a project cyclically in four step phases 1. Consider alternative scenarios, constraints 2. Identify and resolve risks 3. Execute the phase 4. Plan next phase: e.g. user req, software req, architecture then goto 1 25

26 In 1988 Boehm developed the spiral model as an iterative model which includes risk analysis and risk management. Key idea: on each iteration identify and solve the sub-problems with the highest risk. 26

27 Determine objectives, alternatives & constraints Cumulative cost Evaluate alternatives, Identify & resolve risks C.f. Sommerville Figure 4.5 Review & commitment Integration & Test plan Plan next phase Start Requirements plan Development plan End Prototypes Phase1 Phase2 Phase3 Concept Of Operation Requirements validation Acceptance Testing Operational Prototype Design, Detailed design Validation & Verification Coding Unit & Integration Testing Develop & verify next-level product 27

28 Advantages 1. Realism: the model accurately reflects the iterative nature of software development on projects with unclear requirements 2. Flexible: incoporates the advantages of the waterfall and evolutionary methods 3. Comprehensive model decreases risk 4. Good project visibility. 28

29 Disadvantages 1. Needs technical expertise in risk analysis and risk management to work well. 2. Model is poorly understood by nontechnical management, hence not so widely used 3. Complicated model, needs competent professional management. High administrative overhead. 29

30 1.8. Type 2: Rapid Prototyping Key idea: Customers are non-technical and usually don t know what they want. Rapid prototyping emphasises requirements analysis and validation, also called: customer oriented development, evolutionary prototyping 30

31 Requirements Capture Quick Design Iterate Build Prototype Customer Evaluation of Prototype Rapid Prototype Workflow Engineer Final Product 31

32 Advantages 1. Reduces risk of incorrect user requirements 2. Good where requirements are changing/ uncommitted 3. Regular visible progress aids management 4. Supports early product marketing 32

33 Disadvantages I 1. An unstable/badly implemented prototype often becomes the final product. (Migration to a type 1 process!) 2. Requires extensive customer collaboration Costs customers time/money Needs committed customers Difficult to finish if customer withdraws May be too customer specific, no broad market 33

34 Disadvantages II 3. Difficult to know how long project will last 4. Easy to fall back into code-and-fix without proper requirements analysis, design, customer evaluation and feedback. 34

35 1.9. Type 1: Agile Software Processes Need for an adaptive process model suited to changes in: User requirements Customer business models Technology In-house environment De-emphasise documentation, esp. URD! Emphasise change management e.g. reverse engineering design! Examples include XP, SCRUM, Agile modeling etc 35

36 Agile Principles (C.f Sommerville Fig 17.3) Incremental delivery of software Continuous collaboration with customer Embrace change Value participants and their interaction Simplicity in code, 36

37 XP Release Cycle Select release stories Breakdown stories to tasks Plan release Evaluate system Release code Develop/ Integrate/ Test code For a sample story see Sommerville Figure 17.6 Same as use-case? 37

38 XP Practices (Summary) 1. Incremental planning 2. Small releases 3. Simple design 4. Programming in pairs (egoless programming, see 7.) 5. Test-driven development 6. Software refactoring (needs UML?) 7. Collective ownership: metaphors, standards, code 8. Continuous integration 9. Sustainable pace (No overtime!) 10. On-site customer! 38

39 Advantages 1. Lightweight methods suit small-medium size projects 2. Produces good team cohesion 3. Emphasises final product 4. Iterative 5. Test-based approach to requirements and quality assurance 39

40 Disadvantages 1. Difficult to scale up to large projects where documentation is essential 2. Needs experience and skill if not to degenerate into code-and-fix 3. Programming pairs is costly (but see productivity literature) 4. Test case construction is a difficult and specialised skill. 40

41 1.10. SCRUM Schwaber and Beedle 2002 (1986?) Short iterations sprints Potentially deliverable product increment (working and tested) Project kick-off meeting brainstorm first version Produces first product backlog vision in terms of business requirements Current understanding not final contract 41

42 Product Backlog High level document Items grouped into releases with planned release dates After each sprint, product owner has 3 options Turn sprint result into product increment Declare project finished and release Shift items between releases or change release dates 42

43 Monthly cycle: Sprint Starts with sprint planning meeting: select items from product backlog for sprint backlog (2 backlogs!) Determine tasks and estimate effort of sprint backlog Short, typically 2-4 weeks At end of sprint: Review progress Define scope of next sprint Add unfinished work to backlog 43

44 Project Roles (pigs!) Product owner (aka client): responsible for requirements, creates and prioritises backlog Scrum master: sets up and enforces project rules and practices. Manages daily meetings, progress, obstacles. Interface between team and product owner. Scrum team: develops increments. Cross functional, no job roles! 44

45 Project Roles (chickens) Stakeholders (customers, vendors) People who enable the project and for whom project will produce the benefits. Managers People who set up environment for the product development organizations 45

46 Daily Cycle Daily scrum meeting (also a scrum of scrums) 15 min timeboxed, same time and place Individual status report (yesterday s and today s work) Anyone attends, but only pigs speak New obstacles New action for the day Update burn down chart which plots cumulative remaining sprint effort as a function of time. Each backlog item has an effort estimate that must be updated, based on new information. 46

47 Scrum Team Scrum Master Product Owner Client Daily Scrum Plan Sprint :Sprint Backlog :Product Backlog Kick off project :Problem Statement :Action Items Do Work :Obstacles Remove Obstacle Daily Cycle Monthly Cycle :Product Increment Review Sprint Deliver Release :Product Release 47

48 (Dis) Advantages Advantages handles changing requirements easy to learn and use regular working deliverables can be used for maintenance open to risk management Disadvantages Hard to predict what documentation besides user requirements? unrealistic to expect all do everything not suitable for large projects (daily scrum?) Not actually IT specific 48

49 1.11. Rational Unified Process (RUP) Hybrid model inspired by UML and Unified Software Development Process. A generic component-based process? Three views on the process Dynamic view: RUP phases Static view: RUP activities Practise view: RUP best-practise 49

50 Details Lifetime of a software product in cycles: Birth, childhood, adulthood, old-age, death. Identify product maturity stages Each project iteration cycle is a phase, culiminating in a new release (c.f. Spiral model) 50

51 Inception Elaboration Transition Construction UP process RUP phase workflow (drawn as a UML Statechart!) 51

52 RUP Phases Phases are goal directed and yield deliverables: Inception Establish the business case. Identify external entities (actors, systems). Estimate ROI. Elaboration Understand problem domain. Establish architecture, and consider design tradeoffs. Identify project risks. Estimate and schedule project. Decide on build vs. buy. Construction Design, program and test. Components are bought and integrated. Transition release a mature version and deploy in real world. 52

53 RUP Workflows RUP separates what and when into two orthogonal process views. When modeled by phases What modeled by workflows (c.f. Sommerville Figure 4.13) Any workflows can be active in any phases. Anything that instantiates the following diagram is an instance of RUP!! An agile instantiation exists (Larman 2002) 53

54 Project Management Unified Process: SoftwareProcess Product Environment Workflow * * Cycle releases Requirements Analysis/ Design 4 Phase Inception Elaboration Implementation * Construction Testing Iteration Transition Deployment Business Modeling * Artifact 54

55 RUP Practise View 1. Develop software iteratively 2. Manage requirements 3. Use component-based architectures 4. Visually model software 5. Verify software quality 6. Control software changes 55

56 Use Case Model UML class diagram! specified by Analysis Model realised by deployed by implemented by Design Model verified by Deployment Model Implementation Model Visual software model = UML Model-based Development Test Model 56

57 (Dis) Advantages Difficult to judge without knowing the actual chosen instantiation of the RUP Unique use of the UML philosophy of SE. Can be as good/better than any other process Also as bad/worse than 57

58 1.12. COTS COTS = Commercial Off-The-Shelf software Integrate a solution from existing commercial software components using minimal software plumbing All projects seek some software re-use Holy Grail of SE See also Sommerville Chapter

59 Possible Approaches 1. Third-party vendors: component libraries, Java beans, 2. Integration solutions: CORBA, MS COM+, Enterprise Java Beans, software frameworks 3. Good software engineering: application generators (Yacc, Lex Sommerville 18.3), generic programming (types, polymorphism etc) 4. Commercial finished packages: databases, spread sheets, word processors, web browsers, etc. 5. Design to open source interfaces: e.g. XML, ISO standards, etc. 59

60 Distributed COTS: Web Service Providers Integration of web-services: third party service providers using (XML-based?) service models: JINI extension of Java for service discovery SOAP (Simple Object Access Protocol) WSDL (Web Services Description Language) UDDI (Universal Description, Discovery and Integration) Cloud computing 60

61 Advantages 1. Fast, cheap solution 2. Explore solutions with existing products (c.f. your project work!) 3. May give all the basic functionality 4. Well defined integration project, easy to run. 5. Open to outsourcing (c.f. Point 4) 6. Build strategic supplier partnerships 61

62 Disadvantages 1. Limited functionality/ compromise/ requirements drift. 2. Component identification can be tricky mistakes occur! 3. Licensing problems: freeware, shareware, etc. 4. Customer lock-in: license fees, maintainance fees, upgrades 5. Compatibility issues/loss of control: 1. Between components (doesn t start!) 2. During maintenance (suddenly stops!) 62

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

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

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

A Comparison between Five Models of Software Engineering

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

More information

ASSESSMENT OF SOFTWARE PROCESS MODELS

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

More information

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

A Comparison Between Five Models Of Software Engineering

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

More information

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

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

More information

An Assessment between Software Development Life Cycle Models of Software Engineering

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

More information

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

How To Understand The Software Process

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

More information

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering

Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Software Development Process Models and their Impacts on Requirements Engineering Organizational Requirements Engineering Prof. Dr. Armin B. Cremers Sascha Alda Overview Phases during Software Development

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

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...

More information

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

SOFTWARE PROCESS MODELS

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

More information

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

System development lifecycle waterfall model

System development lifecycle waterfall model Slide 6.1 System development lifecycle waterfall model Figure 6.1 The waterfall model of system development lifecycle Slide 6.2 The b model Figure 6.2 The b model Source: N D Birrell and M A Ould, A Practical

More information

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

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

More information

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

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

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

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

Today: Software Development Models (cont)

Today: Software Development Models (cont) Today: Software Development Models (cont) CPSC 491 Development Processes (aka Development Lifecycle) Define the steps, and their order, to be carried out The main steps (or phases) generally include: 1.

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

Rapid Software Development

Rapid Software Development Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery

More information

Software Engineering

Software Engineering Software Engineering Introduction Software engineering Statistics Software Development Process Models Project Management Overview Situation Before programs were quite small written by one person Today

More information

CSSE 372 Software Project Management: More Agile Project Management

CSSE 372 Software Project Management: More Agile Project Management CSSE 372 Software Project Management: More Agile Project Management Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Plan Create a plan for

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

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

Singhania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia

Singhania University, Jhunjhunu, Rajasthan, India. 2 Department of Information Technology King Abdul Aziz University, Jeddah, Saudi Arabia www.ijcsi.org 441 A Comprehensive Study of Commonly Practiced Heavy and Light Weight Software Methodologies 1 Asif Irshad Khan, 2 Rizwan Jameel Qurashi and 3 Usman Ali Khan 1 Department of Computer Science

More information

Development Methodologies

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

More information

Software Project Models

Software Project Models INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini Email-abhinav.prashar@gmail.com,

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

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

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management

More information

3C05: Unified Software Development Process

3C05: Unified Software Development Process 3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2

More information

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

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

More information

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

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes

Objectives. The software process. Basic software process Models. Waterfall model. Software Processes Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

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

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

Introduction to Agile and Scrum

Introduction to Agile and Scrum Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro

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

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

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

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

Introduction to Software Engineering: Project Management ( Highlights )

Introduction to Software Engineering: Project Management ( Highlights ) Introduction to Software Engineering: Project Management ( Highlights ) John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from chapters 14, 15, and 16 of Object

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

Software development processes Life-cycle Models

Software development processes Life-cycle Models Software development processes Life-cycle Models Lecture 2 Kari Systä 20.1.2014 TIE-21100&21106/K.Systä 1 About weekly exercises TUE 1015-1200 TC131 Free space TUE 1214-1400 TC131 full WED 1015-1400 TC163

More information

I219 Software Design Methodology

I219 Software Design Methodology I219 Software Design Methodology JAIST Master s Program Fall 2014 Nguyen Van Vu nvu@fit.hcmus.edu.vn Topics Course Introduction Objectives and Scope Evaluation Policies Content and Schedule Basic Concepts

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

A complete software development process of a general report publication service implemented using Web Services

A complete software development process of a general report publication service implemented using Web Services A complete software development process of a general report publication service implemented using Web Services Anders Nilsson & Klas Fahlberg February 1, 2008 Master s Thesis in Computing Science, 2*30

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

Chapter 2 Software Processes

Chapter 2 Software Processes Chapter 2 Software Processes Chapter 2 Software Processes Slide 1 Topics covered Software processes and process models Generic models: Waterfall Incremental development Reuse-oriented software engineering

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research)

International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Association of Scientific Innovation and Research (IASIR) (An Association Unifying the Sciences, Engineering, and Applied Research) International Journal of Engineering, Business and Enterprise

More information

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS *1 Mrs. Kalaivani S., * 2 Mrs. Kavitha S., *1 M.Phil Research Scholar, Department of Computer Science Auxilium College (Autonomous), Vellore, TamilNadu,

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

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice In this Lecture you will Learn: Development Chapter 5C About the Unified Software Development How phases relate to workflows in an iterative life cycle An approach to system development Major activities

More information

Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1

Introduction. Introduction. Software Engineering. Software Engineering. Software Process. Department of Computer Science 1 COMP209 Object Oriented Programming System Design Mark Hall Introduction So far we ve looked at techniques that aid in designing quality classes To implement a software system successfully requires planning,

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

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

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational

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

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

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality

More information

Agile Software Development

Agile Software Development Agile Software Development Use case for Agile Software Development Methodology in an Oil and Gas Exploration environment. White Paper Introduction No matter what business you are in, there are critical

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

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

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases

Software Processes. The software process. Generic software process models. Waterfall model. Waterfall model phases Software Processes CSC 221 Introduction to Software Engineering software processes extract from Sommerville s chapter 3 slides Alan Dix Coherent sets of activities for specifying, designing, implementing

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

Agile and lean methods for managing application development process

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

More information

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

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

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

D25-2. Agile and Scrum Introduction

D25-2. Agile and Scrum Introduction D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of

More information

Web Application Development Process

Web Application Development Process Web Engineering Web Application Development Process Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements

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

Software Lifecycles Models

Software Lifecycles Models Software Lifecycles Models Software Engineering Lecture 17 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline of Today s Lecture Modeling the software life cycle Sequential

More information

Software Life Cycles and Configuration Management

Software Life Cycles and Configuration Management Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction

More information

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

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

More information

Agile and Secure: Can We Be Both?

Agile and Secure: Can We Be Both? Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Keith Landrus Director of Technology Denim Group Ltd. keith.landrus@denimgroup.com (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

Quality Assurance Software Development Processes

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

More information

Software development lifecycle

Software development lifecycle Software Life Cycle Software development lifecycle The power of process How complex is software? What is complex? How complex is software? Measures of complexity: lines of code number of classes number

More information

The Agile Manifesto is based on 12 principles:

The Agile Manifesto is based on 12 principles: The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered

More information

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology

CHAPTER 3 : AGILE METHODOLOGIES. 3.3 Various Agile Software development methodologies. 3.4 Advantage and Disadvantage of Agile Methodology CHAPTER 3 : AGILE METHODOLOGIES 3.1Introductions 3.2 Main Stages in Agile project 3.3 Various Agile Software development methodologies 3.4 Advantage and Disadvantage of Agile Methodology 3.1Introductions

More information

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective: CS 487 Week 8 Reading: 1. Ian Sommerville, Chapter 3. Objective: 1. To check the understandibility of the students in life cycle and process model for development of a software product. 2. To check if

More information

The Evolving State of ESPM

The Evolving State of ESPM Foreword Introduction Part One The Evolving State of ESPM xxxi xxxiii 1 Chapter 1 The Changing Landscape of Software Development What Is a Software Development Project? Examples of Two Software Development

More information

Agile methods. Objectives

Agile methods. Objectives Agile methods CMSC435-1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods To explain

More information

Agile Project Management. Jan Pool NioCAD University of Stellenbosch 16 April 2008

Agile Project Management. Jan Pool NioCAD University of Stellenbosch 16 April 2008 Agile Project Management Jan Pool NioCAD University of Stellenbosch 16 April 2008 Introduction Objective: Introduce a general Agile Project Management framework. Target Audience: Product, program and project

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

Project Management. Session 3: Planning

Project Management. Session 3: Planning Project Management Session 3: Planning 1 Content 1. Phases in Detail Step-by-step of typical software project 2. Lifecycle Planning 3. Project plans Next Week: Lots of Project-ish Details: WBS, PERT, CPM,

More information

Part 3 Overview. People and Projects. Where it starts. Project Failure Rates. Part III. Verteilte Web-basierte Systeme.

Part 3 Overview. People and Projects. Where it starts. Project Failure Rates. Part III. Verteilte Web-basierte Systeme. Verteilte Web-basierte Systeme SS 2006 Verteilte Web-basierte Systeme SS 2006 Verteilte Web-basierte Systeme Dr.-Ing. Martin Gaedke Universität Karlsruhe (TH) Part III Aspects of the Life-Cycle Part 3

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

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

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development

EMC PERSPECTIVE. Adopting an Agile Approach to OSS/BSS Development EMC PERSPECTIVE Adopting an Agile Approach to OSS/BSS Development Reader ROI The agile software methodology is different from the traditional approach in that requirements gathering and analysis, design,

More information