Software Development Process Models

Size: px
Start display at page:

Download "Software Development Process Models"

Transcription

1 Software Development Process Models From classical notions to more agile approaches BA8134

2 Code & Fix or Cowboy Coding 1) Write program 2) Test and fix program Problems: program users not satisfied with program: definition phase (requirements & analysis) fixing programs requires extensive program redesign: design phase ill-prepared tests: test phase + implementation phase 2

3 What defines a development process? Who does what at what time? tasks starting condition documents (artefacts) received output from previous stage end conditions: finish criteria final documents produced input for next stage order of tasks who is involved qualification responsibility 3

4 Development process models Static process models Waterfall model V-Model Incremental process model Modern approaches Iterative/Incremental process model extreme Programming Prototypic development Test-driven development 4

5 Waterfall model Software specification Design document 5

6 Software specification I 1. Goal MUST MAY MUST NOT Software requirements 2. Use of the product Purpose Target Group Environment Analysis 6

7 Example: Use Case diagram ehotel hotel reservation system inform book <<actor>> Pegasus Customer book online book by phone book by fax/ settle up ehotel clerk cancel Hotel clerk cancel at Hotel cancel online (ehotel) cancel by phone (ehotel) cancel by fax/ (ehotel) 7

8 Software specification II 3. Functionality Can do a time estimate per feature Can track progress Software requirements 4. Data (persistent) 5. Performance 6. User Interface 7. Non-functional requirements & qualities Analysis Not too much details: -No implementation details (algorithms, data structure) -No technical solution (database, language, infrastructure) 8

9 V-model Requirements Use-case scenarios Acceptance test Validation Analysis Test cases System test Design Test cases Integration test Verification Coding (Modules) Test cases Module test 9

10 Classical process models in a nutshell problems of classical process models: successive steps document-driven limited customers/users involvement changing requirements in real world pros: customer gets a defined process (feasibility study) at the beginning of a project can be good for large project-based developments cons: hard to think of all requirements at the beginning documentation seems more important than program 10

11 Scope Project-based: contract between customer and contractor clearly-defined overall goal requirements: system functionality non-functional requirements & qualities e.g. large-scale software, e.g. logistics, industry, etc. Commercial-of-the-shelf (COTS) product constantly improving/changing releases e.g. end-customer software (office, etc.) Open-goal projects e.g. academic research, prototypes, demos 11

12 Incremental process model Initial definition changes complete software specification X=0 Design version X X=X+1 modefied model Define extended functionality changes partial architecture changes Code & test version X new ideas & wishes Product version X Use version X 12

13 Agile development processes Practices for every-day development required focus on small and medium-sized software projects (small teams) progressing, not spending too much time on design and specifications that might be useless Agility adaptable instead of predictable light-weight methodology minimizing risk by short-term focus (1-8 weeks) being able to release a product after each cycle 13

14 Agile Manifesto Individuals and interactions over processes and tools close, daily cooperation (possibly face-to-face) self-organizing teams trust in motivated individuals Working software over comprehensive documentation Working software is the principle measure of progress Simplicity Customer collaboration over contract negotiation Responding to change over following a plan see 14

15 Development process models Static process models Waterfall model V-Model Incremental process models Modern approaches (Agile) extreme Programming Prototypic development Test-driven development 15

16 extreme Programming (XP) Communication questions instead of assumptions coach helps to overcome communication issues Simplicity try not to think of every eventuality in future just implement what is really necessary refactoring after iterations Feedback everybody gives and receives feedback everybody is a little bit happier Courage try and compare alternative designs no problem to throw away code 16

17 Planning in XP Plan by priorities (feature, defect tracking) Plan for the next iteration Take responsibility, do not delegate it Use techniques like story cards 17

18 Methods of XP Pair programming Best form of communication Coding and Thinking Two pairs of eyes see more Testing No feature without test Independent, automated tests Extensive refactoring after each iteration Strict coding conventions 18

19 Software Prototypes Software prototype different from Product prototype Help to elicit requirements Paper prototypes (GUI) Fake GUI Basis for discussion Experimental: can try & show alternatives Practical experience & feasibility 19

20 Categories of prototypes Demonstration for project acquisition Explorative prototype for analysis Experimental prototype evaluate design alternatives show technical feasibility Pilote system (evolutionary) e.g. selected customer 20

21 Horizontal vs. vertical prototype vertical prototype horizontal prototype 21

