XP: Planning, coding and testing. Practice Planning game. Release Planning. User stories. Annika Silvervarg

Size: px
Start display at page:

Download "XP: Planning, coding and testing. Practice Planning game. Release Planning. User stories. Annika Silvervarg"

Transcription

1 XP: Planning, coding and testing Annika Silvervarg Practice Planning game Goal: schedule the most important tasks Which features to implement in what order Supports: simple design, acceptance testing, regular releases Requires: active customer, mutual respect Release planning Release Planning Customer presents the desired features to the programmers Programmers estimate their difficulty Customer lays out a plan for the project Initial release plans are necessarily imprecise. However, even the first release plan is accurate enough for decision making and XP teams revise the release plan regularly Release planning Step 1 User stories Customers write user stories Each story represents a desired feature and all stories represent the specification of the system About three sentences of text in the customers terminology Provide enough detail to make a reasonably estimate of how long the story will take to implement Stories should be assigned business value: essential, highly valuable or good idea Developers can suggest stories but the customer has always final say Stories can be added, changed or deleted during the project 1

2 Writing user stories User story template The customer get a stack of cards Scribble on one card, then tear it up! Customer writes a story Developers ask questions for clarification (not implementation) Tear up cards and write new ones when needed Title (one line describing the story) Narrative: As a [role] I want/can [feature] (So that/because [benefit]) For backbone development, try to relate it to customer need and break it down in stories User story examples Release planning Step 2 Initial: The user can search for a book After clarification: The user can search for a book by Title, and display the result as a list Developers estimate how long the stories might take to implement Each story will get a 1, 2 or 3 days estimate in ideal development time Longer than 3 days means that the customer need to break the story down further and less than 1 day that it is at too detailed a level, combine some stories Stories should be assigned technical risk: low, medium, high Estimating user stories Release planning Step 3 Intuitive time estimates how long it would take if you programmed all days without interruptions, compare the different stories for difficulty Spike solution experiment to get an idea of how a problem can be solved Estimate by comparison compare a story with the previously implemented stories Together developers and customers move the cards around on a large table to create a set of stories to be implemented as the first/next release A useable, testable system that makes good business sense delivered early is desired You may plan by time or by scope either how many stories can be implemented before a given date (time), or how long a set of stories will take to finish (scope) 2

3 Iteration planning Iteration planning Step 1 Project velocity is based on previous iteration Number of completed stories/tasks/ideal hours divided by actual hours Customer choose stories from release plan Failed acceptance tests to be fixed are also selected Project velocity Iteration planning Step 2 With six programmers and two-week iterations, a total of 60 programmer-days (6 programmers x10 days) are available With an initial velocity set to 1/3, a good start would be to plan 20 ideal days worth of work in the iteration We recomend initial velocity at 0.5 and the time unit is hours, this gives: 0.5 x 30 hours x Num of devs = total time for iteration The user stories and failed tests are broken down into the programming tasks that will support them by the developers Tasks are written down on index cards like user stories While user stories are in the customer's language, tasks are in the developer's language Duplicate tasks can be removed Each story has a corresponding task card for writing an acceptance test together with the customer Iteration planning Step 3 Planning poker Developers sign up to do the tasks and then estimate how long their own tasks will take to complete* Each task should be estimated as 1, 2, or 3 ideal programming hours in duration Tasks which are shorter than 1 hour can be grouped together and tasks which are longer than 3 hours should be broken down farther * or estimates are made by the team and tasks divided at the end of the session, or put in a stack where developers choose one at a time 3

4 Planning poker Iteration planning Step 4 A task is presented and briefly discussed (max 2 min) Each participant chooses from his own deck the numbered card that represents his estimate All estimates are kept private until each participant has chosen a card All estimates are revealed If estimates differ, the high and low estimators explain their estimates The process is repeated until estimates are similar Total up the time estimates in ideal programming hours of the tasks, this must not exceed the project velocity from the previous iteration If the iteration has too much then the customer must choose user stories to be put off until a later iteration (snow ploughing) If estimates are shown to be wrong during development work, ask the customer to adjust the scope of the iteration The first iteration Choose several small tasks to lay a basic architecture Do as much of the end-to-end application as possible Helps gather data for future iterations Choose velocity 0 and ask the customer to choose new stories during the process, or Choose an arbitrary velocity, e.g Start with the most important/highest risk task first Write down how your estimates were Planning game workflow A picture says more than a thousand words?! Development Coding Choose task (Planning game) Pair up (Pair programming) Write unit test (Test-driven development) Code (Code and Design Simply, Coding Standards) Ask user for clarification (On-site customer) Clean up (Refactor Mercilessly, Collective code ownership) Check in test and code (Continuous integration, Collective code ownership) Go home after 8 hours (Sustainable pace) 4

