COMP 3663 DANIEL L. SILVER, PHD IMPLEMENTATION 2.

Slides:



Advertisements
Similar presentations
Program Management School Agile & ADDIE Add-Up (AAAU) Elliott Masies Learning 2012 October 21-24, 2012.
Advertisements

Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
International Scrum Institute
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
COPYRIGHT © 2012 ALCATEL-LUCENT. ALL RIGHTS RESERVED. 1 Agile documentation development methodology Giby Panicker and Judith Benjamin 1-Dec-2012.
Lena Bigelow Business 550 Presentation SCRUM. -A project management process - Embraces iterative and incremental practices -Concentrates on what is important:
Ni.com Introduction to Agile and Scrum Speaker/Author: Paul Packebush Section Manager, Corporate Metrology Author:Logan Kunitz Staff Calibration Engineer.
What is Agile? Agile is a software methodology based on iterative and incremental development, where requirements and solutions evolve through collaboration.
Scrum. An evolutionary/iterative/incremental/agile software process The main roles in Scrum are: – Scrum team: Team of software developers – Scrum master.
NAUG NAUG Knowledge Evening – th February 2007.
© Timothy Korson Page 1 Scrum by Dr. Korson For CPTR 209 Software Engineering Version
Introduction to Scrum.
Agile development By Sam Chamberlain. First a bit of history..
Agile
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.
Wael Ellithy, Ph.D. Arx ICT  Agile Software Development  Scrum Framework  Scrum Rules and Process  Scrum In Industry.
An Agile View of Process
Introduction to Agile.
Agile Design and SCRUM Brent M. Dingle, Ph.D. “For the last few centuries, … science has been attempting to break matter down into ever smaller bits, in.
Adopting Agile for Enterprise Software Joe Bedell, Software Engineer Jason Breen, Software Engineer Peter Melko, Scrum Master June 15 th, 2015.
Chapter 3 – Agile Software Development Lecture 2 1Chapter 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.
Software Development Landscape
1 Agile Methodology & Programming Ric Holt July 2009.
Chapter-3 Agile Development
Be sure to join Virginia Tech's Human Factors Engineering and Ergonomics Center (HFEEC) & chapter of the Human Factors and Ergonomics Society (HFES) and.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Tuesday, June 8 th, Agile Development-Successful Delivery & Implementing Across the Enterprise.
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.
Agile Software Development Chapter 3 – Lecture 1 Adrián Susinos.
Software Engineering- Scrum 徐 瑋 Alen 林芳瑜 Flora 1.
Managing Schedules COSC 405 Spring 2013 Bridget M. Blodgett.
Current Trends in Systems Develpment
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Project Management.
Extreme programming overview Agenda  Extreme programming goals  Extreme programming values  Extreme programming practices  The Extreme programming.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
Stephen Chief Strategy Officer Telerik
Chapter 3 – Agile Software Development Lecture 2 1Chapter 3 Agile software development.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Software Engineering Saeed Akhtar The University of Lahore Lecture 5 Originally shared for: mashhoood.webs.com.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
Dr. Nguyen Hai Quan.  Why SCRUM?  What is SCRUM?  Some terms  SCRUM Meetings  Sprint  Estimation  Product backlog  Sprint backlog  Whiteboard.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
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.
IS3320 Developing and Using Management Information Systems Lecture 20: Project Management Rob Gleasure
Software Engineering (CSI 321) An Agile View of Process 1.
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.
Using Scrum to Improve Teamwork, Communication, Quality and Speed
Lecture 5 17/9/15. What is Scrum? Scrum is one of the leading agile software development processes Agile framework for completing complex projects. Originally.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
Using Scrum to Improve Teamwork, Communication, Quality and Speed.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
The Scrum Framework Presented by Somnath Ghosh Scrum Practitioner 24 hours weeks.
How to Successfully Implement an Agile Project
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Introduction to Agile Blue Ocean Workshops.
Scrum Science NGSS: Engineering, Technology, Applications of Science
Chapter 5: New and Emerging Process Methodologies
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

COMP 3663 DANIEL L. SILVER, PHD IMPLEMENTATION 2

XP = EXTREME PROGRAMMING An agile method intended to improve software quality and responsiveness to changing customer requirements Advocates frequent "releases" in short development cycles Recognizes that requirements will change Intended to improve SE productivity Name is derived from the idea that the beneficial elements of traditional software engineering practices are taken to "extreme" levels. Originally - Newly tested code every day!

XP = EXTREME PROGRAMMING Features: Paired programming Extensive code reviews Unit testing Organic flat structure Simplicity and clarity in code Frequent communication with the customer / among programmers Potential drawbacks: Unstable requirements Compromises of user conflicts are lost No overall design specification

