An Introduction to Agile Engineering Practices

Size: px
Start display at page:

Download "An Introduction to Agile Engineering Practices"

Transcription

1 An Introduction to Agile Engineering Practices Kane Mar Danube Technologies, Inc 1 The New New Product Development Game - Takeuchi and Nonaka 2

2 photo: 3 4

3 From: Kent Beck To: Jeff Sutherland <jsutherland> Reply: Date: Mon, 15 May :01: (EDT) Subj: HBR paper Is there a good place to get reprints of the SCRUM paper from HBR? I've written patterns for something very similar and I want to make sure I steal as many ideas as possible. Kent 5 Continuous Integration 6

4 What is Continuous Integration? 7 Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. -Martin Fowler 8

5 Commit 9 Commit 1. Compile & Build 2. Unit Tests 3. Integration Tests 4. Report Errors 10

6 Commit 1. Compile & Build 2. Unit Tests 3. Integration Tests 4. Report Errors Checkout 11 Commit 1. Compile & Build 2. Unit Tests 3. Integration Tests 4. Report Errors Checkout 12

7 Commit 1. Compile & Build 2. Unit Tests 3. Integration Tests 4. Report Errors Checkout 13 14

8 Why is Continuous Integration important? Reducing Risk. 16

9 When we are integrating the product all the time the risk of a failed integration is spread throughout the duration of the project rather than being left until the end. 18

10 2. Behavior. 19 If doing a complete build and test of any product is difficult... 20

11 doing it continuously is very difficult. 21 Teams need to develop different ways of working. 22

12 Never letting the build break. 23 Commit 1. Compile & Build 2. Unit Tests 3. Integration Tests 4. Report Errors Checkout A broken build or integration test here... 24

13 Commit 1. Compile & Build 2. Unit Tests 3. Integration Tests 4. Report Errors Checkout A broken build or integration test here... will get propagated here, here and here. 25 The Friday Afternoon Pattern of broken builds. 26

14 Delivering smaller increments of well tested functionality. 27 Investing in automated testing frameworks. 28

15 Test, Test and Test again. 29 I believe that all teams should practice CI. 30

16 The tools are free, like free beer. 31 The only price to pay for introducing CI is... 32

17 education. 33 References continuousintegration.html

18 Test Driven Development 35 What is Test Driven Development? 36

19 1. Add a test Run all test and see the new ones fail 38

20 3. Write some code Run the automated tests and see them succeed 40

21 5. Refactor 41 Red/Green/Refactor 42

22 Why is TDD important? 43 TDD is a method of designing software, not merely an approach to testing. 44

23 We found that test-first students on average wrote more tests and, in turn, students who wrote more tests tended to be more productive. - Erdogmus, Hakan; Morisio, Torchiano 45 Over a period of time, TDD will lead to suite of automated integration tests. 46

24 References Erdogmus, Hakan; Morisio, Torchiano. On the Effectiveness of Test-first Approach to Programming, Proceedings of the IEEE Transactions on Software Engineering, 31(1). January (NRC 47445). We found that test-first students on average wrote more tests and, in turn, students who wrote more tests tended to be more productive. Newkirk, JW and Vorontsov, AA. Test-Driven Development in Microsoft.NET, Microsoft Press, Feathers, M. Working Effectively with Legacy Code, Prentice Hall, 2004 Beck, K. Test-Driven Development by Example, Addison Wesley, 2003 Muller, Matthias M.; Padberg, Frank. About the Return on Investment of Test- Driven Development (PDF) Universitat Karlsruhe, Germany 47 Refactoring 48

25 What is Refactoring? 49 Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. - Martin Fowler 50

