Sofia Bulgaria Summer School IST-2001-34488 eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.

Slides:



Advertisements
Similar presentations
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Advertisements

Extreme Programming Programming Practices Object Mentor, Inc. Copyright  by Object Mentor, Inc All Rights Reserved Portions of this material.
Alternate Software Development Methodologies
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Review: Agile Software Testing in Large-Scale Project Talha Majeed COMP 587 Spring 2011.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
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.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXPERT Best practices.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Agile Awareness Workshop 2008 Flavours of Agile II eXtreme Programming V I K A S H A Z R A T I June 14' 2008.
Current Trends in Systems Develpment
Extreme Programming(XP)
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Extreme programming overview Agenda  Extreme programming goals  Extreme programming values  Extreme programming practices  The Extreme programming.
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
CPSC 2150 August 21, Chapter 1 Object Oriented Software Development This is an introductory course In this chapter we will look at 3 topics Challenges.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
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 eXPERT Best practices.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
Informatics 43 – May 14, Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
CS3100 Software Project Management Agile Approaches.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Extreme Programming Based on and
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
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.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Toward Maturity Model for eXtreme Programming Copyright, 2001 © J. Nawrocki, B. Walter, A.. Wojciechowski
Lecture #9 Processes to Develop Software in the Cloud.
Project Management Software development models & methodologies
CS223: Software Engineering
Planning User stories are written.
Alexander Kanavin Lappeenranta University of Technology
Extreme Programming.
روش‌های سريع الانتقال (چابک) توسعه نرم افزار
What do you need to know about XP?
Agile and XP Development
Agile and XP Development
Extreme Programming Extreme programming is "a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly.
Coming up: What is Agile?
Refactoring.
Extreme Programming.
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices XP in Action Practices in Rila Penko Ivanov Rila Solution

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Contents XP More than just Programming Introducing XP in the Company Adopting XP practices

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices XP – More Than Programming Defines new process Deeper client involvement New people culture New development style

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Presenting XP to the Management Managers feel comfortable with the company accepted process and methodologies Present XP as a problem solving strategy

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Present XP to the Client High extend of involvement in the project Approved monitoring on the project progress Fast response to project outcomes

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Present the XP to the team Prepare the team for the new development process Pass a short course in XP with the team Discuss the possible problems and solving strategies

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Prevent from Chaos New methodologies lead to chaos Minimizing the Chaos –Discuss it with the client –Discuss issues with team members –Fast response

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices When to use XP Small Projects Small Teams Dedicated customer Adaptive team

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Not using XP Larger team size Bad client communication Conservative team members

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices How to Introduce XP Practices All together One at a time Grouped

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Practices already adopted Coding Standards – each company have adopted coding standards. Continuous Integration – staging environment that keeps the latest system running. Never break the build in the Source control System

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Newly Adopted Practices Practices Adopted without modifications – practices that match company style Modified practices – not fully acceptable practices or practices that cannot be applied entirely

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Not Modified Practices 40 hours week Pair Programming – not modified it its essence Small Releases – no more than 1-3 months per release according to the XP. 1.5 – 2 month is perfect. Release and Iteration Planning – forecast about 3 iteration per release. Include QA

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Not Modified Practices - 2 System Metaphor – be sure at the project start that all team members are aware with the system metaphor Simple Design – we kept the overall design the same for the whole system. Do not design more than is needed

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Continuous Integration Visual Source Safe – every day check in all the outcomes The system is always integrated at the end of the day. No broken builds. Constant staging system for customer reviews

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Open Workspace Put the whole team as near as possible. Improves communication Improves pairing and saparating practice Improves team culture and synchronization

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Modified Practices Customer on-site Refactoring Unit testing

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Customer on-site Difficulties for on-site available customer Stimulating customer activeness Latest outcomes evaluated

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Involve the customer remotely Staging Environment Continuous Integration Constant on-line access Customer Reviews and Feedback

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Refactoring Refactoring large projects Code reviews Finding bottlenecks Refactoring strategy in Rila –When to refactor –Where to refactor

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Refactoring inspection Performing business calls statistics Present the results in Pivot Table Discover the bottlenecks: –Reduce the most often business calls. Find Alternatives –Choose business methods to refactor Long execution times Often calls

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Inspection example PerfTest pf=null; if (PerfTest.ON){ pf = new PerfTest(); } if (PerfTest.ON){ pf.startLog("PortfolioServiceEJB", "getAllPortfolios"); }... // Business Logic Comes Here... if (PerfTest.ON){ pf.endLog(); }

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Unit testing Often Modifications of the presentation Modifications of the business logic Writing unit tests

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Unit tests – business logic Using JUnit –integrated in the JBuilder –Framework for writing unit test –Initialization of resources –Creating Test suits that include all test units.

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Test suits example package test; import junit.framework.*; public class AllTests extends TestCase { public AllTests(String s) { super(s); } public static Test suite() { TestSuite suite = new TestSuite(); suite.addTestSuite(test.TestAddressBookServiceEJBBean.class); suite.addTestSuite(test.TestRegistryClientsServiceEJBBean.class); suite.addTestSuite(test.TestRegistryBrokersServiceEJBBean.class); suite.addTestSuite(test.TestRegistryEmissionsServiceEJBBean.class); return suite; }

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Difficult Practices Apart of customer on-site Pair Programming –People work on several projects –Team coordination Work 40 hours with heavy steps is difficult according to the developers

Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming - principles & practices Questions