Requirements Engineering Lecture 4

Slides:



Advertisements
Similar presentations
Extreme Programming Copyright, 1999 © Jerzy R. Nawrocki Personal Software Process Lecture.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Planning at CMM level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements Engineering.
System Analysis & Design Methods V Extreme Programming XP/dX.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall B.1.
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.
Extreme Hour Role-Playing The XP Process. What Is Extreme Programming? n User Stories:Function, Qualities, Priority, Scope. n Schedule:By negotiation.
Agile
Introduction to XP “When the tests all run, you’re done”
Extreme Programming Collaboration in Software Development Process.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Extreme Programming Theory & XPeriences
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
Rational Suite and CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Quality Connection 2002, Helsinki Poznan University of Technology Poznan,
Current Trends in Systems Develpment
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
1 e X treme P rogramming D. Dranidis September 2000 CITY College.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Planning Game in Artifacts Tracker (AT) Project Michal Pilawski.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Implementing XP at PUT Copyright, 2000 © Jerzy R. Nawrocki Quality Management.
Extreme Programming David Li CTO, DigitalSesame. Problem in Developing Software The Basic Problem - Risk –Schedule slips –Project canceled –System goes.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY 1 eXtreme Programming – one of the Agile Software Development Methodologies.
Planning Extreme programming
Quality Assurance at CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Web Applications and Services.
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Software Development. The Software Life Cycle Encompasses all activities from initial analysis until obsolescence Analysis of problem or request Analysis.
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
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
Software Development.
Chapter 15 Finalizing Design Specifications
Chapter 15 Finalizing Design Specifications
Requirements Engineering Lecture 13
Appendix B Agile Methodologies
Requirements Engineering Lecture 2
Planning User stories are written.
Alexander Kanavin Lappeenranta University of Technology
Extreme Programming.
Introduction to PRINCE 2
What do you need to know about XP?
Chapter 15 Finalizing Design Specifications
Agile and XP Development
Agile and XP Development
Coming up: What is Agile?
Refactoring.
Sylvain Giroux October 3rd, 2000
Appendix B Agile Methodologies
Agile software development
Requirements Engineering Lecture 6
Extreme Programming (and Pair Programming)
Presentation transcript:

Requirements Engineering Lecture 4 Jerzy Nawrocki Requirements Engineering Lecture 4 Implementing XP at PUT Jerzy.Nawrocki@put.poznan.pl www.cs.put.poznan.pl/jnawrocki/mse/quality/ Copyright, 2000 © Jerzy R. Nawrocki Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki Plan of the lecture Software development practices Roles for people Calendar Measurements The Planning Game J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

Software development practices Jerzy Nawrocki Software development practices Practices specific to XP Pair programming (single programmers + reviews) Design for today, not for tomorrow (look-ahead design) Continuous integration (controlled integration) Error J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

Software development practices Jerzy Nawrocki Software development practices Practices specific to XP Oral communication (written communication) Artefacts: only code + test cases (SRS, plans, design) On-side customer (remote customer) J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

Software development practices Jerzy Nawrocki Software development practices Practices absent in XP No SRS (user stories) No architecture design (metaphor) No UML diagrams or other stored pictures No formal reviews No long-term planning No traceability information IEEE/ANSI standard 830-1993 J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

Software development practices Jerzy Nawrocki Software development practices Common practices Planning Game: business / technical decisions Exploration phase + concrete experiments Writing test cases as early as possible Automated testing (as far as possible) Business Development J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

Software development practices Jerzy Nawrocki Software development practices Common practices Incremental planning Short releases Software configuration management tools Coding standards Open, honest communication Accepted responsibility J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki Roles for people Programmers (3rd year) Coach (4th year) Tracker (4th year) Customer Testers (5th year) Teamwork J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki Calendar 14-15.11: Rehearsals 21-22.11: Project presentations till 25.11: Team building till 20.12: Exploration/experiments (Exploration report) till 13.02: Winter break till 11.04: Release 1 (8 weeks, 160 h/programmer) till 17.04: Easter break till 13.06: Release 2 (8 weeks, Easter’01: 15.04 J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

Time spend by team members Jerzy Nawrocki Measurements Time spend by team members Time the customer spend with the team (in each week) Time spend on pair programming (in each week) Other team work (per week) Time spend working alone (in each week) Time spend on exploration, release 1, release2. J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki Measurements XP-oriented measures Number of refactorings Number of integrations Total number of created / modified / removed test cases Total number of created / modified / removed lines of code Rework time ??? J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki Measurements Delays Experimentation phase Release1 Release2 Iterations Meetings J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki Measurements Defects In code In test cases In tools, operating systems, and other environment elements Misunderstandings Time spend on detecting and fixing a defect J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki The Planning Game Goal Maximise the value of the software produced in a given time for a given amount of money. J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki The Planning Game Strategy Minimal investment. Minimal development time. Most valuable functionality. J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki The Planning Game The pieces User story Date: 6.11.01 Type of activity: New: X Fix:__ Enhance:__ Story number: 23 STORY DESCRIPTION: When the COLA rate changes in the middle of the BIW Pay Period, we will want to pay the 1st week of the period at the old COLA rate, and the 2nd week of the Pay Period at the NEW COLA rate. Should occur automatically based on the system design. NOTES: J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki The moves Exploration phase Estimate a story (Ideal Eng. Time) Development It was not OK. Split a story Business It was not OK. Business It was not OK. Write a story J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki The moves Commitment phase Development Sort by risk: predictable more or less unpredictable Set velocity: IET / calendar month Business Business Choose scope Sort by value: necessary important optional J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki The moves Steering phase Iteration (2 weeks) Recovery (Development) New story (Business) Re-estimate (Development) J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Summary Practices Calendar Measurements The Planning Game as RE At last! J. Nawrocki, Requirements Eng.., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Jerzy Nawrocki Further readings K. Beck, Extreme Programming Explained, Addison-Wesley, 2000.  J. Nawrocki, Requirements Eng.., Lecture 4 Requirements Eng., Lecture 4

J. Nawrocki, Requirements Eng.., Lecture 4 Quality assessment 1. What is your general impression? (1 - 6) 2. Was it too slow or too fast? 3. What important did you learn during the lecture? 4. What to improve and how? J. Nawrocki, Requirements Eng.., Lecture 4