26 Each transformation (called a 'refactoring') does little, but a sequence of transformations can produce a significant restructuring. 51 double disabilityamount() { if (_seniority < 2) return 0; if (_monthsdisabled > 12) return 0; if (_isparttime) return 0; // compute the disability amount double disabilityamount() { if (isnoteligablefordisability()) return 0; // compute the disability amount 52

27 Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. - Martin Fowler 53 How do we establish that the behavior is unchanged? 54

28 Continuous Integration and Test Driven Development 55 The term Refactoring is poorly used. 56

29 If somebody talks about a system being broken for a couple of days while they are refactoring you can be pretty sure they are not refactoring... 58

30 Refactoring is a very specific technique, founded on using small behavior-preserving transformations - Martin Fowler 59 References Fowler, Martin (1999). Refactoring. Addison-Wesley. ISBN

31 Pair Programming 61 What is Pair Programming? 62

32 Two team members working on the same code base and working side-by-side 63 photo: 64

33 I told you Slashdot was more popular than Digg 65 Modern software development is full of drama... 66

34 photo: 67 photo: 68

35 The thrill of victory And the agony of defeat. 70

36 Why is Pair Programming important? 71 Pair Programming significantly reduces the number of defects, and greatly increase the quality of the code. 72

37 It is, however, very difficult to introduce. 73 There are many issues mostly related to loss of personal space and lack of privacy. 74

38 Why do we care? 75 76

39 80% of the cost of software is incurred after it has gone live. 77 What would it mean to you if your cost of change was linear rather than exponential? 78

40 Thank You! 79

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download. Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on

More information

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries Deep Agile Blending Scrum and Extreme Programming Jeff Sutherland Ron Jeffries Separation of XP and Scrum Methods * Largely Historical * XP chose to write more down * XP programmer focus * Successful Scrum

More information

Test Driven Development Method in Software Development Process

Test Driven Development Method in Software Development Process Test Driven Development Method in Software Development Process Denis Duka, Lovre Hribar Ericsson Nikola Tesla Research & Development Center Split, Croatia denis.duka@ericsson.com; lovre.hribar@ericsson.com

More information

Making Architectural Design Phase Obsolete TDD as a Design Method

Making Architectural Design Phase Obsolete TDD as a Design Method HUT / SoberIT 2004 Spring T-76.650 SQA in Agile Software Development 1 Making Architectural Design Phase Obsolete TDD as a Design Method Marc Josefsson T-76.650 Seminar course on SQA in Agile Software

More information

XP and Design. Paulo Caroli & Sudhindra Rao. ThoughtWorks

XP and Design. Paulo Caroli & Sudhindra Rao. ThoughtWorks XP and Design Paulo Caroli & Sudhindra Rao ThoughtWorks XP and Design Where did the Design phase go? About us About us 14 + 6 About us Certified Architect About us Agile Coach / Developer Agenda Agenda

More information

XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich

XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich XP and TDD Extreme Programming and Test Driven Development Bertrand Meyer, Manuel Oriol Andreas Leitner ETH Zurich October 27, 2006 Outline Development Processes Overview Extreme Programming Test Driven

More information

Agile Testing and Extreme Programming

Agile Testing and Extreme Programming Agile Testing and Extreme Programming bret@pettichord.com www.pettichord.com March 2003 Copyright 2003 Bret Pettichord. All rights reserved. The Agile Alliance Values We have come to value: Individuals

More information

Agile Techniques for Object Databases

Agile Techniques for Object Databases db4o The Open Source Object Database Java and.net Agile Techniques for Object Databases By Scott Ambler 1 Modern software processes such as Rational Unified Process (RUP), Extreme Programming (XP), and

More information

About the Return on Investment of Test-Driven Development

About the Return on Investment of Test-Driven Development About the Return on of Test-Driven Development Matthias M. Müller Fakultät für Informatik Universität Karlsruhe, Germany muellerm @ ira.uka.de Frank Padberg Fakultät für Informatik Universität Karlsruhe,

More information

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1

Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1 Collaborative Large scale Integrating Project Open Platform for EvolutioNary Certification Of Safety critical Systems Methodology: Agile development of safety critical systems to deliverable D1.1 Work

More information

Agile and Secure: Can We Be Both?

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

More information

CSE 4415 / SWE 5415 Software Testing 2 Fall 2004 Olin Engineering Building, Room 128 Credits: 3.00

CSE 4415 / SWE 5415 Software Testing 2 Fall 2004 Olin Engineering Building, Room 128 Credits: 3.00 CSE 4415 / SWE 5415 Software Testing 2 Fall 2004 Olin Engineering Building, Room 128 Credits: 3.00 SOFTWARE TESTING 2. (Catalog description) Explores structural (glass box) methods for testing software.

More information

Success Factors of Agile Software Development

Success Factors of Agile Software Development Success Factors of Agile Software Development Subhas C. Misra, Vinod Kumar, and Uma Kumar Carleton University, Ottawa, Canada Abstract Agile software development methodologies have recently gained widespread

More information

Test Driven Development with Continuous Integration: A Literature Review

Test Driven Development with Continuous Integration: A Literature Review Test Driven Development with Continuous Integration: A Literature Review Sheikh Fahad Ahmad Deptt. of Computer Science & Engg. Mohd. Rizwan Beg Deptt. of Computer Science & Engg. Mohd. Haleem Deptt. of

More information

Introduction to Agile Software Development. EECS 690 Agile Software Development

Introduction to Agile Software Development. EECS 690 Agile Software Development Introduction to Agile Software Development EECS 690 Agile Software Development Agenda Research Consent Forms Problem with Software Engineering Motivation for Agile Methods Agile Manifesto Principles into

More information

Agile Software Development

Agile Software Development Agile Software Development Lecturer: Raman Ramsin Lecture 17 Practices: Design and Kanban 1 Design Practices: CRC Cards CRC Class, Responsibilities, and Collaborators Potential classes are written on CRC

More information

Software Engineering

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

More information

The Level of Agility in Testing Process in a Large Scale Financial Software Project

The Level of Agility in Testing Process in a Large Scale Financial Software Project The Level of Agility in Testing Process in a Large Scale Financial Software Project Marian Jureczko 1,2 1 Capgemini Polska Sp. z o. o., Legnicka 51-53, 54-203, Wrocław, Poland 2 Institute of Computer Engineering,

More information

Continuous Integration, Delivery and Deployment. Eero Laukkanen T-76.5613 - Software Testing and Quality Assurance P 20.11.2015

Continuous Integration, Delivery and Deployment. Eero Laukkanen T-76.5613 - Software Testing and Quality Assurance P 20.11.2015 Continuous Integration, Delivery and Deployment Eero Laukkanen T-76.5613 - Software Testing and Quality Assurance P 20.11.2015 System Integration In engineering, system integration is defined as the process

More information

Software Requirements and Specification

Software Requirements and Specification Software Requirements and Specification Agile Methods SE3821 - Jay Urbain Credits: Beck, K. (1999). Extreme Programming Explained: Embrace Change. Boston, MA: Addison-Wesley. Beck, Kent; et al. (2001).

More information

An Initial Investigation of Test Driven Development in Industry

An Initial Investigation of Test Driven Development in Industry An Initial Investigation of Test Driven Development in Industry Boby George Department of Computer Science North Carolina State University Raleigh, NC 2795-7534 (+1) 919 01 2922 bobygeorge@ncsu.edu Laurie

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort

More information

Software developers are known for adopting new technologies and practices on the

Software developers are known for adopting new technologies and practices on the feature s o f t w ar e m e t r ic s Does Test-Driven Development Really Improve Software Design Quality? David S. Janzen, California Polytechnic State University, San Luis Obispo Hossein Saiedian, University

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

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

More information

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

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

More information

SECC Agile Foundation Certificate Examination Handbook

SECC Agile Foundation Certificate Examination Handbook Versions 2.0 Version Date Remarks 1.0 12/4/2012 Initial version 2.0 3/8/2008 REVISION HISTORY Updated knowledge areas Added questions examples Updated suggested readings section Page 2 of 15 Version 2.0

More information

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories XP & Scrum Beatrice Åkerblom beatrice@dsv.su.se extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or

More information

Evaluating the Efficacy of Test-Driven Development: Industrial Case Studies

Evaluating the Efficacy of Test-Driven Development: Industrial Case Studies Evaluating the Efficacy of Test-Driven Development: Industrial Case Studies Thirumalesh Bhat Center for Software Excellence One Microsoft Way Redmond, WA 98052 thirub@microsoft.com ABSTRACT This paper

More information

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

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

More information

Evaluating the Efficacy of Test-Driven Development: Industrial Case Studies

Evaluating the Efficacy of Test-Driven Development: Industrial Case Studies Evaluating the Efficacy of Test-Driven Development: Industrial Case Studies Thirumalesh Bhat Center for Software Excellence One Microsoft Way Redmond, WA 98052 thirub@microsoft.com Nachiappan Nagappan

More information

Assessing Test-Driven Development at IBM

Assessing Test-Driven Development at IBM Assessing Test-Driven Development at IBM E. Michael Maximilien IBM Corp. and NCSU 5505 Six Forks Road Raleigh, NC 27609 maxim@us.ibm.com Abstract In a software development group of IBM Retail Store Solutions,

More information

Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D.

Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D. An Introduction to extreme Programming Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University Introduction Extreme Programming (XP) is a (very) lightweight incremental software

More information

Agile Software Development and Service Science

Agile Software Development and Service Science Agile Software Development and Service Science How to develop IT-enabled Services in an Interdisciplinary Environment Andreas Meier Institute of Applied Information Technology (InIT) Zurich University

More information

Laboratório de Desenvolvimento de Software

Laboratório de Desenvolvimento de Software Laboratório de Desenvolvimento de Software FEUP/MIEIC, 2015/16 Ademar Aguiar Nuno Flores Rui Maranhão Hugo Ferreira Luís Teixeira url: moodle http://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919

More information

Agile Software Development Methodologies and Its Quality Assurance

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

More information

Agile Software Project Management with Scrum

Agile Software Project Management with Scrum Agile Software Project Management with Scrum Viljan Mahnic, Slavko Drnovscek University of Ljubljana, Faculty of Computer and Information Science Trzaska 25, SI-1000 Ljubljana, Slovenia viljan.mahnic@fri.uni-lj.si,

More information

Software Life Cycles and Configuration Management

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

More information

Test-Driven Development

Test-Driven Development Test-Driven Development An Introduction Mattias Ståhlberg mattias.stahlberg@enea.com Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.

More information

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Digital Transformation of the Enterprise for SMAC: Can Scrum help? Digital Transformation of the Enterprise for SMAC: Can Scrum help? Scope of this Report October 2015 In this paper, we consider the impact of the digital transformation on software development and whether

More information

Extreme Programming. As software organizations continue to move

Extreme Programming. As software organizations continue to move Spotlight Extreme Programming Rapid Development for Web-Based Applications Frank Maurer and Sebastien Martel University of Calgary As software organizations continue to move toward Web-based systems development,

More information

Akhil Kumar 1, Bindu Goel 2

Akhil Kumar 1, Bindu Goel 2 Factors Influencing Agile Practices: A Survey Akhil Kumar 1, Bindu Goel 2 1 (University School of Information Technology, GGS Indraprastha University, New Delhi-110075) 2 (University School of Information

More information

Software Engineering Process Economy & Quality

Software Engineering Process Economy & Quality Project delivery: Progress report Software Engineering Process Economy & Quality ETSF 01 http://cs.lth.se/etsf01 The SPA reports you RECEIVED Your actions on received feedback Excel format preferred Lecture

More information

Test-Driven Development. SC12 Educator s Session November 13, 2012

Test-Driven Development. SC12 Educator s Session November 13, 2012 Test-Driven Development Educator s Session November 13, 2012 Outline Software Quality Overview of Testing Automated Testing Tools Test-Driven Development Educator's Session 2 SOFTWARE QUALITY Educator's

More information

Programmer Discretion and Software Quality

Programmer Discretion and Software Quality Programmer Discretion and Software Quality Scott Meyers, Ph.D. Software Development Consultant smeyers@aristeia.com Voice: 503/638-6028 Fax: 503/638-6614 Last Revised: 1/12/06 I Come in Peace Page 2 Page

More information

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar vijsy003@students.unisa.edu.au School of Computer and Information Science University of South Australia,

More information

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT

EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT Cruceru Anca Romanian- American University, Faculty of Management- Marketing, 1B Expozitiei Blvd, Bucharest, cruceruanca@yahoo.com, 0723508894

More information

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

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

More information

Agile Software Development and Service Science

Agile Software Development and Service Science DOI V Agile Software Development and Service Science How to develop IT-enabled Services in an Interdisciplinary Environment Andreas Meier, Jenny C. Ivarsson Abstract This paper shows the necessary steps,

More information

Agile Software Development

Agile Software Development Agile Software Development Application in the Medical Device Industry Kelly Weyrauch Medtronic, Inc. (29 April 2008) Introduction Purpose Provide an introduction to Agile Software Development as it applies

More information

Quality in an Agile World BY SCOTT AMBLER Ambysoft, Inc.

Quality in an Agile World BY SCOTT AMBLER Ambysoft, Inc. TALKING POINTS Quality is an inherent aspect of true agile software development. The majority of agilists take a test-driven approach to development where they write a unit test before they write the domain

More information

Introduction to Agile Software Development Process. Software Development Life Cycles

Introduction to Agile Software Development Process. Software Development Life Cycles Introduction to Agile Software Development Process Presenter: Soontarin W. (Senior Software Process Specialist) Date: 24 November 2010 AGENDA Software Development Life Cycles Waterfall Model Iterative

More information

Agile Project Management: Best Practices and Methodologies

Agile Project Management: Best Practices and Methodologies WHITEPAPER Agile Project Management: Best Practices and Methodologies 1. The Art of Project Management 2. Traditional Project Management Methodologies 3. Defining Agile Principles 4. Agile Methodologies

More information

History of Agile Methods

History of Agile Methods Agile Development Methods: Philosophy and Practice CPSC 315 Programming Studio Fall 2010 History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight software

More information

Technical Debt. Thomas Sundberg. Consultant, Developer Stockholm, Sweden Sigma Solutions AB

Technical Debt. Thomas Sundberg. Consultant, Developer Stockholm, Sweden Sigma Solutions AB Technical Debt Thomas Sundberg Consultant, Developer Stockholm, Sweden Sigma Solutions AB thomas.sundberg@sigma.se @thomassundberg http://thomassundberg.wordpress.com Technical Debt - Goal Get a metaphor

More information

Agile Processes and Methodologies: A Conceptual Study

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

More information

Agile with XP and Scrum

Agile with XP and Scrum Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been

More information

The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary

The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary ! " # $%&' ()**+ % The Agile approach Extreme Programming (XP) Implementing XP into a software project Introducing HCI design into agile software development Summary , 75% of the enterprise software products

More information

Delivering Quality Software with Continuous Integration

Delivering Quality Software with Continuous Integration Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make

More information

Lean Configuration Management

Lean Configuration Management A Softhouse White Paper Jens Norin Daniel Karlström September 2006 Softhouse Consulting, Stormgatan 14, SE-211 20 Malmö info@softhouse.se www.softhouse.se Contents Abstract...3 Introduction...4 Software

More information

Product Derivation Process and Agile Approaches: Exploring the Integration Potential

Product Derivation Process and Agile Approaches: Exploring the Integration Potential Product Derivation Process and Agile Approaches: Exploring the Integration Potential Padraig O Leary, Muhammad Ali Babar, Steffen Thiel, Ita Richardson Lero, the Irish Software Engineering Research Centre,

More information

AGILE DEVELOPMENT: LESSONS LEARNED FROM THE FIRST SCRUM

AGILE DEVELOPMENT: LESSONS LEARNED FROM THE FIRST SCRUM AGILE DEVELOPMENT: LESSONS LEARNED FROM THE FIRST SCRUM By Dr. Jeff Sutherland October 2004 In 1993, at Easel Corporation in 1993, we we first applied the Scrum process to software development teams when

More information

Walking Skeleton Strategy in a Test Driven Development

Walking Skeleton Strategy in a Test Driven Development International Journal of Scientific and Research Publications, Volume 4, Issue 4, April 2014 1 Walking Skeleton Strategy in a Test Driven Development Hina Kousar, Kavitha Kumar MS Computer Science, Christ

More information

Agile user-centred design

Agile user-centred design Agile user-centred design Marc McNeill Thoughtworks, 9th Floor Berkshire House 168-173 High Holborn London, WC1V 7AA Agile methods are becoming increasingly common in application design, with their collaborative

More information

Agile Engineering Introduction of a new Management Concept

Agile Engineering Introduction of a new Management Concept Journal of Applied Leadership and Management 4, 39-47 39 Agile Engineering Introduction of a new Management Concept Philipp Hecker (philipp.hecker_ch@bluewin.ch) Artur Kolb (arthur.kolb@hs-kempten.de)

More information

The Role of Software Quality in Agile Software Development Methodologies Osama Sohaib and Khalid Khan Abstract he various agile software development methodologies have promoted since their inception and

More information

Story Card Based Agile Software Development

Story Card Based Agile Software Development Story Card Based Agile Software Development Chetankumar Patel, and Muthu Ramachandran Leeds Metropolitan University, UK c.patel@leedsmet.ac.uk Abstract The use of story cards for user stories in many Extreme

More information

Introduction to extreme Programming (XP)

Introduction to extreme Programming (XP) Introduction to extreme Programming (XP) Extreme Programming (XP) Kent Beck C3 Project Chrysler Comprehensive Compensation system. XP Values: Communication Courage Feedback Simplicity Established the Twelve

More information

Agile software product line engineering. Abstract. Introduction. DT8100 Essay, spring 2007 by Geir K. Hanssen (ghanssen@sintef.no)

Agile software product line engineering. Abstract. Introduction. DT8100 Essay, spring 2007 by Geir K. Hanssen (ghanssen@sintef.no) Agile software product line engineering DT8100 Essay, spring 2007 by Geir K. Hanssen (ghanssen@sintef.no) Abstract This paper looks into a rather new idea of combining practices for software product line

More information

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

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

More information

Agile Techniques and Tools. White Paper

Agile Techniques and Tools. White Paper Agile Techniques and Tools White Paper Agile Techniques and Tools Synopsis This section provides an overview of a number of techniques and tools that are commonly used by agile development teams. These

More information

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation

More information

Realizing quality improvement through test driven development: results and experiences of four industrial teams

Realizing quality improvement through test driven development: results and experiences of four industrial teams Empir Software Eng (2008) 13:289 302 DOI 10.1007/s10664-008-9062-z Realizing quality improvement through test driven development: results and experiences of four industrial teams Nachiappan Nagappan &

More information

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth. 1 Continuous Integration with Jenkins Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.se Faculty of Engineering, Lund Univeristy (LTH) March 5, 2013 Abstract

More information

Adapting Extreme Programming For A Core Software Engineering Course

Adapting Extreme Programming For A Core Software Engineering Course Adapting Extreme Programming For A Core Software Engineering Course Anuja Shukla Department of Computer Science North Carolina State University Raleigh, NC 27695-7534 ashukla@unity.ncsu.edu Dr. Laurie

More information

Extreme programming (XP) is an engineering methodology consisting of practices that ensure top-quality, focused code. XP begins with four values:

Extreme programming (XP) is an engineering methodology consisting of practices that ensure top-quality, focused code. XP begins with four values: Scrum with XP By Kane Mar, Ken Schwaber. Introduction Scrum and extreme programming (XP) are both Agile methodologies. We've heard controversy regarding the value of each, with people familiar with each

More information

Testing in the Enterprise using SCRUM Stretching Scrum to Accommodate Legacy & Large- Scale Testing Activity

Testing in the Enterprise using SCRUM Stretching Scrum to Accommodate Legacy & Large- Scale Testing Activity Testing in the Enterprise using SCRUM Stretching Scrum to Accommodate Legacy & Large- Scale Testing Activity Bob Galen President & Principal Consultant, RGCG, LLC Leading you down the path of agility www.rgalen.com

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 2015 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency

More information

Teaching Agile Software Development at University Level 1

Teaching Agile Software Development at University Level 1 IMVS Fokus Report 2013 15 Teaching Agile Software Development at University Level 1 Several recent surveys show that agile methodologies like Scrum, Extreme Programming and Kanban have been successfully

More information

Improving Software Developer s Competence: Is the Personal Software Process Working?

Improving Software Developer s Competence: Is the Personal Software Process Working? Improving Software Developer s Competence: Is the Personal Software Process Working? Pekka Abrahamsson 1, Karlheinz Kautz 2, Heikki Sieppi 3 and Jouni Lappalainen 3 1 VTT Technical Research Centre of Finland,

More information

AGILE PRACTICES: A COGNITIVE LEARNING PERSPECTIVE

AGILE PRACTICES: A COGNITIVE LEARNING PERSPECTIVE AGILE PRACTICES: A COGNITIVE LEARNING PERSPECTIVE Mazni Omar 1 and Sharifah Lailee Syed Abdullah 2 1 Universiti Utara Malaysia, Malaysia, mazni@uum.edu.my 2 Universiti Teknologi MARA, shlailee@perlis.uitm.edu.my

More information

Test Driven Development

Test Driven Development Test Driven Development Introduction Test Driven development (TDD) is a fairly recent (post 2000) design approach that originated from the Extreme Programming / Agile Methodologies design communities.

More information

Defining Agile SE. some collateral damage. Lockheed Martin IS&GS, Senior Manager jim.brake@lmco.com 719-277-5438

Defining Agile SE. some collateral damage. Lockheed Martin IS&GS, Senior Manager jim.brake@lmco.com 719-277-5438 They say that to dissect is to kill but let s risk some collateral damage Jim Brake Lockheed Martin IS&GS, Senior Manager jim.brake@lmco.com 719-277-5438 Michael Coughenour Lockheed Martin IS&GS, System

More information

Developing acceptance tests specifically with Fit Fit for Developing Software Framework for Integrated Tests Rick Mugridge and Ward Cunningham.

Developing acceptance tests specifically with Fit Fit for Developing Software Framework for Integrated Tests Rick Mugridge and Ward Cunningham. 50 References (** Still more to add - ones by the people referred to in the preface **) (*** Eliminate duplicates ***) Books The only other book I know specifically directed toward Acceptance Testing Bridging

More information

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS

SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS SOFTWARE DEVELOPMENT METHODOLOGIES, TRENDS, AND IMPLICATIONS Xihui Zhang University of North Alabama xzhang6@una.edu Hua Dai University of Wisconsin-La Crosse dai.hua@uwlax.edu Tao Hu King College thu@king.edu

More information

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming

Génie Logiciel et Gestion de Projets. Software Processes Focus on Extreme Programming Génie Logiciel et Gestion de Projets Software Processes Focus on Extreme Programming 1 Roadmap Process, Method, Methodology?? What is a software process? Software Process Models Methodologies: RUP Focus

More information

Agile Practices in Software Development Experiences from Student Projects

Agile Practices in Software Development Experiences from Student Projects Agile Practices in Software Development Experiences from Student Projects Jean-Guy Schneider and Rajesh Vasa Faculty of Information & Communication Technologies Swinburne University of Technology P.O.

More information

Managing Technical Debt in Software-Reliant Systems

Managing Technical Debt in Software-Reliant Systems Managing Technical Debt in Software-Reliant Systems Brown, N.*, Cai, Y.**, Guo, Y., Kazman, R.*,, Kim, M. +, Kruchten, P. #, Lim, E. #, MacCormack, A. ++, Nord, R*., Ozkaya, I.*, Sangwan, R. π, Seaman,

More information

Agile Contracts: Building Trust. Ewan Milne ewan@calenture.org

Agile Contracts: Building Trust. Ewan Milne ewan@calenture.org Agile Contracts: Building Trust Ewan Milne ewan@calenture.org Contracts: a necessary evil? We are uncovering better ways of developing software by doing it and helping others do it. Through this work we

More information

Automated Acceptance Testing of High Capacity Network Gateway

Automated Acceptance Testing of High Capacity Network Gateway Automated Acceptance Testing of High Capacity Network Gateway Ran Nyman 1, Ismo Aro 2, Roland Wagner 3, 1,2,3 Nokia Siemens Network, PO Box 1 FI-02022 Nokia Siemens Networks 1 ran@rannicon.com, 2 ismo.aro@nsn.com,

More information

The Role of Agile Methodology in Project Management

The Role of Agile Methodology in Project Management Edith Cowan University Research Online Australian Information Warfare and Security Conference Security Research Institute Conferences 2010 Success of Agile Environment in Complex Projects Abbass Ghanbary

More information

The Impact of Test-Driven Development on Software Development Productivity An Empirical Study

The Impact of Test-Driven Development on Software Development Productivity An Empirical Study This is a preprint of an article: Lech Madeyski and Lukasz Sza la, The Impact of Test-Driven Development on Software Development Productivity An Empirical Study, in Software Process Improvement, ser. Lecture

More information

Agile Project Management

Agile Project Management Agile Project Management with Bill Doescher, PMP, MBA, CSM Pi Principal i lconsultant tand Product tdevelopment tdirector Bill Doescher, PMP, CSM Bill Doescher is a Principal Consultant and Product Development

More information

AgileSoftwareDevelopmentandTestingApproachandChallengesinAdvancedDistributedSystems

AgileSoftwareDevelopmentandTestingApproachandChallengesinAdvancedDistributedSystems Global Journal of Computer Science and Technology: B Cloud and Distributed Volume 14 Issue 1 Version 1.0 Year 2014 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals

More information

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL ISCTE, 15 April 2005 Abstract 2 From anorexic to bulimic Overview of heavy-weight methodologies Origins of light-weight

More information

Agile Software Development

Agile Software Development DRDO Science Spectrum, March 2009, pp. 55-59 GARG: AGILE SOFTWARE DEVELOPMENT 2009, DESIDOC Agile Software Development Asha Garg Aeronautical Development Establishment, CV Raman Nagar, Bangalore-560 093

More information

Génie Logiciel Avancé Cours 6 Extreme Programming

Génie Logiciel Avancé Cours 6 Extreme Programming Génie Logiciel Avancé Cours 6 Extreme Programming Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot - Paris 7 URL http://upsilon.cc/zack/teaching/1112/gla/ Copyright

More information

Job Satisfaction and Motivation in a Large Agile Team

Job Satisfaction and Motivation in a Large Agile Team Job Satisfaction and Motivation in a Large Agile Team Bjørnar Tessem 1, and Frank Maurer 2 1 Department of Information Science and Media Studies, University of Bergen, NO-5020 Bergen, Norway bjornar.tessem@uib.no

More information

The Role of CM in Agile Development of Safety-Critical Software

The Role of CM in Agile Development of Safety-Critical Software The Role of CM in Agile Development of Safety-Critical Software Tor Stålhane1, Thor Myklebust 2 1 Norwegian University of Science and Technology, N-7491, Trondheim, Norway 2 SINTEF ICT, Strindveien 2,

More information

An Iterative and Agile Process Model for Teaching Software Engineering

An Iterative and Agile Process Model for Teaching Software Engineering An Iterative and Agile Process Model for Teaching Software Engineering Maria Isabel Alfonso and Antonio Botía Dept. of Computer Science and Artificial Intelligence. University of Alicante (Spain) eli@dccia.ua.es,

More information

Software Quality and Assurance in Waterfall model and XP - A Comparative Study

Software Quality and Assurance in Waterfall model and XP - A Comparative Study Software Quality and Assurance in Waterfall model and XP - A Comparative Study Dr. Sana a Jawdat Khalaf Sana_j_11@hotmail.com Dr. Mohamed Noor Al-Jedaiah m_aljedaiah@ammanu.edu.jo Abstract: -Dealing with

More information