22 Explorative Prototyping Paper Usability Engineering try to find a good user interface design with prospective users use: paper, post-it notes, colors one developer: plays software one developer: takes notes Software fake GUI (Visual Basic, C#) discuss it with customers what do they expect will happen what do they miss 22

23 Test-driven development (TDD) Principle 1: Test-First-Development (TFD) For each feature: write test first (including automation) code afterwards Principle 2: Refactoring try to remove duplicate code essential for keeping code simple improve code quality make it maintainable 23

24 Test-driven development If it's worth building, it's worth testing. If it's not worth testing, why are you wasting your time working on it? 24

25 Test-driven development (TDD) Advantages of TFD immediate checking gives more confidence can write several tests at the beginning of each release cycle give a good overview of remaining effort forces developers to write tests But requires: Refactoring otherwise software becomes unmaintainable TDD = TFD + Refactoring 25

26 When using agile methods? Previously just Code & Fix A little bit more order, planning Easier step than introduction of classical model Small- & Medium-sized teams About a dozen developers Approaches Volatile requirements Motivated developers Customers wish to be integrated 26

27 Classical vs. agile processes Classical processes (anticipating) Disciplined, detailed plan Emphasis on long-term planning Focus: process Plan-driven Agile processes (adaptive) Compromise between no and too much process Short-term focus Less documentation, code is documentation Focus: humans Agile 27

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do? Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.

More information

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects Activities Common to Software Projects Software Life Cycle Mark van den Brand Requirements and specification Domain analysis Defining the problem Requirements gathering Obtaining input from as many sources

More information

Optimize tomorrow today.

Optimize tomorrow today. Applying Agile Practices to Improve Software Quality Name: Arlene Minkiewicz Chief Scientist 17000 Commerce Parkway Mt. Laurel, NJ 08054 arlene.minkiewicz@pricesystems.com Phone: 856 608-7222 Agenda Introduction

More information

Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 7: Software Processes. Refresher: Software Always Evolves Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)

More information

Dilbert Scott Adams. CSc 233 Spring 2012

Dilbert Scott Adams. CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 2 Dilbert Scott Adams CSc 233 Spring 2012 3 prerequisites CSc 233 Spring 2012 I thought we had agreed long ago that the Department

More information

Testing Agile Projects Stuart Reid

Testing Agile Projects Stuart Reid ing Agile Projects Stuart Reid ing Solutions Group 117-119 Houndsditch London EC3A 7BT UK sreid@ing-solutions.com www.ing-solutions.com Stuart Reid, 2011 Scope Agile Manifesto and Principles An Agile Development

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering II. Agile Development 1. Motivation Conceive Design Implement Operate Why What How 3 Co-evolution What should the software do? WHAT HOW

More information

Testing in Agile Software Development

Testing in Agile Software Development Testing in Agile Software Development T 76.5613, Software Testing and Quality Assurance Slides by Juha Itkonen Lecture delivered by 4.10.2006 V-model of testing Benefits of the V-model Intuitive and easy

More information

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process? How Can a Tester Cope With the Fast Paced Iterative/Incremental Process? by Timothy D. Korson Version 7.0814 QualSys Solutions 2009 1 Restricted Use This copyrighted material is provided to attendees of

More information

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis Software Quality in a Modern Development Team Presented by Timothy Bauguess and Marty Lewis High-Quality Software Who benefits? End users Development Stakeholders Components of Software Quality Structural

More information

Software Engineering

Software Engineering Software Engineering 0 Software design process or life cycle called Software Engineering 0 that addresses the management and technical issues of the development of software systems. 0 The software life

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency

More information

Best Practices for Collecting User Requirements

Best Practices for Collecting User Requirements Federal GIS Conference February 9 10, 2015 Washington, DC Best Practices for Collecting User Requirements Gerry Clancy Glenn Berger Requirements Provide direction for program success Why Requirements are

More information

Testing in the Agile World

Testing in the Agile World Testing in the Agile World John Fodeh Solution Architect, Global Testing Practice 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Outline

More information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 01. Software Engineering, Web Engineering, agile methodologies. Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,

More information

XP Evolution Rachel Davies

XP Evolution Rachel Davies XP Evolution Rachel Davies Sept 10, 2005 2005 Agile Experience Ltd. 1 What is XP? 1.eXtreme Programming (XP) is so named because it raises practices that improve code quality to extreme levels 2. XP is

