Agile So6ware Development

Similar documents
The So5ware Development Process (SDLC)

So#ware Development. Overview. Hans- Pe4er Halvorsen, M.Sc. h4p://home.hit.no/~hansha/?page=so#ware_development

h(p://home.hit.no/~hansha/?page=so3ware_development So3ware Maintenance Hans- Pe(er Halvorsen, M.Sc.

So#ware Deployment. Hans- Pe4er Halvorsen, M.Sc. h4p://home.hit.no/~hansha/?page=so#ware_development

Software Documentation

Team Foundation Server

Agile Development Overview

Source Code Control & Bugtracking

Programming. Languages & Frameworks. Hans- Pe(er Halvorsen, M.Sc. h(p://home.hit.no/~hansha/?page=sodware_development

Introduction to Agile Software Development Process. Software Development Life Cycles

Introduction to Agile

Web. Programming. Hans- Pe0er Halvorsen, M.Sc. h0p://home.hit.no/~hansha/?page=sojware_development

Testing in Agile methodologies easier or more difficult?

Agile and Secure: Can We Be Both?

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

How to manage agile development? Rose Pruyne Jack Reed

Software Engineering

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

An Agile Project Management Model

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Agile and Secure: OWASP AppSec Seattle Oct The OWASP Foundation

Agile Software Development Methodologies and Its Quality Assurance

AGILE & SCRUM. Revised 9/29/2015

Agile Scrum Workshop

Introduction to Agile Scrum

The Agile Manifesto is based on 12 principles:

Software Engineering I (02161)

Agile Software Development

Introduction to Agile and Scrum

Taking the first step to agile digital services

Applying Agile Project Management to a Customized Moodle Implementation

Introduction to Software Engineering: Overview and Methodologies

Agile Development with C#

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Software Development Methodologies

Software Development Process

Frank Tsui. Orlando Karam. Barbara Bernal. State. University. Polytechnic. Ail of Southern JONES & BARTLETT LEARNING

Scrum. SE Presentation. Anurag Dodeja Spring 2010

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.

Preparation Guide. EXIN Agile Scrum Foundation

Agile Scrum and PMBOK Compatible or Contrary?

Would you like to have a process that unlocks ability to learn and produce faster?

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

CompSci Fall 2014 Professors: Robert Duvall, Ajay Patel, Salman Azhar (rcd@cs, ajay.patel, azhar@cs)

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Agile and the Seven Deadly Sins of Project Management

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

"Bezpieczny Projekt"

Agile Projects 7. Agile Project Management 21

When is Agile the Best Project Management Method? Lana Tylka

Agile and lean methods for managing application development process

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

J-Curve effect, 38, JIT. See Just-in-Time Inventory Just Enough Design Initially (JEDI), 6, 283

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

Agile Information Management Development

Agile and lean methods for managing application development process

Lean vs. Agile similarities and differences Created by Stephen Barkar -

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

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

Create a Virtual Test Environment

Agile So)ware Development

Agile Processes and Methodologies: A Conceptual Study

Agile Methods. Introduction to. AAddison-Wesley. Sondra Ashmore, Ph.D. Kristin Runyan. Capetown Sydney Tokyo Singapore Mexico City

Models of Software Development

SECC Agile Foundation Certificate Examination Handbook

RISK MANAGMENT ON AN AGILE PROJECT

The Agile Movement An introduction to agile software development

Waterfall to Agile. Colin Kelley CTO & Cofounder Invoca, Inc. colin@invoca.com. UCSB CS 189a January 13, 2015

ACP Exam Prep Plus Desk Reference including the Project Management Agile Body of Knowledge TM (PMABOK TM )

How To Plan An Agile Project

Agile Software Engineering Practice to Improve Project Success

Akhil Kumar 1, Bindu Goel 2

The traditional project management uses conventional methods in software project management process.

Java course - IAG0040. Unit testing & Agile Software Development

Kanban. Marek Majchrzak, Andrzej Bednarz Wrocław,

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

Agile Testing. What Students Learn

Agile Software Development

Sustainable Software Development in Agile and CMMI: Apply Lessons Learned today

Traditional SDLC Vs Scrum Methodology A Comparative Study

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

Quality Assurance in an Agile Environment

Waterfall vs. Agile Methodology

USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell

Laboratório de Desenvolvimento de Software

Mariusz Chrapko. Before: Software Quality Engineer/ Agile Coach, Motorola, Poland. My Public Profile:

Agile Beyond The Team 1

The style is: a statement or question followed by four options. In each case only one option is correct.

The Agile Drupalist. Methodologies & Techniques for Running Effective Drupal Projects. By Adrian AJ Jones (Canuckaholic)

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

Waterfall vs. Agile Project Management

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

Successfully Doing TOGAF in a Scrum Project

Transcription:

h(p://home.hit.no/~hansha/?page=so6ware_development Agile So6ware Development S. Adams. Dilbert. Available: h(p://dilbert.com Hans- Pe(er Halvorsen, M.Sc. 1

Agile? I ll go up and find out what they need and the rest of you start coding!

3

Typical Job Ad Agile methods have become very popular these days!! 4

The Development Process The Development Process involves different phases, e.g.: The Requirements may be given by the Customer Requirements In this case the overall Requirements are given by the Teacher in the Assignment. The details are wri(en by you! Are the Design wrong? Go back and correct it! Design ImplementaKon The Design phase is important, but make sure you have Kme le6 for all the other tasks as well) TesKng Errors? Improve your code and fix the bugs Make sure everything work as expected When you are finished, you deploy and test the solukon on the Customer Site Deployment & Maintenance 5

Agile methods Scrum XP (extreme Programming) Lean So6ware Development Feature Driven Development (FDD) Test Driven Development (TDD) etc. 6

So6ware Development Methods TradiKonal Plan- driven Methods Agile Methods Waterfall Method extreme Programming (XP) Scrum V- Model Feature Driven Development (FDD) Spiral model Lean So6ware Development Test Driven Development (TDD) Even if we use different so6ware development methods, we deal with the same phases like Requirements, Design, Coding, TesKng and Deployment but they may have different priority and may be done in different manners and order, etc. 7

Teams and Roles Customer/Stakeholders Project Manager So6ware Architect UX Designer Developer Tester etc. So6ware Architect Project Manager Customer/Stakeholders Collabora:on! So6ware Tester UX Designer Programmer 8

Plan-based development Plan- driven vs. Agile Requirements engineering Requirements specification Design and implementation Requirements change requests Agile development Requirements engineering Design and implementation I. Sommerville, So*ware Engineering: Pearson, 2010. 9

Agile vs. TradiKonal Development Wikipedia. (2013). Agile So*ware Development. Available: h(p://en.wikipedia.org/wiki/agile_so6ware_development 10

Agile vs. TradiKonal EssenKals of So6ware Engineering, Frank Tsui; Orlando Karam; Barbara Bernal, 3 ed., Jones & Bartle( Learning. 11

Agile So6ware Development O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com 12

Manifesto for Agile So6ware Development O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com We are uncovering be(er ways of developing so6ware by doing it and helping others do it. Through this work we have come to value: Individuals and interackons over processes and tools Working so6ware over comprehensive documentakon Customer collaborakon over contract negokakon 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 le6 more. Agile Alliance. (2013). Agile Manifesto. Available: h(p://agilemanifesto.org 13

Wikipedia. (2013). Agile So*ware Development. Available: h(p://en.wikipedia.org/wiki/agile_so6ware_development 14

Agile Development O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com 15

Agile A group of so6ware development methods IteraKve approach Incremental: So6ware available to Customers every 2-4 weeks Self- organizing and cross- funckonal Teams Refactoring Examples: Scrum extreme Programming (XP) 16

O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com 17

Burn Down Chart A burn down chart is a graphical representakon of work le6 to do versus Kme. The outstanding work (or backlog) is o6en on the verkcal axis, with Kme along the horizontal. That is, it is a run chart of outstanding work. It is useful for predickng when all of the work will be completed. It is o6en used in agile so6ware development methodologies such as Scrum. However, burn down charts can be applied to any project containing measurable progress over Kme. 18

Code Review & Refactoring O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com 19

h(p://home.hit.no/~hansha/?page=so6ware_development extreme Programming Hans- Pe(er Halvorsen, M.Sc. O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com 20

exreme Programming (XP) 21

extreme Programming (XP) 22

exreme Programming (XP) An Agile method Pair Programming Code Reviews Refactoring Unit TesKng Standup MeeKngs 23

Exercise Pair Programming Work together 2 and 2 and test out Pair Programming Pros and Cons? Make a list

Pair Programming O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com Is Pair Programming Good or Bad? Various Studies of the ProducKvity of Pair Programming Study 1: Comparable with that of 2 developers work independtly Study 2: A significant loss in produckvity compared with 2 developers wprking alone Should the 2 developers have the same skills or not? Newerless, there are benefits: CollecKve Ownership ConKnuous informal Review process because each codeline is looked at by at least 2 people It supports Refactoring, which is a proces of so6ware improvement Less Kme is spent on repairing bugs. Improved Code Quality It reduced the overall risks I. Sommerville, So*ware Engineering: Pearson, 2010. 25

26

Refactoring 27

28

Scrum Hans- Pe(er Halvorsen, M.Sc. 29

Scrum Daily Scrum MeeKngs Sprint Sprint Review Product Owner Sprint Backlog Product Backlog Stakeholders Scrum Master Development Team 3-9 persons

Scrum Daily Scrum MeeKngs Sprint Review 31

Scrum A Framework for So6ware Development Agile So6ware Development method Simple to understand Flexible Exremely difficult to master! Self- organizing Teams (3-9 persons) Scrum Team: Product Owner Scrum Master Development Team 32

Lean So6ware Development Hans- Pe(er Halvorsen, M.Sc. 33

Lean So6ware Development Based on the Toyota ProducKon System and Lean manufacuring 34

Summary You should always Refactor your Code even if you don t do Agile! Pair Programming could be useful in some situakons Scrum is probably the most popular Agile method Agile means less documentakon Agile is more flexible than tradikonal methods (like the waterfall) 35

References I. Sommerville, So*ware Engineering: Pearson, 2010. E. J. Braude and M. E.Bernstein, So*ware Engineering. Modern Approaches, 2 ed.: Wiley, 2011. Wikipedia. (2013). Scrum Development. Available: h(p://en.wikipedia.org/wiki/scrum_(development) Wikipedia. (2013). Agile So*ware Development. Available: h(p://en.wikipedia.org/wiki/agile_so6ware_development CoreTrek. (2013). Scrum i et nø@eskall. Available: h(p://www.coretrek.no/scrum- i- et- noe(eskall/category642.html S. Adams. Dilbert. Available: h(p://dilbert.com O. Widder. (2013). geek&poke. Available: h(p://geek- and- poke.com Agile Alliance. (2013). Agile Manifesto. Available: h(p://agilemanifesto.org EssenKals of So6ware Engineering, Frank Tsui; Orlando Karam; Barbara Bernal, 3 ed., Jones & Bartle( Learning. 36

Hans- PeMer Halvorsen, M.Sc. Telemark University College Faculty of Technology Department of Electrical Engineering, Informa:on Technology and Cyberne:cs E- mail: hans.p.halvorsen@hit.no Blog: hmp://home.hit.no/~hansha/ 37