5 Practice Pair Programming Pair programming Goal: spread knowledge, experience and ideas Pairs work together on (small) tasks Driver focus on details of the task, Navigator focus on project as whole Supports: collective code ownership, comprehensive testing, simple design, refactoring, good development practices, teamwork Requires: facilities designed for pairs, developers willing to try pair programming, managers willing to try pair programming, coding standards Practice Test-driven Development Testing Goal: prove that the code works as it should Acceptance test, write a test together with the customer for each requirement Unit tests, write a test that fails, write code, check that the test is passed, refactor, automate test Supports: refactoring, regular releases, collective code ownership Requires: positive peer pressure, good communication between developers and customers Defects are expensive, but eliminating defects are also expensive The sooner a defect is found the cheaper to fix it Acceptance tests test the functionality of the whole system (customer) Unit tests test the components (developers) Once the test runs, the team keeps it running correctly thereafter. This means that the system only improves, always notching forward, never backsliding Acceptance test Acceptance test template Acceptance tests are created from user stories During an iteration the user stories selected will be translated into acceptance tests by the customer A story can have one or many acceptance tests, each acceptance test represents some expected result from the system Customers are responsible for verifying the correctness of the acceptance tests and decide which failed tests are of highest priority to fix in the next iteration Scenario 1: Title Narrative: Given [context] (And [some more context]...) When [event] Then [outcome] (And [another outcome]...) 5

