Agile Methods SENG 301.

Slides:



Advertisements
Similar presentations
Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Advertisements

Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
NAUG NAUG Knowledge Evening – th February 2007.
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile development By Sam Chamberlain. First a bit of history..
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
1 Software Testing and Quality Assurance Lecture 34 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Agile Methods and Extreme Programming CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 23, 2007.
Agile Software Development Matt Rice November 27, 2006.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
An Agile View of Process
Introduction to Agile.
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.
Chapter 3 – Agile Software Development
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development That's been one of my mantras - focus and simplicity. Simple can.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Agile Programming Principles.
Chapter 4 Agile Development
AGILE Methodology. AGILE  derived from the word ‘agile manifesto’, also called the Manifesto for Agile Software Development which is a formal proclamation.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Figures – Chapter 3. Figure 3.1 The principles of agile methods PrincipleDescription Customer involvementCustomers should be closely involved throughout.
Chapter 3 – Agile Software Development Pepper modification of Sommerville presentation & Colm O’hEocha – AgileInnovation Ltd presentation 1Chapter 3 Agile.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Chapter 3 Agile Software Development (1/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
Chapter 2 Software processes. Topics covered Software process models Process activities Coping with change.
CS3100 Software Project Management Agile Approaches.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Lecture 3 – Agile Approach
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Using Scrum to Improve Teamwork, Communication, Quality and Speed
JASS 2006 Agile Software Development. JASS 2006 Agenda.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 3 – Agile Software Development Part 1a 1.
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Software Engineering Principles I (Spring 2017)
Agile/XP Introduction
Chapter 5 Agile Development Moonzoo Kim KAIST
Software engineering (cs3529) target classes: cs14: A,B
Agile Methodology and Scrum
Agile Training Day 2 November 17, 2015.
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Agile Frameworks Individuals and interactions over processes and tools
Software Engineering: A Practitioner’s Approach, 7/e Chapter 3 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Agile Software Development Brian Moseley.
Rapid software development
AGILE METHODOLOGY MANAGE PROJECT USING AGILE SCRUM.
Project Management and the Agile Manifesto
Being Agile Minded: Even if your team is not
Agile Software Processes
Agile and XP Development
Agile Process: Overview
Agile and XP Development
Chapter 3 – Agile Software Development
Introduction to Agile Blue Ocean Workshops.
Adjective: Able to move quickly and easily. Principles and Values
Introduction to XP.
Extreme Programming.
Chapter 5: New and Emerging Process Methodologies
Agile, Scrum and CMMI Methodologies
Presentation transcript:

Agile Methods SENG 301

Learning Objectives At the end of this lecture, you should be: Familiar with the rationale for caring about process Able to understand the principles of agile processes Familiar with some general terms as they relate to agile processes

Rationale for Processes http://www.stevemcconnell.com/articles/art09.htm Process-phobic team “When a project has paid too little early attention to the processes it will use, by the end of a project developers feel they are spending all of their time in meetings and correcting defects and little or no time extending the software.” Process-Oriented Team “During the first few weeks of the project, the process- oriented team will seem less productive than the process- phobic team... By the end of the project, the process- oriented team will be operating at a high-speed hum, with little thrashing, and performing its processes with little conscious effort.”

Rationale for Agile From the Agile manifesto, where engineers were responding to documentation-centric processes: 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, and Responding to change over following a plan

Agile: Principles > Specific Methods Description Customer involvement Customers should be closely involved throughout the development process. Their role is provide and prioritize new system requirements and to evaluate the iterations of the system. Incremental delivery The software is developed in increments with the customer specifying the requirements to be included in each increment. People not process The skills of the development team should be recognized and exploited. Team members should be left to develop their own ways of working without prescriptive processes. Embrace change Expect the system requirements to change and so design the system to accommodate these changes. Maintain simplicity Focus on simplicity in both the software being developed and in the development process. Wherever possible, actively work to eliminate complexity from the system.  

What’s so “Agile” here? Ability to adapt to changes » changes in requirements Focus is on working software » this is the metric for success Process based on collaboration » lots of involvement with customers Sustainable process » helps a team figure out what “cadence” that helps them deliver readily

“Extreme Programming” (XP) New versions built several times a day Increments delivered to customers every two weeks All tests run every build, and a build is only accepted when the tests pass Pair programming Collective ownership Simple design to meet current needs Constant refactoring of code (as soon as improvements found) On-site customer

Pair programming

Pair Programming + Encourages collective ownership + Informal, ongoing review process + Supports refactoring + Implicit/tacit learning - Pretty tiring stuff -

Scrum Process

Scrum Sprints Fixed length: 2-4 weeks Starting point for planning is the backlog (list of work to be done) Selection: working w/ customer to figure out what features/functionality is required Team organizes itself to develop the software Communications with the customer are channeled through ‘scrum master’ (manage distractions) At end of sprint, work is reviewed and presented to stakeholders

Learning Objectives You should now be: Familiar with the rationale for caring about process Able to understand the principles of agile processes Familiar with some general terms as they relate to agile processes