Pertemuan 5 Introduction to Agile Software Development Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010.

Slides:



Advertisements
Similar presentations
Feb Alten Group Started in France in 1988 Currently more than people Presence in 10 countries Active in The Netherlands since 2002.
Advertisements

Agile Software Development Robert Moore Senior Developer Curtin University.
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
SDLC – Beyond the Waterfall
Software Development Life-Cycle Models
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
Michael Lepine Agile2013 Recap. What is DevOps?
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
1 Agile Methodologies in DoD Software By Cynthia Johnson.
Software Process and Problem Statements CSSE 371, Software Requirements and Specification Mark Ardis, Rose-Hulman Institute September 3, 2004.
Agile Methods and Extreme Programming CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 23, 2007.
Agile Methods.
The Challenge to Survive in Today’s Software Development Environment Evaluating the Agile Methodology.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Coming up: The Manifesto for Agile Software Development 1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development Software Engineering:
Programming with eyes wide open. Your host today Subby Angelov Team
The Agile Alliance By Mark Rucker. The Agile Alliance What is the Agile Alliance? History of the Agile Alliance What is the Agile Alliance today? The.
Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.
An Agile View of Process
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Software Development Process
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Chapter 4 Agile Development
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Chapter 4 An Agile View of Process
Chapter 4 Agile Development 1. The Manifesto for Agile Software Development 2 “We are uncovering better ways of developing software by doing it and helping.
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Chapter 5 애자일 개발 Agile Development
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
1 The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Sofia Event Center May 2014 Branimir Giurov C# MVP Solution Architect BulPros Consulting Continuous Integration of Sharepoint 2013 Solutions with.
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
AGILE SOFTWARE DEVELOPMENT. Agile software development : Agile software development refers to a group of software development methodologies that promotes.
Agile Gintarė Bernotaitytė © 2013.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
Embedded Systems Software Engineering
Agile/XP Introduction
Chapter 5 Agile Development Moonzoo Kim KAIST
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Manifesto for Agile Software Development
Introduction to Agile Software Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Domains of Agility Being Agile Doing Agile Evan Leybourn, 2016 PROCESS
Chapter 5 Agile Development
Introduction to Software Engineering
Tim Hirner - Flagship Speakers January 23, 2014
Agile Development Agile Development Damian Gordon Damian Gordon.
Agile Process: Overview
Chapt 2 Iterative Evolutionary Agile.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
The Manifesto for Agile Software Development
Introduction to XP.
Topic 1: Introduction to the Module and an Overview of Agile
Chapter 5: New and Emerging Process Methodologies
System Development Methods
Presentation transcript:

Pertemuan 5 Introduction to Agile Software Development Mata kuliah: T0144 – Advanced Topics in Software Engineering Tahun: 2010

3 Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat menjelaskan prinsip dasar Agile Methodology serta perbedaannya dengan methodology tradisional

4 Outline Material Agile Software Development –Agile Methods Extreme Programming SCRUM Feature Driven Development –Agile Practices Test Driven Development Continuous Integration Pair Programming

Agile Software Development Agile Manifesto : We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: –Individuals and interactions over processes and tools –Working software over comprehensive documentation –Customer collaboration over contract negotiation –Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.

Agile Methods Some of the well-known agile software development methods: Agile Modeling Agile Unified Process (AUP) Agile Data Method DSDM Essential Unified Process (EssUP) Extreme programming (XP) Feature Driven Development (FDD) Getting Real Open Unified Process (OpenUP) Scrum Lean software development

Extreme Programming (XP)

Extreme Programming (XP) cycles

SCRUM

Feature Driven Development

Agile Practices Test Driven Development (TDD) Behavior Driven Development (BDD) Continuous Integration Pair Programming Planning poker RITE Method

Test Driven Development

Test Driven Development (2)

Continuous Integration When embarking on a change, a developer takes a copy of the current code base on which to work. As changed code is submitted to the repository by other developers, this copy gradually ceases to reflect the repository code. When the developer submits code to the repository they must first update their code to reflect the changes in the repository since they took their copy. The more changes there are to the repository, the more work the developer must do before submitting their own changes. Eventually, the repository may become so different from the developer's baseline that they enter what is sometimes called "integration hell",[1] where the time it takes to integrate is greater than the time it took to make their original changes. In a worst case scenario, the changes the developer is making may have to be discarded and the work redone.

CI Recommended Practices Maintain a code repository Automate the build Make the build self-testing Everyone commits every day Every commit (to mainline) should be built Keep the build fast Test in a clone of the production environment Make it easy to get the latest deliverables Everyone can see the results of the latest build Automate deployment

Pair Programming Pair programming is a method of programming in which two people work together at one keyboard. One person, "the driver", types at the keyboard. The other person, "the observer" (or "navigator") reviews each line of code as it is typed, checking for errors and thinking about the overall design

Pair Programming (cont’d) Expected Benefits: –better code (simpler design, fewer bugs, more maintainable) –higher morale (more fun!) –shared knowledge throughout your team (both specific knowledge of your codebase and general programming knowledge) –better time management –higher productivity. Pair configuration –Novice+Expert –Novice+Novice –Expert+Expert

Discussion

19 References Agile Software Development -Alistair Cockburn Addison-Wesley - ISBN-10: Agile Manifesto Agile Processes –Extreme Programming –SCRUM –Feature Driven Development Agile Practices –Test Driven Development –Continuous Integration –Pair Programming