6 Acceptance test examples Acceptance test examples cont User story Search for book by Title The user can search for a book by Title, and display the result as a list Acceptance test Given a book title and a database where books with this title exist, When the user searches Then the books with the title are displayed in a list Acceptance test Given a book title and a database where books with this title are missing, When the user searches Then the message No books that match the query is displayed Acceptance test examples cont Acceptance test example cont User story Payment The customer can pay by credit card Acceptance test Payment everything ok Given a VISA card with correct card id number, expiration date and purchase amount under card limit, When the user pays Then payment goes through and user receives confirmation on purchase Acceptance test Over card limit Given a VISA card with correct card id number, expiration date and purchase amount over card limit When the user pays Then payment fails and user receives error message Automating acceptance tests Unit tests Define input and expected output Write functional test as programs Have a scripting language simulate GUI commands Have an input recorder and ask the customer use it to define a test Automate tests incrementally as needed Can be tricky for highly interactive GUI systems First you should create or download a unit test framework to be able to create automated unit tests suites ( Second you should test all classes in the system (Trivial getter and setter methods are usually omitted) And last you should try to create your tests first, before the code Unit tests are released into the code repository along with the code they test 6

7 Bug tests Practice Code and Design Simply When a bug is found tests are created to guard against it coming back A bug in production requires an acceptance test be written to guard against it Given a failed acceptance test, developers can create unit tests to show the defect from a more source code specific point of view When the unit tests run at 100% then the failing acceptance test can be run again to validate the bug is fixed Goal: code that is easy to change Do the Simplest Thing That Could Possibly Work You Aren t Gonna Need It Once and Only Once Supports: collective code ownership, refactoring, testing Requires: good communication between developers and customers, confidence, ability to recognize simplicity Do the Simplest Thing That Could Possibly Work Balance functionality with simplicity Process: Solve the current problem Implement it simply Code should pass all tests and nothing more Clean up Discovering the simplest solution can be hard, avoid what if? You Aren t Gonna Need It Do today s work today and tomorrow's work tomorrow, do not guess ahead Do not add flexibility if not needed, makes the code more complex The customer/user identifies what needed Practice Coding Standards Practice On-site customer Goal: communicate ideas clearly through code Conventions that evolves with the project Start with existing style guides and naming conventions Supports: refactoring, pair programming, collective code ownership Requires: developer teamwork, occasional review, pair programming Goal: handle business concerns accurately and directly Customer set project s goal and schedule If impossible to have on-site a proxy may be used Supports: planning game, acceptance testing, regular releases Requires: initial investment, common vocabulary Try once or twice! 7

8 Practice Refactor Mercilessly Once and Only Once Goal: optimal code design Improve the design without changing the behaviour Do it regularly Supports: simple design, disciplined coding Requires: discipline, comprehensive tests, collective code ownership, coding standards Eliminate repetition, simplify code by removing complexity Refactor! Process Write code to solve problem When you write similar code refactor to remove duplication Next time you write similar code generalise to cover all cases you will encounter Practice Collective Code Ownership Goal: spread responsibility to whole team Any developer can change any code if needed to complete a task Supports: refactoring, pair programming Requires: coding standards, comprehensive testing, frequent integration, shared vocabulary Practice Integrate Continually Goal: reduce impact of adding new features Merge tasks and tests to whole as soon as they are completed Supports: refactoring, releasing regularly Requires: collective source repository, comprehensive testing, quick test suite, planning game, work at a sustainable pace SVN is probably a good idea! Practice Sustainable Pace The XP project Goal: go home tired, but not exhausted Time is fixed, adjust the scope if necessary Facilitated by: planning game, onsite customer, integrate continually, regular releases 8

9 Acceptance test Other types of testing Acceptance tests are created from user stories During an iteration the user stories selected will be translated into acceptance tests by the customer A story can have one or many acceptance tests, each acceptance test represents some expected result from the system Customers are responsible for verifying the correctness of the acceptance tests and decide which failed tests are of highest priority to fix in the next iteration User interface testing ensure all components behave as expected Usability testing ensure the application and functions can be easily used Performance testing test performance during various workloads Release Practice Release Regularly Goal: return customer s investment often Frequent opportunities for evaluation and feed-back Supports: planning game Requires: simple design, comprehensive testing, continual integration, planning game 9

XP: Planning, coding and testing. Planning. Release planning. Release Planning. User stories. Release planning Step 1.

XP: Planning, coding and testing. Planning. Release planning. Release Planning. User stories. Release planning Step 1. XP: Planning, coding and testing Annika Silvervarg Planning XP planning addresses two key questions in software development: predicting what will be accomplished by the due date determining what to do

More information

Introduction to Extreme Programming

Introduction to Extreme Programming Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Robert Martin, Object Mentor Ron Jeffries,et.al. 12/3/2003 Slide Content by Wake/Metsker 1

More information

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do? Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 8 Agile Methodologies: XP 1 extreme Programming (XP) Developed by Beck in 1996. The first authentic XP book appeared in 1999, with a revised

More information

Introduction to Extreme Programming. Extreme Programming is... Benefits. References: William Wake, Capital One Steve Metsker, Capital One Kent Beck

Introduction to Extreme Programming. Extreme Programming is... Benefits. References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Extreme Programming is... Lightweight software development method used for small to medium-sized

More information

defined. defined. defined. defined. defined. defined. defined. defined. defined.

defined. defined. defined. defined. defined. defined. defined. defined. defined. Table of Contents Week 1 Software Development... 2 Software Eng Life-Cycle Development Phases... 2 Methodologies... 2 Week 2 - XP, Scrum, Agile... 3 Extreme Programming (XP)... 3 Values of XP Programming...

More information

Extreme programming XP 6

Extreme programming XP 6 Extreme programming XP 6 Planning Game 3 Planning Game Independent: Stories should be as independent as possible. When thinking of independence it is often easier to think of order independent. In other

More information

XP Evolution Rachel Davies

XP Evolution Rachel Davies XP Evolution Rachel Davies Sept 10, 2005 2005 Agile Experience Ltd. 1 What is XP? 1.eXtreme Programming (XP) is so named because it raises practices that improve code quality to extreme levels 2. XP is

More information

E xtr B e y CS R m oy 6704, e T a P n a Spring r n o d J g ia n 2002 r g a S m hu m ing

E xtr B e y CS R m oy 6704, e T a P n a Spring r n o d J g ia n 2002 r g a S m hu m ing Extreme Programming CS 6704, Spring 2002 By Roy Tan and Jiang Shu Contents What is Extreme Programming (XP)? When to use XP? Do we need yet another software methodology? XP s rules and practices XP s relation

More information

Development Processes Agile Adaptive Planning. Stefan Sobek

Development Processes Agile Adaptive Planning. Stefan Sobek Development Processes Agile Adaptive Planning Stefan Sobek Agile Planning Process Adaptive Planning In agile projects frequently issues and changes will be discovered. Go into these projects with expectations

More information

User Stories Applied, Mike Cohn

User Stories Applied, Mike Cohn User Stories Applied, Mike Cohn Chapter 1: An Overview Composed of three aspects: 1. Written description of the story used for planning and as a reminder 2. Conversations about the story that serve to

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering II. Agile Development 1. Motivation Conceive Design Implement Operate Why What How 3 Co-evolution What should the software do? WHAT HOW

More information

User Stories Applied, Mike Cohn

User Stories Applied, Mike Cohn User Stories Applied, Mike Cohn Chapter 1: An Overview Composed of three aspects: 1. Written description of the story used for planning and as a reminder 2. Conversations about the story that serve to

More information

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014

Introduction to User Stories. CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 Introduction to User Stories CSCI 5828: Foundations of Software Engineering Lecture 05 09/09/2014 1 Goals Present an introduction to the topic of user stories concepts and terminology benefits and limitations

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 9 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week Software Development Process Version Control Contents Project planning

More information

Bridge Course On Software Testing

Bridge Course On Software Testing G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)