More information

Extreme programming XP 6

Extreme programming XP 6 Extreme programming XP 6 Planning Game 3 Planning Game Independent: Stories should be as independent as possible. When thinking of independence it is often easier to think of order independent. In other

More information

Scrums effects on software maintainability and usability

Scrums effects on software maintainability and usability Scrums effects on software maintainability and usability Gustav Ernberg guser350@student.liu.se January 19, 2015 Synposis I have been working as a web developer with advanced web applications on a number

More information

Adopting Agile Practices

Adopting Agile Practices Adopting Agile Practices Ian Charlton Managing Consultant ReleasePoint Software Testing Solutions ANZTB SIGIST (Perth) 30 November 2010 Tonight s Agenda What is Agile? Why is Agile Important to Testers?

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 9: Layered Architecture Persistency Layer; Software Development Process Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2017 Recap

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

More information

5 Object Oriented Analysis

5 Object Oriented Analysis 5 Object Oriented Analysis 5.1 What is OOA? 5.2 Analysis Techniques 5.3 Booch's Criteria for Quality Classes 5.4 Project Management and Iterative OOAD 1 5.1 What is OOA? How to get understanding of what

More information

SOFTWARE LIFE-CYCLE MODELS 2.1

SOFTWARE LIFE-CYCLE MODELS 2.1 SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed

More information

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK Who am I? John York Agile Software Development JOHN YORK Director of Engineering at ProQuest Dialog Chief Technologist SpellBound AR A Computer Engineer from the University of Michigan! An agile development

More information

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK Agile Software Development JOHN YORK EECS 441 WINTER 2018 John York Director of Engineering at ProQuest Dialog Chief Technologist SpellBound AR A Computer Engineer from the University of Michigan! An agile

More information

Test Driven Development. René Barto SES Agile Development - Test Driven Development

Test Driven Development. René Barto SES Agile Development - Test Driven Development Test Driven Development René Barto SES Agile Development - Test Driven Development 27-09-2006 Contents About Myself About SES Agile Development A Typical Developer s Day Test Driven Development Questions

More information

One and a half hours. Appendix A is located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

One and a half hours. Appendix A is located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE One and a half hours Appendix A is located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE Agile Software Engineering Date: Tuesday 15th January 2013 Time: 09:45-11:15 Please

More information