XP = EXTREME PROGRAMMING Four basic activities: Coding - only truly important product; code should always be clear and concise and have one interpretation Testing - unit, integration, acceptance testing Listening - to what the customer really needs Designing - creating a design structure that organizes the logic in the system; cohension and coupling Four or more values: Communication, Simplicity, Feedback, Courage, Respect Darn near a religion !!

XP = EXTREME PROGRAMMING What we wish it meant: Strengths and Weaknesses of XP

PAIRED PROGAMMING An agile software development technique Two programmers work together at one workstation Driver - writes code Observer, pointer or navigator – reviews code as typed The two programmers switch roles frequently Observer also considers the "strategic" direction of the work Considers improvements and likely future problems Driver can focus on the "tactical" aspects of current task

PAIRED PROGAMMING Economics: Pairs spend about 15% more time versus individuals Results in 15% fewer defects, from 70%-85% (which cost $ as well) Quality: Greater potential to generate more diverse solutions Different experience / knowledge Different search for relevant information Different roles = different perspective Satisfaction: 96% of programmer/ analysts who try it like it 95% more confident in solutions Education: Show me and I may remember, Involve me and I will understand Knowledge shared between paired individuals (logic, coding methods, style) “Promiscuous” pairing - each programmer can work / share with many others

PAIRED PROGAMMING Teamwork: Sharing problems / solutions – less chance for hidden agendas Raises communication bandwidth / frequency within the project Increases information flow within the team Watch-out-fors: Silence = lack of collaboration Watch the master = junior person side-lined by senior Withdrawl = down one member most of the time Pairing Combinations: Expert–Expert - high productivity, great results / may yield little insight into solutions and practicses Expert–Novice - many opportunities for mentoring, leads new solutions and ideas / may lead to "watch the master” Novice–Novice low productivity, quality / but significantly better than individuals

PAIRED PROGAMMING Video -

SCRUM An iterative and incremental agile SE framework “A flexible, holistic product development strategy where a development team works as a unit to reach a common goal” [Takeuchi and Nonaka] Enables teams to self-organize by: Encouraging physical co-location or close online collaboration Daily face-to-face communication among all team members A key principle is recognition that change happens Called "requirements churn” Accepts that problem cannot be fully understood or defined Focuses is on: Maximizing the team's ability to deliver quickly on what they know Responding to emerging requirements

SCRUM Three core roles: Product Owner, Development Team, Scrum Master Product Owner Communicates between team and steakholders Voice of the customer Face of the team to the stakeholders Ensures that the team delivers value to the business Responsible for “user stories” capturing requirements Empathetic, good at negotiations and collaboration Where does the word scrum come from?

SCRUM Three core roles: Product Owner, Development Team, Scrum Master Development Team Deliver potentially shippable increments (PSIs) at the end of each Sprint 3–9 individuals with cross-functional SE skills Self-organizing group Scrum Master Ensures team delivers the product Acts as buffer between the team and any distracting influences Enforces Scrum rules, chairs key meetings, challenges team Not a Project Manager – does not manage people Where does the word scrum come from?

SCRUM Sprint Iteration = basic unit of development in Scrum Time-boxed – one to four weeks, two weeks typical Emphasizes working product at end of Sprint integrated, fully tested, end-user documented, and potentially shippable Started by a planning meeting Tasks for the sprint are identified Goal of sprint estimated Ends with review-and-retrospective meeting Progress is reviewed / lessons identified

SCRUM Daily scrum meeting Occurs each day – a project team communication meeting All members of team come prepared with the updates Starts precisely on time even if members are missing Same location and same time every day Length is set to 15 minutes All are welcome, but normally only the core roles speak During the meeting, each team member answers three questions: What have you done since yesterday? What are you planning to do today? Any impediments/stumbling blocks? Problems are documented by the Scrum Master. Work towards resolution happens outside meeting. No discussions.

SCRUM Scrum of Scrums Technique to scale Scrum up to large development groups (12+) Allows Scrum team reps (ambassadors) to discuss work Focus on areas of overlap and integration Each daily scrum selects a member as "ambassador” The SofS asks four questions: What has your team done since we last met? What will your team do before we meet again? Is anything slowing your team down or getting in their way? Are you about to put something in another team's way?

SCRUM Video - Scrum in Under 10 Minutes: bLkswNsTZipUX4oF4AKfsblDOuLR bLkswNsTZipUX4oF4AKfsblDOuLR Video - Scrum in only 8 Minutes: Video - Scrum in only 2 Minutes:-- Wow !!