More information

Improved Database Development using SQL Compare

Improved Database Development using SQL Compare Improved Database Development using SQL Compare By David Atkinson and Brian Harris, Red Gate Software. October 2007 Introduction This white paper surveys several different methodologies of database development,

More information

Software Development Process Models

Software Development Process Models Software Development Process Models From classical notions to more agile approaches th@cs.toronto.edu, BA8134 Code & Fix or Cowboy Coding 1) Write program 2) Test and fix program Problems: program users

More information

Categorizing Migrations

Categorizing Migrations What to Migrate? Categorizing Migrations A version control repository contains two distinct types of data. The first type of data is the actual content of the directories and files themselves which are

More information

Analysis of the Test Driven Development by Example

Analysis of the Test Driven Development by Example Computer Science and Applications 1 (2013) 5-13 Aleksandar Bulajic and Radoslav Stojic The Faculty of Information Technology, Metropolitan University, Belgrade, 11000, Serbia Received: June 18, 2013 /

More information

CaseComplete Roadmap

CaseComplete Roadmap CaseComplete Roadmap Copyright 2004-2014 Serlio Software Development Corporation Contents Get started... 1 Create a project... 1 Set the vision and scope... 1 Brainstorm for primary actors and their goals...

More information

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Testing Agile Projects Stuart Reid

Testing Agile Projects Stuart Reid ing Agile Projects Stuart Reid ing Solutions Group 117-119 Houndsditch London EC3A 7BT UK sreid@ing-solutions.com www.ing-solutions.com Stuart Reid, 2011 Scope Agile Manifesto and Principles An Agile Development

More information

Test Driven Development. René Barto SES Agile Development - Test Driven Development

Test Driven Development. René Barto SES Agile Development - Test Driven Development Test Driven Development René Barto SES Agile Development - Test Driven Development 27-09-2006 Contents About Myself About SES Agile Development A Typical Developer s Day Test Driven Development Questions

More information

Sample Exam. Advanced Test Automation - Engineer

Sample Exam. Advanced Test Automation - Engineer Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Acceptance Testing. Copyright 2012 Gary Mohan.

Acceptance Testing. Copyright 2012 Gary Mohan. Acceptance Testing Copyright 2012 Gary Mohan www.plainprocess.com gary.mohan@plainprocess.com This book can be downloaded for free, in PDF format, at: http://www.plainprocess.com/uat.html Table of Contents

More information

Testing in Agile Software Development

Testing in Agile Software Development Testing in Agile Software Development T 76.5613, Software Testing and Quality Assurance Slides by Juha Itkonen Lecture delivered by 4.10.2006 V-model of testing Benefits of the V-model Intuitive and easy

More information

xtreme Programming (summary of Kent Beck s XP book) Stefan Resmerita, WS2015

xtreme Programming (summary of Kent Beck s XP book) Stefan Resmerita, WS2015 xtreme Programming (summary of Kent Beck s XP book) 1 Contents The software development problem The XP solution The JUnit testing framework 2 The Software Development Problem 3 Risk Examples delivery schedule

More information

Answers NOT TO BE PRINTED

Answers NOT TO BE PRINTED Advanced Software Engineering, COMP3C05, 2002 Answer Question 1 and two further questions. Marks for each part of each question are indicated in square brackets Calculators are NOT permitted 1. Your 3C05

More information

Sample Exam Syllabus

Sample Exam Syllabus ISTQB Foundation Level 2011 Syllabus Version 2.9 Release Date: December 16th, 2017. Version.2.9 Page 1 of 46 Dec 16th, 2017 Copyright 2017 (hereinafter called ISTQB ). All rights reserved. The authors

More information

Black-box Testing Techniques

Black-box Testing Techniques T-76.5613 Software Testing and Quality Assurance Lecture 4, 20.9.2006 Black-box Testing Techniques SoberIT Black-box test case design techniques Basic techniques Equivalence partitioning Boundary value

More information

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process? How Can a Tester Cope With the Fast Paced Iterative/Incremental Process? by Timothy D. Korson Version 7.0814 QualSys Solutions 2009 1 Restricted Use This copyrighted material is provided to attendees of

More information

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) COURSE STRUCTURE Introduction to Business Analysis Module 1 Needs Assessment Module 2 Business Analysis Planning Module

More information

Story Writing Basics

