Informatics 43 – May 14, 2015. Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.

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 کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
SDLC – Beyond the Waterfall
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
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.
Agile
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Agile Methods and Extreme Programming CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 23, 2007.
Extreme Programming Collaboration in Software Development Process.
Agile Software Development Matt Rice November 27, 2006.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
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.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
Software Engineering Modern Approaches
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
IS2210: Systems Analysis and Systems Design and Change Twitter:
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
EXtreme Programming: An Introduction Presentation by: Jon Banta.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Extreme Programming.
XP – Extreme Programming
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
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.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
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.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
1/2/12 Chapt 2 Iterative Evolutionary Agile. 1/2/12 (Rational) Unified Process A software development process – Flexible and open Other processes – XP.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
EXtreme Programming and Open Source engineering paradigm A comparison
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Headspring Certified Training.Net Boot Camp: From Journeyman to Master Series Presented by Jeffrey Palermo CTO, Headspring Systems Microsoft MVP, MCSD.Net.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Project Management Software development models & methodologies
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
Agile Methods SENG 301.
Planning User stories are written.
Alexander Kanavin Lappeenranta University of Technology
Agile Software Development
What do you need to know about XP?
Chapt 2 Iterative Evolutionary Agile.
Introduction to XP.
Agile software development
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Informatics 43 – May 14, 2015

Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server Blender 3D graphics and animation tool Python programming language Linux operating system Benefits of using Open Source Software Usually free of charge Security Can be modified

Open Source Source code is freely available and (usually) re-distributable Many contributors working in a distributed manner Coders Bug finders Documenters Project leadership Typically volunteers Heavy reliance on software tools The web and Version control and repositories Scales up amazingly well Where do they find the time?

Agile Software Development A reaction to “rigid” process models. The “Agile Manifesto”. Agile values… Individuals and interactions over processes and tools. Working software over comprehensive documentation. Customer collaboration over contract negotiation. Responding to change over following a plan. What does that mean in practice?

Extreme Programming (XP) Frequent communication between software developers and customers. Simplicity in code and design. Small iterations, continuous integration.

Extreme Programming (XP) Rapid, fine feedback:  Test-driven design (via unit and acceptance tests)  On-site customer  Pair programming Continuous process:  Continuous integration  Merciless refactoring  Small, frequent releases Shared Understanding:  Planning game  Simple Design  System Metaphor  Collective Code Ownership  Coding Conventions Developer Welfare:  Forty-hour week From Glenn Vanderburg, Delphi Consultants

Extreme Programming (XP)

(Some of) The Rules of Extreme Programming Planning: Make frequent small releases. Managing: Give the team a dedicated open work space. Designing: Refactor whenever and wherever possible. Coding: All production code is pair programmed. Testing: All code must have unit tests. Kids, collect the entire set at

Refactoring

Putting it all together In 7:26, from J. B. Rainsberger