INF5181: Process Improvement and Agile Methods in Systems Development

Size: px
Start display at page:

Download "INF5181: Process Improvement and Agile Methods in Systems Development"

Transcription

1 INF5181: Process Improvement and Agile Methods in Systems Development Lecture 12 September 2017: Standard software process models. Understanding processes and their contexts INF5181 / / Slide 1 Structure The concept of software process model Standard process models Choosing, adapting and improving software process models Understanding processes and their contexts Describing context Describing processes Describing outcome Exercise for group lecture INF5181 / / Slide 2 1

2 Process taxonomy What are typical processes in a software project? Product-Engineering Processes Engineering Processes Processes Process-Engineering Processes Non-Engineering Processes Business Processes Social Processes Process Modeling Processes Development Processes Project Mgmt Processes Measurement Processes Maintenance Processes Product Line Processes Quality Mgmt Processes Conf Mgmt Processes Improvement Processes INF5181 / / Slide 3 What is a model? Why do we create models? INF5181 / / Slide 4 2

3 12/09/17 Real process vs. model of a process System development process (=actual, real process) Those activities that are carried out in a development project Process model (= formal process) An abstract representation of a process. The model describes the process from a certain perspective A process model may be Descriptive: describes an actual process the way it is (model of) Prescriptive (normative): describes a process the way it should be* (model for) *The terms Process model are mostly used in the prescriptive meaning, also in this course INF5181 / / Slide 5 Formal Process model: What we say we do or what we should do INF5181 / / Slide 6 versus Real process Process execution: What we actually do 3

4 12/09/17 Descriptive vs. Prescriptive Process Models How it should be done? How it is done? INF5181 / / Slide 7 Process versus Process Model Lee Osterweil, Software are Processes too (ICSE 1986): While a process is a vehicle doing a job, a process description* is a specification of how the job is to be done. Thus cookbook recipes are process descriptions while the carrying out of the recipes are processes. * = Prescriptive process model INF5181 / / Slide 8 4

5 Abstraction levels of process models Pre-defined standard process models like Scrum, Kanban, XP, Cleanroom... Inspire Organizational Process model Process models exist at 3 levels: standard level, organizational level, and project level (type and instance) Your INF5181 project Project (type) 1 process model Project (type) 2 process model Project (type) n process model INF5181 / / Slide 9 Abstraction levels of software process models Standard process models (Waterfall, V-model, Scrum, etc.) Process models Company/group process models Project process models Process conformance Real process Software (development) process INF5181 / / Slide 10 5

6 Why is process conformance important? (Process conformance = how well the actual process follows the formal process) How could that be relevant to your project in INF5181? INF5181 / / Slide 11 Structure The concept of software process model Standard process models Choosing, adapting and improving software process models Understanding processes and their contexts Describing context Describing processes Describing outcome Exercise for group lecture INF5181 / / Slide 12 6

7 Generality of process models Standard process models (waterfall, V-model, Scrum, etc.) General for all software development Company/group process models Project process models Tailored to a company/department/ group Tailored to a given project/situation (for example, using BPMN) INF5181 / / Slide 13 Project process model: INF5181 / / Slide 14 7

8 Well-known standard software process models Waterfall V-Model Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance Agile / SCRUM Spiral The Waterfall model Idea: Sequential creation of products on different levels of abstraction (e.g., precede design by requirements, precede code by design) Controlled iterations are still acceptable Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance 8

9 Prerequisites for the Waterfall model The requirements are knowable in advance of implementation. The requirements have no unresolved, 1 high-risk implications, such as risks due to COTS choices, cost, schedule, performance, safety, security, user interfaces, and organizational impacts. The nature of the requirements will not change very much either during development or evolution. The requirements are compatible with all the key system stakeholders expectations, including users, customer, developers, maintainers, investors. The right architecture for implementing the requirements is well understood. There is enough calendar time to proceed sequentially (Barry Boehm 2000) INF5181 / / Slide 17 Evaluation of the waterfall model Advantages Easy to understand Well-defined stages make it clear who are responsible at each time and facilitates management Disadvantages Requirements and design risks are not discovered until late in the life cycle Inflexible with respect to, for example, changes in requirements Written definitions of requirements often lead to misinterpretations Working software is produced late INF5181 / / Slide 18 9

10 The V-model Prerequisites: As for the waterfall model Time *Figure from: Donald G. Common system and software testing pitfalls: how to prevent and mitigate them: descriptions, symptoms, consequences, causes, and recommendations. Addison-Wesley Professional, 2014 Evaluation of the V-model Advantages Easy to understand. Demonstrates the relationships between each phase of the development life cycle and its associated phase of testing Strong emphasis on testing, emphasizes early test planning Disadvantages Basically the same as for the waterfall model INF5181 / / Slide 20 10