Story Writing Basics Jimi Fosdick, PMP, CST Agile Process Mentor jfosdick@collab.net 503.248.0800 Story Writing Basics [A user story is] a promise for a future conversation -Alistair Cockburn 1 Welcome Welcome to our ScrumCore

More information

Agile Development

Agile Development Agile Development 12-04-2013 Many flavors: Waterfall, Spiral Rapid Application Development (DSDM) Xtreme Programming (XP, an agile methodology) Usability Engineering Model, Star Iteration is done throughout

More information

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011 Higher-order Testing Stuart Anderson Defining Higher Order Tests 1 The V-Model V-Model Stages Meyers version of the V-model has a number of stages that relate to distinct testing phases all of which are

More information

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale

ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale ASTQB Advance Test Analyst Sample Exam Answer Key and Rationale Total number points = 120 points Total number points to pass = 78 points Question Answer Explanation / Rationale Learning 1 A A is correct.

More information

Hands-On Lab. Agile Planning and Portfolio Management with Team Foundation Server Lab version: Last updated: 11/25/2013

Hands-On Lab. Agile Planning and Portfolio Management with Team Foundation Server Lab version: Last updated: 11/25/2013 Hands-On Lab Agile Planning and Portfolio Management with Team Foundation Server 2013 Lab version: 12.0.21005.1 Last updated: 11/25/2013 CONTENTS OVERVIEW... 3 EXERCISE 1: AGILE PROJECT MANAGEMENT... 4

More information

Optimize tomorrow today.

Optimize tomorrow today. Applying Agile Practices to Improve Software Quality Name: Arlene Minkiewicz Chief Scientist 17000 Commerce Parkway Mt. Laurel, NJ 08054 arlene.minkiewicz@pricesystems.com Phone: 856 608-7222 Agenda Introduction

More information

Test Automation. Fundamentals. Mikó Szilárd

Test Automation. Fundamentals. Mikó Szilárd Test Automation Fundamentals Mikó Szilárd 2016 EPAM 2 Blue-chip clients rely on EPAM 3 SCHEDULE 9.12 Intro 9.19 Unit testing 1 9.26 Unit testing 2 10.03 Continuous integration 1 10.10 Continuous integration

More information

Testing in the Agile World

Testing in the Agile World Testing in the Agile World John Fodeh Solution Architect, Global Testing Practice 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Outline

More information

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES Presenter: Joshua Eastman Director, Strategic Solutions ABOUT THE SPEAKER Josh has over seven years of experience as an accomplished software testing

More information

Story Refinement How to write and refine your stories so that your team can reach DONE by the end of your sprint!

Story Refinement How to write and refine your stories so that your team can reach DONE by the end of your sprint! + Story Refinement How to write and refine your stories so that your team can reach DONE by the end of your sprint! Tonya McCaulley Director of Training ROME Agile + About Your Speaker Tonya McCaulley

More information

Processes, Methodologies and Tools. Fall 2005

Processes, Methodologies and Tools. Fall 2005 Processes, Methodologies and Tools 1 Who am I? Name: Experience: working with Ada and C/C++ since 1983, with Java since 1996. Application domains: system software, embedded systems, satellites data management

More information

Using Storyotypes to Split Bloated XP Stories

Using Storyotypes to Split Bloated XP Stories Using Storyotypes to Split Bloated XP Stories Gerard Meszaros ClearStream Consulting Inc., 3710 205 5 th Avenue S.W. Calgary, Alberta Canada T2P 2V7 gerard@clrstream.com Abstract. An ideal XP project is

More information

FDD Process #1: Develop an Overall Model

FDD Process #1: Develop an Overall Model FDD Process #1: Develop an Overall Model A initial project-wide activity with domain and development members under the guidance of an experienced object modeller in the role of Chief Architect. A high-level

More information

Up and Running Software The Development Process

Up and Running Software The Development Process Up and Running Software The Development Process Success Determination, Adaptative Processes, and a Baseline Approach About This Document: Thank you for requesting more information about Up and Running

More information

Architecture and Design Evolution

Architecture and Design Evolution Architecture and Design Evolution Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,

More information

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

CS 307: Software Engineering. Lecture 10: Software Design and Architecture CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office

More information

Evolutionary Architecture and Design

Evolutionary Architecture and Design Evolutionary Architecture and Design Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,

More information

Announcements. Presentations on Wednesday. Testing Practice. CS169 Lecture 8 (with slides from Alex Aiken, George Necula,Tom Ball) Reality