h(p://ihm.tumblr.com/post/ /word- cloud- for- hci- human- computer- interacbon CS5340 Human-Computer Interaction ! January 31, 2013!

h(p://ihm.tumblr.com/post/ /word- cloud- for- hci- human- computer- interacbon CS5340 Human-Computer Interaction ! January 31, 2013! h(p://ihm.tumblr.com/post/105778492/word- cloud- for- hci- human- computer- interacbon CS5340 Human-Computer Interaction January 31, 2013 Today s Class Administrivia User-centered Design Establishing Requirements

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Agile Development

Agile Development Agile Development 12-04-2013 Many flavors: Waterfall, Spiral Rapid Application Development (DSDM) Xtreme Programming (XP, an agile methodology) Usability Engineering Model, Star Iteration is done throughout

More information

The Process of UX Design

The Process of UX Design The Process of UX Design CMPT 363 Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away. Antoine de Saint-Exupéry What does a holis,c

More information

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 1 SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 12 th June, 2013 Instructor Information 2 Course Instructor:

More information

Introduction to Extreme Programming. Extreme Programming is... Benefits. References: William Wake, Capital One Steve Metsker, Capital One Kent Beck

Introduction to Extreme Programming. Extreme Programming is... Benefits. References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Extreme Programming is... Lightweight software development method used for small to medium-sized

More information

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE Agile Software Development Agile UX Work Kati Kuusinen Researcher @ TUT / Pervasive / IHTE kati.kuusinen@tut.fi Contents 1. Introduction / Motivation 2. Agile software development 3. User experience work

More information

Ready for Scrum? Steve Hutchison DISA T&E

Ready for Scrum? Steve Hutchison DISA T&E Ready for Scrum? Steve Hutchison DISA T&E Presentation Tasks Backlog In Progress Done Scrum Overview Role of Testing in Scrum Agile Testing Summary 2 Scrum Overview Software development framework focused

More information

Introduction to Extreme Programming

Introduction to Extreme Programming Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Robert Martin, Object Mentor Ron Jeffries,et.al. 12/3/2003 Slide Content by Wake/Metsker 1

More information

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process Human Computer Interaction Lecture 14 HCI in Software Process HCI in the software process Software engineering and the design process for interactive systems Usability engineering Iterative design and

More information

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal Administrivia Software Process CS169 Lecture 2 Added 20 more so far Will limit enrollment to ~65 students Only one TA so far Start thinking about project proposal Bonus points for proposals that will be

More information

HCI in the software process

HCI in the software process chapter 6 HCI in the software process HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle HCI in the software process chapter 6 HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process Agile Accessibility Ensuring accessibility throughout the Agile development process Presenters: Andrew Nielson, CSM, PMP, MPA Ann Marie Davis, CSM, PMP, M. Ed. Cammie Truesdell, M. Ed. Overview What is

More information

Testing. in A Large scale agile Development Environment

Testing. in A Large scale agile Development Environment Testing in A Large scale agile Development Environment Content/agenda 1. Introduction 2. Agile on a large scale 3. Testing in a large scale agile environment 4. Conclusion Testing in large scale Agile

More information

XP: Planning, coding and testing. Practice Planning game. Release Planning. User stories. Annika Silvervarg

XP: Planning, coding and testing. Practice Planning game. Release Planning. User stories. Annika Silvervarg XP: Planning, coding and testing Annika Silvervarg Practice Planning game Goal: schedule the most important tasks Which features to implement in what order Supports: simple design, acceptance testing,

More information

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process Human Computer Interaction Lecture 06 [ HCI in Software Process ] Imran Ihsan Assistant Professor www.imranihsan.com aucs.imranihsan.com HCI06 - HCI in Software Process 1 HCI in the software process Software

More information

Using VectorCAST/C++ with Test Driven Development. Whitepaper V

Using VectorCAST/C++ with Test Driven Development. Whitepaper V Using VectorCAST/C++ with Test Driven Development Whitepaper V2.0 2017-12 Table of Contents 1 Introduction... 3 2 Traditional Software Development... 3 3 Test Driven Development... 4 4 Using VectorCAST/C++

More information

defined. defined. defined. defined. defined. defined. defined. defined. defined.

defined. defined. defined. defined. defined. defined. defined. defined. defined. Table of Contents Week 1 Software Development... 2 Software Eng Life-Cycle Development Phases... 2 Methodologies... 2 Week 2 - XP, Scrum, Agile... 3 Extreme Programming (XP)... 3 Values of XP Programming...

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

The Scaled Agile Framework

The Scaled Agile Framework The Scaled Agile Framework Foundations of the Scaled Agile Framework (SAFe) SDJug Oct. 15, 2013 2008-2013 Leffingwell, LLC, and Scaled Agile, Inc. All rights reserved. Armond Mehrabian Enterprise Agile

More information

Test Automation. Fundamentals. Mikó Szilárd

Test Automation. Fundamentals. Mikó Szilárd Test Automation Fundamentals Mikó Szilárd 2016 EPAM 2 Blue-chip clients rely on EPAM 3 SCHEDULE 9.12 Intro 9.19 Unit testing 1 9.26 Unit testing 2 10.03 Continuous integration 1 10.10 Continuous integration

More information

The software lifecycle and its documents

The software lifecycle and its documents The software lifecycle and its documents Supplementary material for Software Architecture course B. Meyer, May 2006 Lifecycle models Origin: Royce, 1970, Waterfall model Scope: describe the set of processes

More information

E xtr B e y CS R m oy 6704, e T a P n a Spring r n o d J g ia n 2002 r g a S m hu m ing

E xtr B e y CS R m oy 6704, e T a P n a Spring r n o d J g ia n 2002 r g a S m hu m ing Extreme Programming CS 6704, Spring 2002 By Roy Tan and Jiang Shu Contents What is Extreme Programming (XP)? When to use XP? Do we need yet another software methodology? XP s rules and practices XP s relation

More information

VANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques

VANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques VANCOUVER Chapter Study Group BABOK Chapter 9 Techniques May 27, 2015 David Ghotbi, CBAP Agenda Chapter 8 Review Pop Quiz Break Chapter 9 Review Pop Quiz Q & A 2 Chapter 9 Techniques Techniques: Alter

More information

Agile Testing Course: 15 16/11

Agile Testing Course: 15 16/11 Agile Testing Dr. Ronen Bar-Nahor ronen@agilesparks.com 1 AgileSparks We help companies improve by Adopting agile principles and practices. We provide training and coaching to all organizational levels,

More information

xtreme Programming (summary of Kent Beck s XP book) Stefan Resmerita, WS2015

xtreme Programming (summary of Kent Beck s XP book) Stefan Resmerita, WS2015 xtreme Programming (summary of Kent Beck s XP book) 1 Contents The software development problem The XP solution The JUnit testing framework 2 The Software Development Problem 3 Risk Examples delivery schedule

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

XP: Planning, coding and testing. Planning. Release planning. Release Planning. User stories. Release planning Step 1.

XP: Planning, coding and testing. Planning. Release planning. Release Planning. User stories. Release planning Step 1. XP: Planning, coding and testing Annika Silvervarg Planning XP planning addresses two key questions in software development: predicting what will be accomplished by the due date determining what to do

More information

Designed in collaboration with Infosys Limited

Designed in collaboration with Infosys Limited Proposal for Introduction of New Industry Course in Engineering Curriculum Agile Software Development - Deliver Software Better Everyday Designed in collaboration with Infosys Limited Version 1-2016 Contents

More information

CS193D Handout 15 Winter 2005/2006 February 8, 2006 Software Engineering Methodologies and XP. See also: Chapter 6. The Stagewise Model

CS193D Handout 15 Winter 2005/2006 February 8, 2006 Software Engineering Methodologies and XP. See also: Chapter 6. The Stagewise Model CS193D Handout 15 Winter 2005/2006 February 8, 2006 Software Engineering Methodologies and XP See also: Chapter 6 The Stagewise Model The Waterfall Model The Spiral Method Extreme Beach Volleyball Programming

More information

Requirements and User-Centered Design in an Agile Context

Requirements and User-Centered Design in an Agile Context Requirements and User-Centered Design in an Agile Context The Volvo Group Business Areas AB Volvo Volvo Trucks Renault Trucks Mack Trucks Nissan Diesel Buses Construction Equipment Volvo Penta Volvo Aero

More information

Best Practices for Final Year Projects

Best Practices for Final Year Projects City University of Hong Kong Software Engineering Best Practices for Final Year Projects by Dr. Andy Chun, Hon Wai Subject Group Leader for SE Department of Computer Science Software Engineering Best Practices

More information

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming

SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming SOFTWARE LIFE-CYCLE PROCESSES From Waterfall to Extreme Programming Slide 1 Lesson Objectives Understand major activities of software projects Understand the place of these in different lifecycle models

More information

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions Test Automation Strategies in Continuous Delivery Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions The world of application is going through a monumental shift.. Evolving

More information

LESSONS LEARNED: BEING AGILE IN THE WATERFALL SANDBOX

LESSONS LEARNED: BEING AGILE IN THE WATERFALL SANDBOX www.twitter.com/telerik www.facebook.com/telerik LESSONS LEARNED: BEING AGILE IN THE WATERFALL SANDBOX Philip Japikse (@skimedic) phil.japikse@telerik.com www.skimedic.com/blog MVP, MCSD.Net, MCDBA, CSM,

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

Agile Project Management with Primavera

Agile Project Management with Primavera Agile Project Management with Primavera Shivank Saxena, Infosys Ltd. Sebastian Schweinle, Siemens AG Restricted Agile Project Management Contents 1 2 3 4 5 6 7 Why Agile Project Management What is the

More information

Kanban In a Nutshell. Bob Galen President & Principal Consultant RGCG, LLC

Kanban In a Nutshell. Bob Galen President & Principal Consultant RGCG, LLC Kanban In a Nutshell Bob Galen President & Principal Consultant RGCG, LLC bob@rgalen.com Copyright 2015 RGCG, LLC 2 About Velocity Partners Better business through better software HQ in Seattle Nearshore

More information

VO Software Engineering

VO Software Engineering Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch

More information

Software Process. Software Process

Software Process. Software Process Software Process What is SW process? Definition, Development, Support phases Process models: Waterfall Prototyping Spiral, Incremental & iterative (best practices) UP process model What is it? How does

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: XP 1 extreme Programming (XP) Developed by Beck in 1996. The first authentic XP book appeared in 1999, with a revised

More information

What is a prototype?

What is a prototype? analysis of stakeholders, field studies ANALYZE Problem scenarios claims about current practice metaphors, information technology, HCI theory, guidelines DESIGN Activity scenarios Information scenarios

More information

Human-Computer Interaction. CA357 Lecture 7 More on Prototyping

Human-Computer Interaction. CA357 Lecture 7 More on Prototyping Human-Computer Interaction CA357 Lecture 7 More on Prototyping Overview By the end of the session, you should be aware of: Design Importance of prototyping Low fidelity vs High fidelity prototyping Why

More information

1.2 Building the Right System. Identifying Needs & Expectations. Where to look for needs & expectations? or Who are the stakeholders?

1.2 Building the Right System. Identifying Needs & Expectations. Where to look for needs & expectations? or Who are the stakeholders? These slides are designed for presentation, not for stand-alone reading. 1.2 Building the Right System Elizabeth Bjarnason elizabeth@cs.lth.se Department Of Computer Science Lund University Identifying

More information

Agile where are we at?

Agile where are we at? Consultant www.crisp.se Agile where are we at? Keynote - Agile Tour Bangkok Nov 2017 henrik.kniberg@crisp.se @HenrikKniberg Dad Climate guy Organizational coach & Change Instigator Author Scrum Retrospective

More information

CS487 Midterm Exam Summer 2005

CS487 Midterm Exam Summer 2005 1. (4 Points) How does software differ from the artifacts produced by other engineering disciplines? 2. (10 Points) The waterfall model is appropriate for projects with what Characteristics? Page 1 of

More information

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time! Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time! Today s Topics How the Tester s Role Changes in Agile Testing in

More information

Designing Usable Apps

Designing Usable Apps This is a free sample excerpt from the book: Designing Usable Apps An agile approach to User Experience design Author: Kevin Matz 264 pages (softcover edition) Print edition ISBN: 978-0-9869109-0-6 E-book

More information

Engineering Design Notes I Introduction. EE 498/499 Capstone Design Classes Klipsch School of Electrical & Computer Engineering

Engineering Design Notes I Introduction. EE 498/499 Capstone Design Classes Klipsch School of Electrical & Computer Engineering Engineering Design Notes I Introduction EE 498/499 Capstone Design Classes Klipsch School of Electrical & Computer Engineering Topics Overview Analysis vs. Design Design Stages Systems Engineering Integration

More information

The Agile Unified Process (AUP)

The Agile Unified Process (AUP) The Agile Unified Process (AUP) Scott W. Ambler Senior Consultant, Ambysoft Inc. www.ambysoft.com/scottambler.html Copyright 2001-2005 Scott W. Ambler 1 Scott W. Ambler Methodologist, Author, Consultant

More information

User-Centered Development

User-Centered Development Software Lifecycle CS470 User-Centered Development User-centered development refers to a design process for creating a system that meets the needs of the user Users should be included in the design process

More information

Working in Harmony: Integrating the efforts of usability engineers and agile software developers

Working in Harmony: Integrating the efforts of usability engineers and agile software developers Working in Harmony: Integrating the efforts of usability engineers and agile software developers The Second International Conference on Advances in Computer-Human Interactions ACHI 2009 February 1-7, 2009

More information

Rapid Application Development [RAD]

Rapid Application Development [RAD] Rapid Application Development [RAD] RAD In Solution Delivery,, Beyond Prototypes www.lytecube.com Author: Girish Bellalcheru CTO, Lytecube.com Abstract Rapid application development has traditionally been

More information

Development Processes Agile Adaptive Planning. Stefan Sobek

Development Processes Agile Adaptive Planning. Stefan Sobek Development Processes Agile Adaptive Planning Stefan Sobek Agile Planning Process Adaptive Planning In agile projects frequently issues and changes will be discovered. Go into these projects with expectations

More information

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team

Certified Software Quality Engineer Preparation On Demand, Web-Based Course Offered by The Westfall Team Certified Software Quality Engineer (CSQE) Preparation course is an on demand, web-based course design to be a comprehensive, in-depth review of the topics in the ASQ s Certified Software Quality Engineer

More information

CMSC 435: Software Engineering Section 0201

CMSC 435: Software Engineering Section 0201 CMSC 435: Software Engineering Section 0201 Atif M. Memon (atif@cs.umd.edu) 4115 A.V.Williams building Phone: 301-405-3071 Office hours Tu.Th. (11:00am-1:00pm) Don t wait, don t hesitate, do communicate!!

More information

Founda'ons of So,ware Engineering. Process: Agile Prac.ces Claire Le Goues

Founda'ons of So,ware Engineering. Process: Agile Prac.ces Claire Le Goues Founda'ons of So,ware Engineering Process: Agile Prac.ces Claire Le Goues 1 Learning goals Define agile as both a set of itera.ve process prac.ces and a business approach for aligning customer needs with

More information

Learning objectives: Software Engineering. CSI1102: Introduction to Software Design. The Software Life Cycle. About Maintenance

Learning objectives: Software Engineering. CSI1102: Introduction to Software Design. The Software Life Cycle. About Maintenance CSI1102: Introduction to Software Design Chapter 10: Introduction to Software Engineering Learning objectives: Software Engineering The quality of the software is a direct result of the process we follow

More information

Seven Key Factors for Agile Testing Success

Seven Key Factors for Agile Testing Success Seven Key Factors for Agile Testing Success Agile Development Practices 2009 Lisa Crispin With Material from Janet Gregory 1 Introduction Tester on agile teams since 2000 My teams: Delight customers Deliver

More information

Introduction to. and. Scott W. Ambler Source Documents

Introduction to. and. Scott W. Ambler Source Documents Introduction to and Scott W. Ambler scott.ambler@ronin-intl.com Copyright 2001-2002 Scott W. Ambler 1 Source Documents www.agilemodeling.com The Agile Modeling Workshop Course Notes (www.ronin-intl.com)

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Tonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering?

Tonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering? Tonight s Agenda CSC340: Engineering Jennifer Campbell Lecturer Part 1 Introduction to course content Course information Changes to the SE courses/program Part 2 What are requirements? CSC340 University

More information

350 Index 2005 GOAL/QPC

350 Index 2005 GOAL/QPC Index abstract testing, 274 acceptance criteria, 270 acceptance tests, 270 activity diagrams, 113, 114, 174-175, 321 actor catalog, 144 actor description, 144 actor hierarchy, 148 actor map, 59, 114, 144,

More information

A CONFUSED TESTER IN AGILE WORLD

A CONFUSED TESTER IN AGILE WORLD A CONFUSED TESTER IN AGILE WORLD QA A LIABILITY OR AN ASSET THIS IS A WORK OF FACTS & FINDINGS BASED ON TRUE STORIES OF ONE & MANY TESTERS!! J Presented By Ashish Kumar, A STORY OF TESTING. WHAT S AHEAD

More information

K Kantor, Jeff Use Case Driven Testing, 249

K Kantor, Jeff Use Case Driven Testing, 249 Index A A & D modeling need for updating diagrams rapidly, 232 actors overview, 43 using interaction design to identify, 196 AD (Agile Database Techniques), 18 adaptive planning agile projects and, 10

More information

PMI Agile Certified Practitioner (PMI-ACP) Exam Prep Training - Brochure

PMI Agile Certified Practitioner (PMI-ACP) Exam Prep Training - Brochure PMI Agile Certified Practitioner (PMI-ACP) Exam Prep Training - Brochure Take your Career to the Next-level with a Globally-recognised Credential Course Name : PMI-ACP Version : INVL_PMI_ACP_BR_02_1.2

More information

NYS Forum. Optimized Test Driven Development Maximize development efforts through Behavior Driven Development and Model Based Testing

NYS Forum. Optimized Test Driven Development Maximize development efforts through Behavior Driven Development and Model Based Testing NYS Forum Optimized Test Driven Development Maximize development efforts through Behavior Driven Development and Model Based Testing November 6 th, 2015 Driving Principles: Clarity and Collaboration BDD

More information

Answers NOT TO BE PRINTED

Answers NOT TO BE PRINTED Advanced Software Engineering, COMP3C05, 2002 Answer Question 1 and two further questions. Marks for each part of each question are indicated in square brackets Calculators are NOT permitted 1. Your 3C05

More information

Mensch-Maschine-Interaktion 1

Mensch-Maschine-Interaktion 1 1 Mensch-Maschine-Interaktion 1 Chapter 10 (July 21st, 2011, 9am-12pm): User-Centered Development Process Overview Introduction Basic HCI Principles (1) Basic HCI Principles (2) User Research & Requirements

More information

Sample Exam. Advanced Test Automation Engineer

Sample Exam. Advanced Test Automation Engineer Sample Exam Advanced Test Automation Engineer Answer Table ASTQB Created - 08 American Stware Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information