11 The Spiral Model a meta model Idea: Early in the project, identify risks: what may prevent the project from reaching its goals and how likely is it that the event will occur Depending on the result of the risk analysis, choose process model (waterfall, V-model, Agile (Scrum, Kanban), etc. For example, if the assumptions of the waterfall model are present, use it. Often this is not the case, use Project Start Prerequisites: Ability to identify and categorize risks *One may go backward in the spiral Risk analysis Risks are situations or possible events that can cause a project to fail to meet its goals. They range in impact from trivial to fatal and in likelihood from certain to improbable. A risk management plan enumerates the risks and prioritizes them in degree of importance, as measured by a combination of the impact and likelihood of each. For each risk the plan also states a mitigation strategy to deal with the risk. For instance, the risk that technology is unready may be mitigated by an appropriate prototype implementation in an early spiral cycle. (Barry Boehm, 2000) 11

12 Evaluation of the Spiral model Advantages High amount of risk analysis. Hence, risk reduction Good for large and mission-critical projects Strong approval and documentation control Disadvantages Risk analysis requires highly specific expertise Project s success is highly dependent on the risk analysis phase INF5181 / / Slide 23 Incremental and iterative systems development (agile) An increment is a part that fulfills a subset of the requirements an aspect of the system An iteration is a cycle in the development an aspect of the process The purpose of an iteration may be to develop an increment but may also be to refine or improve an increment or the structure of the system INF5181 / / Slide 24 12

13 Incremental delivery delivered system design build install evaluate first incremental delivery design build install evaluate second incremental delivery increment 1 increment 2 design build install evaluate increment 3 Requirements third incremental delivery INF5181 / / Slide 25 Agile development with Scrum Incremental and iterative An iteration is called Sprint in Scrum More about this approach in later lectures 13

14 Structure The concept of software process model Standard process models Choosing, adapting and improving software process models Understanding processes and their contexts Describing context Describing processes Describing outcome Exercise for group lecture INF5181 / / Slide 27 Which software process model to use? Suppose you are an IT manager (project leader, head of department, etc.), how would you find or define a model for your processes in a given company or project? INF5181 / / Slide 28 14

15 Choice, adaptation and improvement of software process models Standard process models (waterfall, V-model, spiral, Scrum, etc.) Choose and adapt Company/group process models Adapt Improve Project process models Improve INF5181 / / Slide 29 How to choose a standard process model? Most software organizations already have an existing standard process model as basis for their development If not: Consult developers, leaders, users, customers and possibly other stakeholders for their opinions Consult relevant literature that may indicate what may fit your organization INF5181 / / Slide 30 15

16 Example: Company Software Innovation Waterfall Scrum Kanban More about their experiences with Scrum and Kanban later INF5181 / / Slide 31 Problem/Challenge/Opportunity identified in business Change initiated in business Change in business Change in organization, system and project Change of software process Change initiated in software process Change of software process Change in organization, system and project Change in business INF5181 / / Slide 32 16

17 Process and Project (Task) Outcome Software process Moderates Affects Project (Task) outcome System quality Time Cost Context (setting) INF5181 / / Slide 33 Processes must be adapted and improved No projects are equal No software teams are equal All aspects of a process/process model may be adapted and improved to fit the needs of your project or operational tasks INF5181 / / Slide 34 17

18 How to adapt and improve processes? Describe and understand: business organization project processes outcome (results) Elicit opinions of developers, leaders, users, customers and possibly other stakeholders Collect measurements and perform studies (later lectures) Update process models Document the adaptations and their justifications Software process adaptive capability may be an important organisational strength when deriving competitive advantage [Clarke et al. 2015] INF5181 / / Slide 35 Structure The concept of software process model Standard process models Choosing, adapting and improving software process models Understanding processes and their contexts Describing context Describing processes Describing outcome Exercise for group lecture INF5181 / / Slide 36 18

19 Suitability of processes (and methods and practices) depends on context (for example): Organizational setting: Size, competence, motivation, nationality, ownership, social and technological environment of development organization development team customer organization Project setting time (to market) resources/cost requirements, stability of requirements System setting quality criteria, size, complexity, application domain, criticality, etc. INF5181 / / Slide 37 Example of context factors, processes and outcome where four companies developed the same system independently B.C.D. Anda, D.I.K. Sjøberg and A. Mockus. Variability and Reproducibility in Software Engineering: A Study of four Companies that Developed the same System, IEEE Transactions on Software Engineering 35(3): , 2009 INF5181 / / Slide 38 19

20 Organizational setting Aspect Variable Company A Company B Company C Company D Development org. Size (# employees) Appr. 8 Appr. 100 Appr. 25 Appr. 13,000 worldwide Nationality Domestic Domestic Domestic International Ownership By employees Private By employees Listed exchanges Location Bergen Oslo Oslo Oslo, 20 countries Formality of Light Intermediate Intermediate Heavy processes Development Size (# persons) 2 developers, 1 proj. 1 developer, 1 int. designer, 1 2 developers, 1 proj. manager 2 developers, 1 proj. manager team. manager proj. manager Allocation Part-time Part-time Part-time Full-time Co-location No No No Yes Turn-over No Change of No No Customer org. Skills Skills developer Moderate Moderate Moderate intended* intended * intended* Highly skilled, good understanding of requirements Moderate intended* INF5181 / / Slide 39 Skills of the development team Java developers selected by customer (us) based on CVs At least three years formal education in programming Three years of industrial experience with the technology used INF5181 / / Slide 40 20

21 Skills tested after projects Poor Good Poor A D C B B A Java Time UML Time A A2 C D2 B B2, A1, D1 D C2 C1 B1 Java Quality UML Quality Good Poor Good C D D C A B Good Poor Process matters Company C had the best Java programmers and next best UML developers. Company D had the best UML developers, but the poorest Java developers. Companies A and B had the poorest UML developers, B slightly worse than A. B had the next best Java developers Other factors of processes and their context explain more of the outcome than the skills of the developers INF5181 / / Slide 42 21

22 System setting Aspect Requirements spec. Application domain Functional size Complexity Description Fixed (information about empirical studies), 11 pages well-specified spec. Web-based information system Small (57 unadjusted use case points) Simple INF5181 / / Slide 43 Project setting Variable Company A Company B Company C Company D Firm price 8,750 20,000 45,380 56,000 Agreed time schedule 41 days 55 days 73 days 62 days Estimated effort 100 hours 220 hours 341 hours 650 hours Progr. language Tools Mainly Java, some Javascript, SQL, HTML, etc. IDE: Netbeans or Eclipse, Build & Deploy: Ant, CM: CVS INF5181 / / Slide 44 22

23 Structure The concept of software process model Standard process models Choosing, adapting and improving software process models Understanding processes and their contexts Describing context Describing processes Describing outcome Exercise for group lecture INF5181 / / Slide 45 Examples of process variables Aspect Variable A B C D Work hours Regular hours No Yes No Yes Language JSP usage High Low Low Low Issues with Project management Low High Medium Low customer Functional clarifications Low Medium High Medium before Graphical design Low Medium Low High acceptance Technical issues Medium Medium Medium Medium test Overall Low High High High Rework Deleted/Added Low High High Medium Emphasis on Activity and Phase Bugs in acceptance test Many Medium Medium Few Analysis & Design Low High High High Error correction Medium High Medium Medium Test Low Medium Medium High Tail heavy No No Yes No INF5181 / / Slide 46 23

24 Activity Sub-activity Hours Activity Sub-activity Hours Project(Management( Unspecified( 163( Project(Management( Project(Management( 59( Project(Management( Communication/Internal( Management( 48( Project(Management( Project(initiation(and(planning( 21( Project(Management( Communication/External( Management( 14( Project(Management( Project(meetings( 9( Project(Management( Initial(meeting( 6( Project(Management( Preparations( 4( Requirements( Unspecified( 16( Requirements( Use(case(diagrams( 4( Research(Contribution( Unspecified( 111( Research(Contribution( Logging(of(activities( 31( Research(Contribution( Interviews( 14( Research(Contribution( Copy(documents(and(code( 10( Research(Contribution( Wrap(up(activities( 1( Technical( Documentation( Unspecified( 73( Technical(Environment(Unspecified( 74( Establish(development( Technical(Environment( environment( 41( Technical(Environment(Establish(web(environment( 17( Technical(Environment(Establishment( 9( Technical(Environment(Establish(test(environment( 3( Technical(Environment(Establish(database( 2( Test( Unspecified( 47( Test( Accomplishment(of(test( 19( Test( Functional(test( 17( Test( Documentation( 6( Test( Planning(test( 4( Test( Testdata( 1( Training( Unspecified( 6( User(Documentation( Unspecified( 19( ( Hours 500 Hours spent of various activities A B C D 50 0 INF5181 / / Slide 48 24

25 Relative emphasis of the activities Percent time A B C D 5 0 INF5181 / / Slide 49 Emphasis along the way A B C D 25

26 Structure The concept of software process model Standard process models Choosing, adapting and improving software process models Understanding processes and their contexts Describing context Describing processes Describing outcome Exercise for group lecture INF5181 / / Slide 51 System quality Good 3 Average: B 2 1 D A and C A B C D Poor 0 Reliability (defects) Usability Maintainability Pålitelighet (feil) Brukervennlighet Vedlikeholdbarhet INF5181 / / Slide 52 26

27 Poor Good Effort company (hours) Project quality (effort/cost & time) Effort customer (hours) Lead time (days) Overrun (%) Company INF5181 / / Slide 53 Communication with customer Customer effort (hours) Issues from companies Bugs in Acceptance Test Comp. A Comp. B Comp. C Comp. D Project manager User representative Technical support 13,5 10, ,5 Total 154,5 89, ,5 Project management Functional clarifications Graphical design Technical issues Total INF5181 / / Slide 54 27

28 Choice of process INF5181 cannot teach which process (model) to choose in all cases, but we can to teach you how to evaluate suitability of processes INF5181 / / Slide 55 Exercise for group lecture 1. Characterize the processes that the companies used and indicate possible consequences. Did they work waterfall-like or agile-like? What seemed smart? What seemed not so smart? 2. Which company would you have chosen if you were the customer (justify your answer) INF5181 / / Slide 56 28

29 Topics next lecture Frameworks for process improvement Process evaluation and measurement INF5181 / / Slide 57 29

MTAT Software Engineering Management

MTAT Software Engineering Management MTAT.03.243 Software Engineering Management Lecture 03: Principles of Software Modeling (Part A) & Rich es Spring 2013 Dietmar Pfahl email: dietmar.pfahl@ut.ee Homework 1: Introduction to SPI Administrative

More information

The software process

The software process Software Processes The software process A structured set of activities required to develop a software system Specification; Design; Validation; Evolution. A software process model is an abstract representation

More information

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation

Lecture 1. In practice, most large systems are developed using a. A software process model is an abstract representation Chapter 2 Software Processes Lecture 1 Software process descriptions When we describe and discuss processes, we usually talk about the activities in these processes such as specifying a data model, designing

More information

Software Engineering

Software Engineering Software Engineering (CS550) Software Development Process Jongmoon Baik Software Development Processes (Lifecycle Models) 2 What is a S/W Life Cycle? The series of stages in form and functional activity

More information

MTAT Software Engineering Management

MTAT Software Engineering Management MTAT.03.243 Software Engineering Management Lecture 03: Principles of Software Process Modeling (Part A) Dietmar Pfahl Spring 2015 email: dietmar.pfahl@ut.ee Announcements Full project description now

More information

Foundations of Software Engineering. Lecture 16: Process: Linear to Iterative Michael Hilton

Foundations of Software Engineering. Lecture 16: Process: Linear to Iterative Michael Hilton Foundations of Software Engineering Lecture 16: Process: Linear to Iterative Michael Hilton 1 Learning goals Understand the need for process considerations Select a process suitable for a given project

More information

ABHELSINKI UNIVERSITY OF TECHNOLOGY

ABHELSINKI UNIVERSITY OF TECHNOLOGY T 76.3601 Introduction to Software Engineering Software Life-Cycle Models http://www.soberit.hut.fi/t-76.3601/ Casper.Lassenius@tkk.fi Software Engineering? 1. The application of a systematic, disciplined,

More information

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

SWE 211 Software Processes

SWE 211 Software Processes SWE 211 Software Processes These slides are designed and adapted from slides provided by Software Engineering 9 /e Addison Wesley 2011 by Ian Sommerville 1 Outlines Software process models Process activities

More information

Software Engineering

Software Engineering Software Engineering Part I. Aspects and Models of Software Development Process Gunadarma University 1 Software Engineering Outline 1 Introduction 2 Aspects of Software Engineering Software Engineering

More information

Software Processes 1

Software Processes 1 Software Processes 1 Topics covered Software process models Process activities Coping with change 2 The software process A structured set of activities required to develop a software system. Many different

More information

03. Perspective Process Models

03. Perspective Process Models 03. Perspective Process Models Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 Prescriptive Process Models advocates an orderly approach to software

More information

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models

Software Processes. Objectives. Topics covered. The software process. Waterfall model. Generic software process models Objectives Software Processes 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 Design COSC 4353/6353 D R. R A J S I N G H

Software Design COSC 4353/6353 D R. R A J S I N G H Software Design COSC 4353/6353 D R. R A J S I N G H Outline Week 2 Software Development Process Software Development Methodologies SDLC Agile Software Development Process A structure imposed on the development

More information

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems

Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems Software Processes Based on Software Engineering, by Ian Sommerville Coherent sets of activities for specifying, designing, implementing and testing software systems Slide 1 Objectives To introduce software

More information

An Overview of Software Process

An Overview of Software Process An Overview of Software Process Objectives To introduce the general phases of the software development life cycle (SDLC) To describe various generic software process models and discuss their pros and cons

More information

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini

II. Software Life Cycle. Laurea Triennale in Informatica Corso di Ingegneria del Software I A.A. 2006/2007 Andrea Polini II. Software Life Cycle Laurea Triennale in Informatica Corso di Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process

More information

Chapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Chapter 3. Information Systems Development. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 3 Information Systems Development McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 3-2 Describe the motivation for a system development process

More information

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software?

Part 1. Software engineering Facts. CSC 4181 Compiler Construction Software Engineering Lectures. What is software engineering? What is software? Software engineering Facts CSC 4181 Compiler Construction Software Engineering Lectures Part 1 Fact: The economies of ALL developed nations are dependent on software. Fact: More and more systems are software

More information

Software Engineering COMP 201

Software Engineering COMP 201 Software Engineering COMP 201 Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 2 Software Processes

More information

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes

Objectives. The software process. Topics covered. Waterfall model. Generic software process models. Software Processes Objectives Software Processes 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

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2.

Chapter 2 Objectives. Pfleeger and Atlee, Software Engineering: Theory and Practice (edited by B. Cheng) Chapter 2. Chapter 2 Objectives What we mean by a process Software development products, processes, and resources Several models of the software development process Tools and techniques for process modeling 2.1 The

More information

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering

Topics covered. Software process models Process iteration Process activities The Rational Unified Process Computer-aided software engineering 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

INF5181: Process Improvement and Agile Methods in Systems Development

INF5181: Process Improvement and Agile Methods in Systems Development INF5181: Process Improvement and Agile Methods in Systems Development Lecture 02: Rich Processes & Principles of Process Modeling Fall 2012 Dr. Dietmar Pfahl email: dietmarp@ifi.uio.no Structure of Lecture

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 6 Professional Graduate Diploma in IT SOFTWARE ENGINEERING 2 Friday 30 th September 2016 - Morning Answer any THREE questions

More information

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1

Lectures 2 & 3. Software Processes. Software Engineering, COMP201 Slide 1 Lectures 2 & 3 Software Processes Software Engineering, COMP201 Slide 1 What is a Process? When we provide a service or create a product we always follow a sequence of steps to accomplish a set of tasks

More information

CTC/ITC 310 Program Management California State University Dominguez Hills First Exam Answer Key November 20, 2018 Instructor: Howard Rosenthal

CTC/ITC 310 Program Management California State University Dominguez Hills First Exam Answer Key November 20, 2018 Instructor: Howard Rosenthal CTC/ITC 310 Program Management California State University Dominguez Hills First Exam Answer Key November 20, 2018 Instructor: Howard Rosenthal There are 30 questions on this exam. Each question is worth

More information

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources

CMSC 435: Software Engineering Section Back to Software. Important: Team Work. More Resources CMSC 435: Software Engineering Section 0101! Atif M. Memon (atif@cs.umd.edu)! 4115 A.V.Williams building! Phone: 301-405-3071! Office hours!.tu.th. (10:45am-12:00pm)! Don t wait, don t hesitate, do communicate!!!

More information

Explore Comparative Analysis Software Development Life Cycle Models

Explore Comparative Analysis Software Development Life Cycle Models Explore Comparative Analysis Software Development Life Cycle Models Anshu Mishra Assistant Professor, Department of Information Science and Engineering Jyothy Institute of Technology, Bangalore Abstract-The

More information

18-642: Software Development Processes

18-642: Software Development Processes 18-642: Software Development Processes 9/6/2017 Without requirements and design, programming is the art of adding bugs to an empty text file. Louis Srygley Coding Is Essentially 0% of Creating Software

More information

Software Engineering Part 2

Software Engineering Part 2 CS 0901341 Software Engineering Part 2 In this part, we look at 2.1 Software Process 2.2 Software Process Models 2.3 Tools and Techniques for Processing Modelling As we saw in the previous part, the concept

More information

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects

V Model material adapted from Steve Easterbrook. Waterfall Model material adapted from Steve Easterbrook. Lifecycle of Software Projects Lifecycle of Software Projects ECE450 Software Engineering II Lifecycle models are useful to compare project management strategies in abstract terms Birds-eye view strategy Detect strengths and weaknesses...

More information

Lecture 5. Software Processes CSC 4700 Software Engineering. Software Development Processes. The software process

Lecture 5. Software Processes CSC 4700 Software Engineering. Software Development Processes. The software process Software Processes CSC 4700 Software Engineering Lecture 5 Dr. Tom Way CSC 4700 1 Software Development Processes Dr. Tom Way CSC 4700 2 The software process A structured set of activities required to develop

More information

The Software Life Cycle

The Software Life Cycle Inception Software Increment Communication Planning Production The Software Life Cycle Software Engineering Deployment Andreas Zeller Saarland University Modelling Elaboration Transition Construction Construction

More information

7. Model based software architecture

7. Model based software architecture UNIT - III Model based software architectures: A Management perspective and technical perspective. Work Flows of the process: Software process workflows, Iteration workflows. Check Points of The process

More information

Chapter 3 Prescriptive Process Models

Chapter 3 Prescriptive Process Models Chapter 3 Prescriptive Process Models - Generic process framework (revisited) - Traditional process models - Specialized process models - The unified process Generic Process Framework Communication Involves

More information

6. Models of the Design Process

6. Models of the Design Process 6. Models of the Design Process 17 September 2008 Bob Glushko Plan for ISSD Lecture #6 Meta-Methodology: Sequential, Iterative, Work Product, and Portfolio Approaches "User-Centered Design at IBM Consulting"

More information

CMPT 275 Software Engineering

CMPT 275 Software Engineering CMPT 275 Software Engineering Software life cycle 1 Software Life Cycle Sequence of processes completed as a software project moves from inception to retirement At beginning of project development, choose

More information

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae

CS350 Lecture 2 Software Dev. Life Cycle. Doo-Hwan Bae CS350 Lecture 2 Software Dev. Life Cycle Doo-Hwan Bae bae@se.kaist.ac.kr Whose Drawings? Watts Humphrey, SE is Religion and Philosophy. Just Follow me! CS350 Software Engineering, SoC, KAIST 2 What is

More information

Which project management methodology? A guide for the perplexed. BCS London (South) branch Wednesday 6 th May 2015

Which project management methodology? A guide for the perplexed. BCS London (South) branch Wednesday 6 th May 2015 Which project management methodology? A guide for the perplexed. BCS London (South) branch Wednesday 6 th May 2015 1 Because someone says so To provide guidance to novices To identify best practice To

More information

Chapter 3 Software Process Model

Chapter 3 Software Process Model Usman Akram COMSATS Institute of information Technology lahore musmanakram@ciitlahore.edu.pk March 8, 2015 About software process model Outline 1 About software process model Build and Fix Model Why Models

More information

MIS Systems & Infrastructure Lifecycle Management 1. Week 10 March 24, 2016

MIS Systems & Infrastructure Lifecycle Management 1. Week 10 March 24, 2016 MIS 5203 Lifecycle Management 1 Week 10 March 24, 2016 Study Objectives Software Development Processes contd. Alternate Software Development Methodologies 2 Alternate Software Development Methodologies

More information

Processes. Object Orientated Analysis and Design. Benjamin Kenwright

Processes. Object Orientated Analysis and Design. Benjamin Kenwright Processes Object Orientated Analysis and Design Benjamin Kenwright Outline Review What are Processes? Why are they important in Object Orientated Analysis and Design Conclusion and Discussion Summary Revision

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

Agile Software Development:

Agile Software Development: Agile Software Development: 1.Agile methods 2.Plan-driven and agile development 3.Extreme programming (XP) 4.Agile project management 5.Pair Programming 6.Scrum 7.Scaling agile methods Rapid software development:

More information

THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS

THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS International Journal on Information Technologies & Security, 4 (vol. 9), 2017 51 THE ADVANTAGES OF AGILE METHODOLOGIES APPLIED IN THE ICT DEVELOPMENT PROJECTS Vangel Fustik Faculty of Electrical Engineering

More information

Course Organization. Lecture 1/Part 1

Course Organization. Lecture 1/Part 1 Course Organization Lecture 1/Part 1 1 Outline About me About the course Lectures Seminars Evaluation Literature 2 About me: Ing. RNDr. Barbora Bühnová, Ph.D. Industrial experience Research Quality of

More information

Pertemuan 2. Software Engineering: The Process

Pertemuan 2. Software Engineering: The Process Pertemuan 2 Software Engineering: The Process Collect Your Project Topic What is Software Engineering? Software engineering is the establishment and sound engineering principles in order to obtain economically

More information

Sistemi ICT per il Business Networking

Sistemi ICT per il Business Networking Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Requirements Engineering Docente: Vito Morreale (vito.morreale@eng.it) 17 October 2006 1 UP Phases 1. Inception

More information

CS 320 Introduction to Software Engineering Spring February 01, 2017

CS 320 Introduction to Software Engineering Spring February 01, 2017 CS 320 Introduction to Software Engineering Spring 2017 February 01, 2017 Recap: software development process Activities and steps Requirements engineering Design and architecture Implementation Verification

More information

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping.

This tutorial also elaborates on other related methodologies like Agile, RAD and Prototyping. i About the Tutorial SDLC stands for Software Development Life Cycle. SDLC is a process that consists of a series of planned activities to develop or alter the Software Products. This tutorial will give

More information

QAIassist IT Methodology General Context

QAIassist IT Methodology General Context QAIassist IT Methodology General Context IT Methodology General Context From the inception of Information Technology (IT), organizations and people have been on a constant quest to optimize the evolving

More information

Software Engineering Lecture 5 Agile Software Development

Software Engineering Lecture 5 Agile Software Development Software Engineering Lecture 5 Agile Software Development JJCAO Mostly based on the presentation of Software Engineering, 9ed Exercise Describe the main activities in the software design process and the

More information

Extending an Agile Method to Support Requirements Management and Development in Conformance to CMMI

Extending an Agile Method to Support Requirements Management and Development in Conformance to CMMI Extending an Agile Method to Support Requirements Management and Development in Conformance to CMMI Alexandre Lazaretti Zanatta 1, Patrícia Vilain 2 1 Instituto de Ciências Exatas e Geociências - Ciência

More information

Agile Development Processes. CSCE Lecture 3-08/31/2017

Agile Development Processes. CSCE Lecture 3-08/31/2017 Agile Development Processes CSCE 740 - Lecture 3-08/31/2017 Common Practice: Code & Fix Sit down, write out the code, and fix problems as they occur. No formal structure to development. What is wrong with

More information

Software Processes. CSE-C3610, Software Engineering, 5 cr. Prof. Casper Lassenius

Software Processes. CSE-C3610, Software Engineering, 5 cr. Prof. Casper Lassenius Software Processes CSE-C3610, Software Engineering, 5 cr Prof. Casper Lassenius Software Process What? Why? Software Process Definitions Process Webster: 1. A continuing development involving many changes.

More information

Lecture 8 Agile Software Development

Lecture 8 Agile Software Development Lecture 8 Agile Software Development Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics

More information

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008

Unified Process. Peter Dolog dolog [at] cs [dot] aau [dot] dk Information Systems March 3, 2008 Unified Process Peter Dolog dolog [at] cs [dot] aau [dot] dk 5.2.47 Information Systems March 3, 2008 2 Outline Model Driven Design Tutorial on Requirements Eng. and SCRUM reflections (D402a, s601c) Unified

More information

Requirements Architecture - Agility

Requirements Architecture - Agility Requirements Architecture - Agility R. Kuehl/J. Scott Hawker p. 1 Requirements Engineering and Agile Processes (You may be thinking) Requirements engineering model as presented is not very agile Writing

More information

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process

! How work in building software is done: ! e.g., waterfall process. ! e.g., object-oriented development. ! e.g., requirements inspection process Software Process Process CMPUT 401 Module 04! How work in building software is done:! e.g., waterfall process! e.g., object-oriented development! e.g., requirements inspection process Department of Computing

More information

Note 10: Software Process

Note 10: Software Process Computer Science and Software Engineering University of Wisconsin - Platteville Note 10: Software Process Yan Shi Lecture Notes for SE 3330 UW-Platteville Based on Pressman Chapter 2 & 3 Software Process

More information

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15 Non-object-oriented design methods Software Requirements and Design CITS 4401 Lecture 15 1 (reminder) Software Design is a creative process no cook book solutions goal driven we create a design for solving

More information

The Systems Development Lifecycle

The Systems Development Lifecycle Modelling and Systems Development Lecture 2 The Systems Development Lifecycle The four-phase model common to all system developments projects The project Major attributes of the Lifecycle Moves systematically

More information

Agile Project Management

Agile Project Management Object-Oriented Software Engineering Using UML, Patterns, and Java Agile Project Management Outline A mountaineering example Project context Goals, client types Environment, methods, tools, methodology

More information

Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM. An Oracle White Paper April 2012

Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM. An Oracle White Paper April 2012 Oracle Unified Method (OUM) The OUM Implement Core Workflow The Key to Understanding and Applying OUM An Oracle White Paper April 2012 OUM Implement Core Workflow White Paper Introduction... 3 OUM is Iterative...

More information

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY 2006 International Software Measurement & Analysis Conference David Garmus www.davidconsultinggroup.com Topics Characteristics of Agile Projects Performance

More information

Sign up to mailing list Join Slack, teaching team is available. All links are on the course website Slides are uploaded there too

Sign up to mailing list Join Slack, teaching team is available. All links are on the course website Slides are uploaded there too Sign up to mailing list Join Slack, teaching team is available All links are on the course website Slides are uploaded there too Week 1 (Oct 16 Oct 20) Introduction lectures Week 2 (Oct 23 Oct 27) Work

More information

The new frontier: Agile automation at scale

The new frontier: Agile automation at scale The new frontier: Agile automation at scale Large-scale automation of business processes requires a new development approach. Federico Berruti, Geet Chandratre, and Zaid Rab SEPTEMBER 2018 OPERATIONS Across

More information

A Practical Approach to Project Management in a Very Small Company

A Practical Approach to Project Management in a Very Small Company A Practical Approach to Project Management in a Very Small Company Edgar Caballero and Jose A. Calvo-Manzano Departamento Lenguajes y Sistemas Informáticos e Ingeniería del Software Universidad Politécnica

More information

Tuesday, October 25. Announcements

Tuesday, October 25. Announcements Tuesday, October 25 Announcements Crowdsourcing the Midterm http://www.drsusansim.org/teaching/inf111/pligg Homework 5 Skip lab portion Use anything you want to draw the diagrams for the take home portion

More information

A Comparison Between Two Software Engineering Processes, RUP And Waterfall Models

A Comparison Between Two Software Engineering Processes, RUP And Waterfall Models A Comparison Between Two Software Engineering Processes, RUP And Waterfall Models Mina zaminkar a, Mohammad R. Reshadinezhad b a Graduate student,, Department of Computer Science Research Branch, Islamic

More information

Businesses now operate in rapidly changing environment.

Businesses now operate in rapidly changing environment. Computers II Lesson 3 3.0 Agile software development Businesses now operate in rapidly changing environment. They have to respond to new opportunities and markets, changing economic conditions, and the

More information

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at

Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at Volume 8, No. 1, Jan-Feb 2017 International Journal of Advanced Research in Computer Science RESEARCH PAPER Available Online at www.ijarcs.info A Study of Software Development Life Cycle Process Models

More information

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages

Advantages and Disadvantages of. Independent Tests. Advantages. Disadvantages 8.0 Test Management Outline 8.1 Test organisation 8.2 Test planning and estimation 8.3 Test program monitoring and control 8.4 Configuration management 8.5 Risk and testing 8.6 Summary Independent Testing

More information

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008

Process. CMPUT 401 Module 04. Department of Computing Science University of Alberta Ken Wong, 2008 Process CMPUT 401 Module 04 Department of Computing Science University of Alberta Ken Wong, 2008 Software Process How work in building software is done: e.g., waterfall process e.g., object-oriented development

More information

Software Engineering

Software Engineering Software Engineering Lecture 02: Processes Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 41 Terms Software Component SW System Organized

More information

Software development processes: from the waterfall to the Unified Process

Software development processes: from the waterfall to the Unified Process Software development processes: from the waterfall to the Unified Process Paul Jackson School of Informatics University of Edinburgh The Waterfall Model Image from Wikipedia 2 / 17 Pros, cons and history

More information

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT

AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT AUTOMATED DEFECT PREVENTION: BEST PRACTICES IN SOFTWARE MANAGEMENT Preface. Features and Organization. Practice Descriptions. Intended audience. Acknowledgements. Permissions. Disclaimer. 1. The Case for

More information

SDLC Models- A Survey

SDLC Models- A Survey Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 1, January 2013,

More information

Introduction to Agile Software Development

Introduction to Agile Software Development 1 of 8 28.03.2013 12:23 Introduction to Agile Software Development Learning Objective After completing this topic, you should be able to identify the principles of agile programming 1. Waterfall and iterative

More information

Business Analysis - Curriculum

Business Analysis - Curriculum Business Analysis - Curriculum Școala Informală de IT București Cluj-Napoca Iași Timișoara Oradea Tel: +4.0744.679.530 Web: www.scoalainformala.ro E-mail: info@scoalainformala.ro Content 1. Objectives

More information

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems. Chapter 3 Agile Software Development Lecture 1 Topics covered Agile g methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Rapid software development

More information

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2

Passit4Sure.OG Questions. TOGAF 9 Combined Part 1 and Part 2 Passit4Sure.OG0-093.221Questions Number: OG0-093 Passing Score: 800 Time Limit: 120 min File Version: 7.1 TOGAF 9 Combined Part 1 and Part 2 One of the great thing about pass4sure is that is saves our

More information

GAHIMSS Chapter. CPHIMS Review Session. Systems Analysis. Stephanie Troncalli, Healthcare IT Strategist Himformatics July 22, 2016

GAHIMSS Chapter. CPHIMS Review Session. Systems Analysis. Stephanie Troncalli, Healthcare IT Strategist Himformatics July 22, 2016 GAHIMSS Chapter CPHIMS Review Session Systems Analysis Stephanie Troncalli, Healthcare IT Strategist Himformatics July 22, 2016 CPHIMS Competency Areas CPHIMS Examination Content Outline (effective February,

More information

BCS Certificate in Systems Development Essentials Syllabus

BCS Certificate in Systems Development Essentials Syllabus BCS Certificate in Systems Development Essentials Syllabus Version 2.0 August 2011 Effective: 1 October 2011 Change History Version Number Version 2.0 August 2011 Changes Made Updated BCS logos and strapline.

More information

Requirements Verification and Validation

Requirements Verification and Validation SEG3101 (Fall 2010) Requirements Verification and Validation SE502: Software Requirements Engineering 1 Table of Contents Introduction to Requirements Verification and Validation Requirements Verification

More information

The Software Life Cycle

The Software Life Cycle Production Inception The Life Cycle Engineering Modelling Andreas Zeller Saarland University Elaboration Transition A Crisis Denver International Airport (DIA) started in 1989 53 sq miles Planned: 1.7

More information

Computer Science: Disciplines. What is Software Engineering and why does it matter? Software Disasters. Software Engineering

Computer Science: Disciplines. What is Software Engineering and why does it matter? Software Disasters. Software Engineering Computer Science: Disciplines 2 What is Software Engineering and why does it matter? Original slides by Chris Wilcox Colorado State University Computer Graphics Computer Networking and Security Parallel

More information

Requirements Engineering

Requirements Engineering Requirements Engineering Professor Ray Welland Department of Computing Science University of Glasgow E-mail: ray@dcs.gla.ac.uk The Importance of Requirements Identifying (some) requirements is the starting

More information

Information Systems Development

Information Systems Development Information Systems Development Based on Chapter 3 of Whitten, Bentley, and Dittman: Systems Analysis and Design for the Global Enterprise (7th Ed). McGraw Hill. 2007 Wei-Tsong Wang 1 IIM, NCKU 3 Objectives

More information

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1

Development Process and Analysis. LTOOD/OOAD - Verified Software Systems 1 Development Process and Analysis LTOOD/OOAD - Verified Software Systems 1 Software Crisis Declared in the late 60 s Expressed by delays and failures of major software projects (unreached goals, unpredictable

More information

Software Development Methodologies. CSC 440: Software Engineering Slide #1

Software Development Methodologies. CSC 440: Software Engineering Slide #1 Software Development Methodologies CSC 440: Software Engineering Slide #1 Topics 1. The Waterfall Model 2. Agile Software Development 3. The Unified Process 4. Object-Oriented Analysis and Design 5. The

More information

This document is copyrighted, the distribution of this document is punishable by law.

This document is copyrighted, the distribution of this document is punishable by law. Lecture 1 A project is a temporary endeavor undertaken to create a unique product, service or result A process is a series of actions taken in order to achieve result, a project is temporary with a clear

More information

Oi Requirements Communication in New Product Development

Oi Requirements Communication in New Product Development Steer Your Development! Goal-Oriented Oi Requirements Communication in New Product Development September 9, 2008 Samuel Fricker, Tony Gorschek, Martin Glinz Product Manager in Context: Simplified, Stylized

More information

A Study of COTS Integration Projects: Product Characteristics, Organization, and Life Cycle Models

A Study of COTS Integration Projects: Product Characteristics, Organization, and Life Cycle Models A Study of COTS Integration Projects: Product Characteristics, Organization, and Life Cycle Models Katerina Megas Computer Science, Virginia Tech. kmegas@vt.edu Gabriella Belli Educational Research, Virginia

More information

Software engineering Facts. CSC Compiler Construction Software Engineering Topics. What is software engineering? What is software?

Software engineering Facts. CSC Compiler Construction Software Engineering Topics. What is software engineering? What is software? Software engineering Facts CSC 4181 - Compiler Construction Software Engineering Topics Fact: The economies of ALL developed nations are dependent on software. Fact: More and more systems are software

More information

Agile Software Development

Agile Software Development Agile Software Development Chapter 3 Agile Software Development in the textbook 3.1 Agile methods 3.2 Plan-driven and agile development 3.3 Extreme programming (XP) - A well known agile method 3.4 Agile

More information

CS 501: Software Engineering. Lecture 2. Software Processes

CS 501: Software Engineering. Lecture 2. Software Processes CS 501: Software Engineering Lecture 2 Software Processes 1 CS 501 Spring 2008 Administration Letter "l" Project teams Any short notices to class? Course team email address When you have formed your team

More information