Announcements. Presentations on Wednesday. Testing Practice. CS169 Lecture 8 (with slides from Alex Aiken, George Necula,Tom Ball) Reality Announcements Testing Practice Presentations on Wednesday 8 minutes per group 4 slides (see website) CS169 Lecture 8 (with slides from Alex Aiken, George Necula,Tom Ball) Prof. Brewer CS 169 Lecture 8

More information

GETTING STARTED. Introduction to Backlog Grooming

GETTING STARTED. Introduction to Backlog Grooming GETTING STARTED Introduction to Backlog Grooming contents SECTION backlog grooming? SECTION 1 what is backlog grooming? 4 SECTION 2 who should be involved in a grooming session? 5 benefits of backlog grooming

More information

Integration With the Business Modeler

Integration With the Business Modeler Decision Framework, J. Duggan Research Note 11 September 2003 Evaluating OOA&D Functionality Criteria Looking at nine criteria will help you evaluate the functionality of object-oriented analysis and design

More information

Agile Test Automation ICAgile

Agile Test Automation ICAgile Home > Agile Test Automation ICAgile Agile Test Automation ICAgile Discover how to implement test automation as stories are implemented Confidently deliver shippable product increments each sprint using

More information

9 th CA 2E/CA Plex Worldwide Developer Conference 1

9 th CA 2E/CA Plex Worldwide Developer Conference 1 1 Introduction/Welcome Message Organizations that are making major changes to or replatforming an application need to dedicate considerable resources ot the QA effort. In this session we will show best

More information

A learning initiative for all What is it? - What does it cost? Usability Mapping. By CAT - i

A learning initiative for all What is it? - What does it cost? Usability Mapping. By CAT - i A learning initiative for all What is it? - What does it cost? Usability Mapping By CAT - i Safety and documentation cannot be separated. We will never know how much harm we prevented. We must always know

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

2014 Intelliware Development Inc.

2014 Intelliware Development Inc. What You ll Learn in this Presentation: The basics of user stories. How user stories fit into the overall Agile planning process. How to write a user story. A story card example 2 Why is it so Difficult

More information

Inside JIRA scheme, everything can be configured, and it consists of. This section will guide you through JIRA Issue and it's types.

Inside JIRA scheme, everything can be configured, and it consists of. This section will guide you through JIRA Issue and it's types. JIRA Tutorial What is JIRA? JIRA is a tool developed by Australian Company Atlassian. It is used for bug tracking, issue tracking, and project management. The name "JIRA" is actually inherited from the

More information

כללי Extreme Programming

כללי Extreme Programming פיתוח מער כות תוכנה מבוססות Java כללי Extreme Programming אוהד ברזילי ohadbr@tau.ac.il Based on: K. Beck: Extreme Programming Explained. E. M. Burke and B.M. Coyner: Java Extreme Programming Cookbook.

More information

Linköpings universitet 2. Practical agrement. Setting up the room. Definition of Done. Start on product backlog. User story template

Linköpings universitet 2. Practical agrement. Setting up the room. Definition of Done. Start on product backlog. User story template Sprint 0 TDP029 En agil systemutvecklingsprocess Annika Silvervarg COIN/HCCS/IDA (Strategic intake & research) (Product statement) (Design koncept) Technical solution outline Practical agreements Setting

More information

Practical Objects: Test Driven Software Development using JUnit

Practical Objects: Test Driven Software Development using JUnit 1999 McBreen.Consulting Practical Objects Test Driven Software Development using JUnit Pete McBreen, McBreen.Consulting petemcbreen@acm.org Test Driven Software Development??? The Unified Process is Use

More information

Managing Superfund Field Data

Managing Superfund Field Data Managing Superfund Field Data Joe Schaefer Environmental Response Team 24 th NARPM Training Program Objective: Improve the Information Currency of Superfund u Translate the work that happens on your site

More information

Business Requirements Document (BRD) Template

Business Requirements Document (BRD) Template Business Requirements Document (BRD) Template Following is a template for a business requirements document (BRD). The document includes many best practices in use today. Don t be limited by the template,

More information

1. Introduction and overview

1. Introduction and overview 1. Introduction and overview 1.1 Purpose of this Document This document describes how we will test our code for robustness. It includes test cases and other methods of testing. 1.2 Scope of the Development

More information

02291: System Integration

02291: System Integration 02291: System Integration Week 10 Hubert Baumeister huba@dtu.dk DTU Compute Technical University of Denmark Spring 2018 Last Week Principles of good design: layered architecture Software Development Processes

More information

Content Development Reference. Including resources for publishing content on the Help Server

Content Development Reference. Including resources for publishing content on the Help Server Content Development Reference Including resources for publishing content on the Help Server March 2016 Help Server guidance Optimizing your investment in content F1 or TOC? Metadata and editing tools for

