NAUG NAUG Knowledge Evening – 01 27 th February 2007.

Slides:



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

Steve Collins Richland County IT Manager Agile.  Have Fun  Learn About Agile  Tell Some Stories.
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Agile Development.
Scrum introduction XP Days Agenda Introduction The Scrum process – roles, ceremonies and artifacts Backlog management Conclusions and questions.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
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..
Agile
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Extreme Programming Collaboration in Software Development Process.
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.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
COMP4710 Senior Design Software Development Process.
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
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.
Agile Software Development What is Agile? And How are we implementing Agile?
Dr. Tom WayCSC Software Processes CSC 4700 Software Engineering.
Chapter-3 Agile Development
Software Engineering Modern Approaches
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.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
EXtreme Programming: An Introduction Presentation by: Jon Banta.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
XP – Extreme Programming
Agile
What is S.E? Describe S.E in terms of its mistakes Standish Group ( US - $250 Billion on IT projects. 31% projects are cancelled 52.7%
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
CS3100 Software Project Management Agile Approaches.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Agile Information Management Development. Agile Project Management Characteristics  Acceptance and even welcome of changing requirements  Incremental.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
CSC 480 Software Engineering Extreme Programming.
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.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Project Management Software development models & methodologies
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Agile Project Management and the yin & yang of
Introduction to Agile Software Development
Planning User stories are written.
Alexander Kanavin Lappeenranta University of Technology
Rapid software development
What do you need to know about XP?
How to Successfully Implement an Agile Project
Agile and XP Development
Agile and XP Development
Chapter 3 – Agile Software Development
Agile and XP Development
Introduction to Agile Blue Ocean Workshops.
Chapter 3: Agile Software Processes
Coming up: What is Agile?
Refactoring.
Agile software development
Chapter 5: New and Emerging Process Methodologies
Agile, Scrum and CMMI Methodologies
Presentation transcript:

NAUG NAUG Knowledge Evening – th February 2007

Agenda Welcome Warm up – Minimalist Agile –6:30 PM  6:40 PMAnurag Shrivastava Scrum and Extreme Programming –6:40 PM  7:20 PMPriyanshu Goyal Break –7:20 PM  7:30 PM Agility & the Practice of Software Architecture – 7:30 PM  8:10 PM Amit Goel Closing Remarks

Minimalist Agile 1.Frequent Delivery 2.Reflective Improvement 3.Osmotic Communication

Scrum and eXtreme Programming Priyanshu Goyal 27 th Feb 2007 NCR Agile User Group

Agenda  What is Scrum?  What is XP?  Scrum with XP NCR Agile User Group

What is Scrum?  An iterative, incremental process for developing any product or managing any work....  A "lean" approach to software development  A simple framework used to organize teams and get work done more productively with higher quality  Allows teams to choose the amount of work to be done and decide how best to do it. NCR Agile User Group

What is Scrum? Cont…  Focuses on prioritizing work based on the business value, improving the usefulness of what is delivered, and increasing revenue  Designed to adapt to changing requirements during the development process at short, regular intervals  Assumes that the software development process is complicated and unpredictable.  Easy to learn and low risk to implement NCR Agile User Group

The Zen of Scrum  Scrum is simple Small number of practices Practices are straightforward  Scrum is hard Requires involvement and common sense Requires constant inspection/adaptation to project realities  All about common sense and feels very different NCR Agile User Group

Scrum Flow Product Release Cycle (1 to 3 sprints…) NCR Agile User Group

The Framework of Scrum  Iterative, incremental framework  Each iteration driven by product needs  Team selects target functionality for increment and determines how to build it  Iterations have a fixed timebox  Each iteration produces completed product increments  Two nested cycles – Sprint and Daily NCR Agile User Group

Roles  Scrum Master Facilitator and coach  Product Owner Manages product vision and ROI  Development Team Realizes the product plans NCR Agile User Group

Practices  Daily Scrum Meeting – Daily 15 minutes, Three questions, impediments and decisions  Scrum Teams – Self organising, Cross-functional, 7+-2, committed to work, authority to do whatever required  Product backlog – List of emerging, prioritized, estimated functionality and issues  Sprint – Thirty calendar day iteration, team builds functionality that includes product backlog and sprint goals  Sprint backlog – Owned by development team, captues team implementation strategy NCR Agile User Group

Concerns  Sprint Length? – Four, two, one week or may be different each time.  Daily Standup Withdrawals – Why everyday?  Can the team really deliver without anyone keeping an eye on them? Should Scrum Master assign the work?  Why the team member do not have specialized job descriptions or roles? NCR Agile User Group

What is XP?  Founded on four core values Communication communicate with customers and fellow programmers Simplicity keep design simple and clean Feedback testing software from day one Courage respond to changing requirements and technology NCR Agile User Group

XP core practices NCR Agile User Group

XP core practices Cont…  Planning User Stories are written. Release planning creates the schedule. Make frequent small releases. The Project Velocity is measured. The project is divided into iterations. Iteration planning starts each iteration. Move people around. A stand-up meeting starts each day. Fix XP when it breaks. NCR Agile User Group

XP core practices Cont…  Designing Simplicity. Choose a system metaphor. Use CRC (Class, Responsibilities, and Collaboration ) cards for design sessions. Create spike solutions to reduce risk. No functionality is added early. Refactor whenever and wherever possible. NCR Agile User Group

XP core practices Cont…  Coding The customer is always available. Code must be written to agreed standards. Code the unit test first (TDD). All production code is pair programmed. Continuous integration. Use collective code ownership. Leave optimization till last. Sustainable Pace. NCR Agile User Group

XP core practices Cont…  Testing All code must have unit tests. All code must pass all unit tests before it can be released. When a bug is found tests are created. Acceptance tests are run often and the score is published. NCR Agile User Group

XP Programming project NCR Agile User Group

Scrum and XP  Every process can be best understood by the concerns that it is trying to address  Scrum emphasizes Management and organisation practices Scrum emerged from the product development processes and focusses on the delivery cycle  XP emphasizes Programming XP emerged from the pattern movement and addresses code quality  They are complimentary methodologies NCR Agile User Group

ScrumxP Planning Sprint Sprint Planning End of Sprint Review Daily Scrum Product Owner Scrum Master Product Backlog Sprint Backlog Simple Design Testing Test and Code Refactoring Pair Programming Collective Ownership Continuous Integration Coding Standards NCR Agile User Group

Concerns  Pair Programming – What about productivity?  How can we start implementation without the whole design/framework?  Lets do it the best way the first time.  Assign it back to him, he worked on that piece.  Testing is for the testers. NCR Agile User Group