More information

Adopting Agile Practices

Adopting Agile Practices Adopting Agile Practices Ian Charlton Managing Consultant ReleasePoint Software Testing Solutions ANZTB SIGIST (Perth) 30 November 2010 Tonight s Agenda What is Agile? Why is Agile Important to Testers?

More information

A few more things about Agile and SE. Could help in interviews, but don t try to bluff your way through

A few more things about Agile and SE. Could help in interviews, but don t try to bluff your way through A few more things about Agile and SE Could help in interviews, but don t try to bluff your way through 1 Refactoring How to do it, where it fits in http://www.cse.ohio-state.edu/~crawfis/cse3902/index.htm

More information

The Need for Agile Project Management

The Need for Agile Project Management The Need for Agile Project Management by Mike Cohn 21 Comments originally published in Agile Times Newsletter on 2003-01-01 One of the common misperceptions about agile processes is that there is no need

More information

15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java

15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java 15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java Dates of Interest Assigned: During class, Friday, January 26, 2007 Due: 11:59PM, Friday, February 13, 2007 Credits

More information

Unit 6 - Software Design and Development LESSON 8 QUALITY ASSURANCE

Unit 6 - Software Design and Development LESSON 8 QUALITY ASSURANCE Unit 6 - Software Design and Development LESSON 8 QUALITY ASSURANCE Previously Key features of programming languages Software Development Lifecycle Design models Some software structures functions, procedures,

More information

Automated Testing of Tableau Dashboards

Automated Testing of Tableau Dashboards Kinesis Technical Whitepapers April 2018 Kinesis CI Automated Testing of Tableau Dashboards Abstract Companies make business critical decisions every day, based on data from their business intelligence

More information

Technology Background Development environment, Skeleton and Libraries

Technology Background Development environment, Skeleton and Libraries Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,

More information

Agile Testing Course: 15 16/11

Agile Testing Course: 15 16/11 Agile Testing Dr. Ronen Bar-Nahor ronen@agilesparks.com 1 AgileSparks We help companies improve by Adopting agile principles and practices. We provide training and coaching to all organizational levels,

More information

5 Object Oriented Analysis

5 Object Oriented Analysis 5 Object Oriented Analysis 5.1 What is OOA? 5.2 Analysis Techniques 5.3 Booch's Criteria for Quality Classes 5.4 Project Management and Iterative OOAD 1 5.1 What is OOA? How to get understanding of what

More information

Software Design COSC 4353/6353 D R. R A J S I N G H

Software Design COSC 4353/6353 D R. R A J S I N G H Software Design COSC 4353/6353 D R. R A J S I N G H Week 5 Refactoring What is Refactoring? Code Smells Why Refactoring? Techniques IDEs What is Refactoring? Art of improving the design of existing code

More information

Lecture 23: Domain-Driven Design (Part 1)

Lecture 23: Domain-Driven Design (Part 1) 1 Lecture 23: Domain-Driven Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2005 2 Goals for this lecture Introduce the main concepts of Domain-Driven

More information

Get more out of technology starting day one. ProDeploy Enterprise Suite

Get more out of technology starting day one. ProDeploy Enterprise Suite Enterprise Suite Get more out of technology starting day one 1 Secure the path to a future-ready data center The landscape faced by IT managers and business leaders today can be daunting to navigate. Continually

More information

Entrance exam - Informatics

Entrance exam - Informatics Entrance exam - Informatics Name and Surname fill in the field Application No. Test Sheet No. 15 Algorithms and data structures 1 Which of the listed data structures is most suitable (w.r.t. time and memory

More information

Automate Transform Analyze

Automate Transform Analyze Competitive Intelligence 2.0 Turning the Web s Big Data into Big Insights Automate Transform Analyze Introduction Today, the web continues to grow at a dizzying pace. There are more than 1 billion websites

More information

Enterprise Architect Training Courses

Enterprise Architect Training Courses On-site training from as little as 135 per delegate per day! Enterprise Architect Training Courses Tassc trainers are expert practitioners in Enterprise Architect with over 10 years experience in object

More information

Git Branching for Agile Teams

Git Branching for Agile Teams Git Branching for Agile Teams Why use Git + agile? Git helps agile teams unleash their potential How? Developer First, let s review two pillars of agile 1 Build in narrow vertical slices Waterfall: can

More information

User Stories for Agile Requirements. Mike Cohn - background. Copyright Mountain Goat Software, LLC

User Stories for Agile Requirements. Mike Cohn - background. Copyright Mountain Goat Software, LLC User Stories for Agile Requirements 1 Mike Cohn - background 2 It s a communication problem Software requirements is a communication problem Those who want software must communicate with those who will

More information

Standards for Test Automation

Standards for Test Automation Standards for Test Automation Brian Tervo Windows XP Automation Applications Compatibility Test Lead Microsoft Corporation Overview Over the last five years, I ve had the opportunity to work in a group

More information

The Integration Phase Canard. Integration and Testing. Incremental Integration. Incremental Integration Models. Unit Testing. Integration Sequencing

The Integration Phase Canard. Integration and Testing. Incremental Integration. Incremental Integration Models. Unit Testing. Integration Sequencing Integration and Testing The Integration Phase Canard Integration Strategy Came from large system procurement phased vs. incremental integration integration processes and orders Testing Strategy numerous

More information

Software Engineering I (02161)

Software Engineering I (02161) Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2016 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information

McCa!"s Triangle of Quality

McCa!s Triangle of Quality McCa!"s Triangle of Quality Maintainability Portability Flexibility Reusability Testability Interoperability PRODUCT REVISION PRODUCT TRANSITION PRODUCT OPERATION Correctness Usability Reliability Efficiency

More information

Based on the slides available at book.com. Graphical Design

Based on the slides available at   book.com. Graphical Design Graphical Design Graphic Design & User Interfaces Information oriented, systematic graphic design is the use of typography, symbols, color and other static and dynamic graphics to convey facts, concepts

More information

Sample Exam. Advanced Test Automation Engineer

Sample Exam. Advanced Test Automation Engineer Sample Exam Advanced Test Automation Engineer Answer Table ASTQB Created - 08 American Stware Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

WHY AN APP? Communicate, Educate, Train, & Sell

WHY AN APP? Communicate, Educate, Train, & Sell WHY AN APP? Communicate, Educate, Train, & Sell WHY AN APP? A WHOLE NEW EXPERIENCE The average American currently spends over two (2!) hours every day on a mobile device. And yet, most companies are still

More information

The Path Not Taken: Maximizing the ROI of Increased Decision Coverage

The Path Not Taken: Maximizing the ROI of Increased Decision Coverage The Path Not Taken: Maximizing the ROI of Increased Decision Coverage Laura Bright Laura_bright@mcafee.com Abstract Measuring code coverage is a popular way to ensure that software is being adequately

More information

Improve Under Performing Web Content with a Content Audit DAVID STURTZ DIRECTOR OF PRODUCT STRATEGY

Improve Under Performing Web Content with a Content Audit DAVID STURTZ DIRECTOR OF PRODUCT STRATEGY Improve Under Performing Web Content with a Content Audit DAVID STURTZ DIRECTOR OF PRODUCT STRATEGY Today s Presenter David Sturtz Directory of Product Strategy Geonetric David is the product lead for

More information

18-642: Software Development Processes

18-642: Software Development Processes 18-642: Software Development Processes 9/6/2017 Coding Is Essentially 0% of Creating Software http://e.ubmelectronics.com/2013embeddedstudy/index.html 2 Old-School Waterfall Development Cycle Bugs SPECIFY

More information

Creating an Intranet using Lotus Web Content Management. Part 2 Project Planning

Creating an Intranet using Lotus Web Content Management. Part 2 Project Planning Creating an Intranet using Lotus Web Content Management Introduction Part 2 Project Planning Many projects have failed due to poor project planning. The following article gives an overview of the typical

More information

LEVELS OF TESTING AND SPECIAL TESTS

LEVELS OF TESTING AND SPECIAL TESTS LEVELS OF TESTING AND SPECIAL TESTS CONTENTS I. Unit Testing: Driver, Stub II. Integration Testing i. Decomposition Testing: Top Down and Bottom up Integration. ii. Bi-Directional Integration. iii. Incremental

More information

Collaborative Events and Shared Artefacts

Collaborative Events and Shared Artefacts Collaborative Events and Shared Artefacts Agile Interaction Designers and Developers Working Toward Common Aims Judith Brown Gitte Lindgaard, Robert Biddle Department of Psychology and School of Computer

More information

Process of Interaction Design and Design Languages

Process of Interaction Design and Design Languages Process of Interaction Design and Design Languages Process of Interaction Design This week, we will explore how we can design and build interactive products What is different in interaction design compared

More information

HPE ALM Standardization as a Precursor for Data Warehousing March 7, 2017

HPE ALM Standardization as a Precursor for Data Warehousing March 7, 2017 HPE ALM Standardization as a Precursor for Data Warehousing March 7, 2017 Brought to you by the Vivit Business Intelligence Special Interest Group led by Oded Tankus Hosted By Oded Tankus Project Manager

More information