Agile Testing Workshop
|
|
- Melvin Elliott
- 7 years ago
- Views:
Transcription
1 Agile Testing Workshop Paul C. Jorgensen, Ph.D., Professor School of Computing and Information Systems Grand Valley State University Allendale, Michigan 49491
2 Overview/Übersicht The Agile Development Paradigm Flavors of Agile Testing Context-Driven Testing Good Enough Testing Exploratory Testing Test-Driven Development (TDD) Comparison of MDD and TDD Open Questions and Conclusions
3 The Agile Development Paradigm the Agile Manifesto more than just Something for lazy Americans... Customer driven (via User Stories) Bottom-up rather than traditional Top-down Agile or Fragile?
4 The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. (signed by 17 people;
5 Principles behind the Agile Manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project.
6 Principles behind the Agile Manifesto (continued) Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
7 Principles behind the Agile Manifesto (concluded) Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
8 BUT what Happened to Testing? Mike Beedle (one of the group that signed the Manifesto) suggested in 2004 that another value should be added: we have come to value... Tests over requirements definition and traceability (Brian Marick s Blog,
9 Development with User Stories User Stories Increment Plan Test Cases Increment Coding System Test Small Release Unit Test
10 Nun singen wir, alle zusammen (Melodie von Josef Haydn, 1797) Agile, agile, über alles, Über alles in der Welt. Agile, agile, über alles, Über alles in der Welt. Kein mehr Wasserfall, kein mehr Prozess, Kein mehr Requirements und Design. Agile, agile, über alles, Über alles in der Welt.
11 Testing in an Agile Development Context-Driven Testing Good Enough Testing Exploratory Testing Test-Driven Development
12 Context-Driven Testing (seven basic principles) 1. The value of any practice depends on its context. 2. There are good practices in context, but there are no best practices. 3. People, working together, are the most important part of any project's context. 4. Projects unfold over time in ways that are often not predictable. 5. The product is a solution. If the problem isn't solved, the product doesn't work. 6. Good software testing is a challenging intellectual process. 7. Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products.
13 Observations and Conclusions Principles 1 and 2 apply to almost any endeavor. Principle 3 applies to all forms of teamwork. Agile development is a good response to Principle 4 Principles 5, 6, and 7 apply to software testing. These principles are so general, they give little direction about HOW to do context-driven testing. Context-driven testing depends primarily on: Skill knowledge Ingenuity Motivation Craftsmanship!
14 Good Enough Testing I want to distinguish the Good Enough approach from the approach that says that we should keep testing until Management pries the product from my cold, dead fingers. - -James Bach Good Enough testing is the process of developing a sufficient assessment of quality, at a reasonable cost, to enable wise and timely decisions to be made concerning the product.
15 Bach s Principles of Good Enough Testing Assess product quality How accurate/complete is the testing? Evaluate the cost of testing Within budget? Any redundancy? Unnecessary testing? Determine whether testing supports necessary decision making Risk? Are testing results timely? Point of diminishing returns.
16 Observations and Conclusions Good Enough Testing can be applied to any software development. It is not necessarily Agile. Very sensible, but it requires effort from both testers and management. No guidelines just generalities.
17 Exploratory Testing Explore: to investigate the unknown The opposite of scripted testing James Bach More than ad hoc testing Shares some pros and cons with Special Value Testing Depends on the abilities of the exploratory tester Curiosity Ingenuity Time and tools A discovery process A learning process in which the results of one test suggest additional tests We will explore Exploratory Testing with an example.
18 James Bach s Exploration Mindset I run a test. I MAKE AN OBSERVATION... - I experience surprise associated with a pattern within an observation. That triggers REFLECTION about PLAUSIBILITY... - The pattern seems implausible relative to my current model of the phenomenon. That triggers REFLECTION about RISK... - I can bring to mind a risk associated with that pattern. That triggers REFLECTION on MAGNITUDE OF RISK... - The risk seems important. That triggers TEST REDESIGN...
19 Exploratory Testing Dynamics Created by James and Jonathan Bach v1.2 Copyright 2005, Satisfice, Inc Chartering. Making your own decisions about what you will work on and how you will work. Manipulating. Making and managing contact with the object of your study; configuring and interacting with it. Designing experiments and establishing lab procedures. Observing. Gathering empirical data about the object of your study; collecting different kinds of data, or data about different aspects of the object. Designing experiments and establishing lab procedures. Modeling. Composing, describing, and working with mental models of the things you are exploring. Identifying relevant dimensions, variables, and dynamics. A good mental model may manifest itself as having a feel for the product; intuitively grasping how it works. Conjecturing. Considering possibilities and probabilities. Considering multiple, incompatible explanations that account for the same facts.
20 Exploratory Testing Dynamics (continued) Created by James and Jonathan Bach v1.2 Copyright 2005, Satisfice, Inc Questioning. Identifying missing information, conceiving of questions, and asking questions in a way that elicits the information that you seek. Recording. Preserving information about your process, progress, and findings. Reporting. Making a credible, professional report of your work to your clients in oral and written form. Pairing. Working and thinking with another person on the same problem. Resourcing. Obtaining tools and information to support your effort. Exploring sources of such tools and information. Getting people to help you. Refocusing. Managing the scope and depth of your attention. Looking at different things, looking for different things, in different ways. Branching/Backtracking. Allowing yourself to be productively distracted from one course of action in order to explore an unanticipated new idea. Generating/Elaborating. Working quickly in a manner good enough for the circumstances. Revisiting the solution later to extend, refine, refactor or correct it. Alternating. Switching among different activities or perspectives to create or relieve productive tension and make faster progress.
21 Exploring the Commission Problem Lock, Stock, and Barrel In the Commission Problem, a rifle salesman in the old American West sells rifles, either as a whole, or in the three parts, the lock, the stock, and the barrel. Prices are: Locks: $45 Stocks: $30 Barrels: $25 Complete Rifle: $100 The salesman s commission is computed on a sliding scale: 10% on the first $1000 of total sales 15% on sales from $1001 to $ % on sales over $1800
22 Recognition of a Fault In the first few months, the salesperson never exceeds $1000 in sales, and the commission is correct. When sales finally reach the 15% level, however, the salesperson s commission is less than expected. And one month, when sales reached $1900, the commission was slightly more than expected. If the salesman had a spreadsheet, he might have tried out some possible sales
23 The First Exploration case # locks stocks barrels sales Expected commission Computed commission Pass? Expected less Computed $100 $10 $10 pass $ $800 $80 $80 pass $ $1,000 $100 $100 pass $ $1,100 $115 $100 fail $ $1,700 $205 $190 fail $ $1,800 $220 $205 fail $ $1,900 $240 $260 fail ($20)
24 The Exploration Begins The rifle salesman knows the computation involves four business rules: (1) sales = $45*locks + $30*stocks + $25*barrels (2) commission = 0.10*sales (for $0 <= sales <= $1000) (3) commission = $ *(sales - $1000) (for $1000 < sales <= $1800) (4) commission = $ *(sales - $1800) (for sales > $1800) The sales calculation is correct, but could there be offsetting errors in the coefficients?
25 The Second Exploration Try calculating with one variable at a time. case # locks stocks barrels sales Expected commission Computed commission Pass Fail? Expected less Computed $ $45.00 $45.00 pass $ $ $30.00 $30.00 pass $ $ $25.00 $25.00 pass $0.00 Looks OK. No problem with the coefficients, so Equation (1) is being computed correctly. The salesman already knows that equation (2) is also being computed correctly. Time to explore equation (3).
26 The Third Exploration Check Equation (3). Try to devise sales near the $1000 level. case # locks stocks barrels sales Expected commission Computed commission Pass/ Fail? Expected less Computed $995. $99.50 $99.50 pass $ $1,000. $ $ pass $ $1,005. $ $85.75 fail $15.00 Aha! (Ein Licht geht auf!) the only thing wrong with equation (3) must be the amount subtracted from sales. Solving equation (3) with the computed and expected commission: (3 expected) $ = $ ($ $1000) (3 computed) $85.25 = $ ($1005 x), x = $1100
27 Not Finished Yet There is a remaining fault. Look at test case 7, in which the salesman receives too much commission. You can try exploratory testing with the explorecommission.xls spreadsheet.
28 Observations and Conclusions Exploratory testing requires discipline Not an ad hoc activity Documentation, especially of intermediate results, is valued Allows a tester to focus on deep faults Can be extremely effective Can be extremely efficient Very dependent on the tester
29 Test-Driven Development The essence of agility Also known as Test-First Development Requires automation A bottom-up process Presumes refactoring Excellent for fault isolation Test granularity is an issue Big Question: does TDD result in a good design?
30 Test-Driven Development (TDD) Life Cycle Start Create a test Run the full test set Write code so test passes Refactor As needed
31 TDD Example: a Boolean Function to Determine Leap Years Definition: A year is a leap year if it is a multiple of 4, but century years are leap years only if they are multiples of 400. Test-Driven Development would break this into small, individual user stories (also called tasks). Coded here in a pseudo-code (a lingua franca) that resembles Visual Basic. Try it yourself (with no looking ahead) in your favorite programming language.
32 My isleap Code
33 User Story 1: A year divisible by 4 is a leap year Test Case 1 Input: 2004 Expected Output: True (existing) Pseudo-Code in normal font Function isleap(year) As Boolean End isleap Running Test Case 1 on this code fails. Add just enough code to make the test pass.
34 User Story 1: A year divisible by 4 is a leap year Test Case 1 Input: 2004 Expected Output: True (updated) Pseudo-Code in bold face font Function isleap(year) As Boolean dim year AS Integer isleap = False 'MOD is the modulo arithmetic built-in operator in most languages If (( year MOD 4) = 0) Then IsLeap = True EndIf End isleap Test Case 1 passes. Now do User Story 2.
35 User Story 2: A year not divisible by 4 is a common year Test Case 1 Input: 2004 Expected Output: True Test Case 2 Input: 2007 Expected Output: False (existing) Pseudo-Code in normal font Function isleap(year) As Boolean dim year AS Integer isleap = False If (( year MOD 4) = 0) Then IsLeap = True EndIf End isleap Test Case 1 passes. Test Case 2 fails. Now add just enough code so that Test Case 2 passes.
36 User Story 2: A year not divisible by 4 is a common year Test Case 1 Input: 2004 Expected Output: True Test Case 2 Input: 2007 Expected Output: False (updated) Pseudo-Code In bold face font Function isleap(year) As Boolean dim year AS Integer isleap = False If (( year MOD 4) = 0) Then IsLeap = True Else IsLeap = True EndIf End isleap Test Cases 1 and 2 pass. Now do User Story 3
37 User Story 3: A century year not divisible by 400 is a common year Test Case 1 Test Case 2 Test Case 3 Input: 2004, Expected Output: True Input: 2007, Expected Output: False Input: 1900, Expected Output: False (existing) Pseudo-Code In normal font Function isleap(year) As Boolean dim year AS Integer isleap = False If (( year MOD 4) = 0) Then IsLeap = True Else IsLeap = True EndIf End isleap Test Cases 1 and 2 pass. Test Case 3 fails. Now add just enough code so that Test Case 3 passes.
38 User Story 3: A century year not divisible by 400 is a common year Test Case 1 Test Case 2 Test Case 3 Input: 2004, Expected Output: True Input: 2007, Expected Output: False Input: 1900, Expected Output: False (updated) Pseudo-Code In bold face font Function isleap(year) As Boolean dim year AS Integer isleap = False If ((( year MOD 4) = 0) AND NOT((year MOD 100) = 0))) Then IsLeap = True Else IsLeap = True EndIf End isleap Test Cases 1, 2 and 3 pass. Now do User Story 4
39 User Story 4: A century year divisible by 400 is a leap year Test Case 1 Test Case 2 Test Case 3 Test Case 4 Input: 2004, Expected Output: True Input: 2007, Expected Output: False Input: 1900, Expected Output: False Input: 2000, Expected Output: True (existing) Pseudo-Code In normal font Function isleap(year) As Boolean dim year AS Integer isleap = False If ((( year MOD 4) = 0) AND NOT((year MOD 100) = 0))) Then IsLeap = True Else IsLeap = True EndIf End isleap Test Cases 1, 2 and 3 pass. Test case 4 fails. Now add just enough code so that test case 4 passes.
40 User Story 4: A century year divisible by 400 is a leap year Test Case 1 Test Case 2 Test Case 3 Test Case 4 Input: 2004, Expected Output: True Input: 2007, Expected Output: False Input: 1900, Expected Output: False Input: 2000, Expected Output: True (updated) Pseudo-Code In bold face font Function isleap(year) As Boolean dim year AS Integer isleap = False If ((( year MOD 4) = 0) AND NOT((year MOD 100) = 0))) OR ((year MOD 400 = 0)) Then IsLeap = True Else IsLeap = True EndIf End isleap Test Cases 1, 2, 3 and 4 pass. Done with function isleap.
41 Advantages of Test Driven Development In this example, the steps are deliberately small. Customer and developer can (should!) jointly determine granularity of user stories. Fault isolation is greatly simplified (in fact, trivial). If a test case fails, the fault must be in the most recently added code. Once a new test case passes, a working (subset) of the desired software can always be delivered. Something always works!
42 Disadvantages of Test Driven Development Useful granularity is an issue. There is no guarantee that user stories arrive in a sensible order. There is no guarantee that user stories are the same size (or require similar effort) Bottom-up coding often results in poorly structured code, making refactoring necessary. Tool support (zb junit) is essential.
43 Comparison of Model Driven Development (MDD) and Test Driven Development (TDD) First American s view of Eagles and Mice Eagles have the big picture Mice focus on the details (both views are important!) MDD is a rigorous, top-down approach. TDD is a bottom-up approach.
44 TDD isleap in Visual Basic (refactored) Public Function isleap(year) As Boolean Dim year As Integer Dim c1, c2, c3 As Boolean 1. c1 = (year Mod 4 = 0) 2. c2 = (year Mod 100 = 0) 3. c3 = (year Mod 400 = 0) 4, isleap = False 5. If ( (c1 AND NOT(c2)) OR (c3)) Then 6. IsLeap = True 7. Else 8. IsLeap = False 9. EndIf End Function
45 Decision Table Model of isleap Conditions r1 r2 r3 r4 r5 r6 r7 r8 C1. year is a multiple of 4 T T T T F F F F C2. year is a century year T T F F T T F F C3. year is a multiple of 400 T F T F T F T F Actions (logically impossible) X X X X A1. year is a common year X x A2. year is a leap year X X test case: year =
46 MDD isleap in Visual Basic 1 Public Function isleap(year) As Boolean Dim year As Integer Dim c1, c2, c3 As Boolean 1. c1 = (year Mod 4 = 0) 2. c2 = (year Mod 100 = 0) 3. c3 = (year Mod 400 = 0) 4, isleap = False 5. If c1 Then 6. If c2 Then 7. If c3 Then 8. isleap = True rule r1 9. Else 10. isleap = False rule r2 11. End If 12. Else 13. isleap = True rule r4 14. End If 15. Else 16. isleap = False rule r8 17. End If End Function
47 Observations The TDD version is less complex (really?) Cyclomatic complexity of the DD version is 2 Cyclomatic complexity of the MDD version is 4 The TDD version gradually built up to a compound condition (that might be hard to understand, and to modify). The decision table model assures Completeness Consistency Non-redundancy Both versions require 4 test cases
48 Open Questions Does Agile (bottom up) Development actually result in better designs? Can any form of Agile Testing reveal deep faults? zb: faults revealed only by data flow (define/use) testing computational faults time-dependent faults What about maintenance? Agile code has well-named variables and components (hopefully) been refactored carefully no comments test cases are the specification
49 Conclusions The Agile community is VERY passionate about their methods. Agile Development clearly works well for SOME applications time critical uncertain customer (I ll know what I want when I see it!) Some agile methods apply to non-agile projects Context-Driven Testing Good Enough Testing Exploratory Testing Test Driven Development is excellent (ausgezeichnet!) for fault isolation. Try it yourself with tddtriangle.xls
50 Also geht alles zu Ende allhier: Feder, Tinte, Tobak auch wir. Zum letzten Mal wird eingetunkt, dann kommt der große schwarze W. Busch
Exploratory Testing Dynamics
Exploratory Testing Dynamics Created by James and Jonathan Bach 1 v1.6 Copyright 2005-2006, Satisfice, Inc. Exploratory testing is the opposite of scripted testing. Both scripted and exploratory testing
More informationSoftware Processes. Agile Methods
Software Processes Agile Methods Roadmap Agile Methods Agile Manifesto Agile Principles Agile Methods Agile Processes Scrum, Crystall,... Integrating Agile with Non-Agile Processes 2 Agile Development
More informationExploratory Testing Dynamics
Exploratory Testing Dynamics Created by James Bach, Jonathan Bach, and Michael Bolton 1 v2.2 Copyright 2005-2009, Satisfice, Inc. Exploratory testing is the opposite of scripted testing. Both scripted
More informationManifesto for Agile Software Development
Rocky Mountain Information Management Association Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we
More informationIntroduction to Agile Software Development. EECS 690 Agile Software Development
Introduction to Agile Software Development EECS 690 Agile Software Development Agenda Research Consent Forms Problem with Software Engineering Motivation for Agile Methods Agile Manifesto Principles into
More informationAdopting Agile Testing
Adopting Agile Testing A Borland Agile Testing White Paper August 2012 Executive Summary More and more companies are adopting Agile methods as a flexible way to introduce new software products. An important
More informationScaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London 2007. conchango 2007 www.conchango.com
Scaling Scrum Colin Bird & Rachel Davies Scrum Gathering London 2007 Scrum on a Slide Does Scrum Scale? Ok, so Scrum is great for a small team but what happens when you have to work on a big project? Large
More informationAgile QA s Revolutionary Impact on Project Management
Agile QA s Revolutionary Impact on Project Management Introduction & Agenda Rachele Maurer Agile Coach, Platinum Edge Inc. PMP, CSM, PMI-ACP Agenda A quick overview of agile Current QA practices QA using
More informationAgile Development with C#
Agile Development with C# Paweł Jarosz, pjarosz@pk.edu.pl Cracow University of Technology, Poland Jyvaskyla University of Applied Sciences, February 2009 Paweł Jarosz who am I? M.Sc. of Applied Physics
More informationLEAN AGILE POCKET GUIDE
SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies
More informationSCEA 2010 EST06. Estimating Issues Associated with Agile. Bob Hunt. Galorath Incorporated
SCEA 2010 EST06 Estimating Issues Associated with Agile Development Bob Hunt Vice President, Services Galorath Incorporated What Is Agile Software Dev? In the late 1990 s several methodologies began to
More information26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: 224-595-8846 AGILE THROUGH SCRUM
26 May 2010 CQAA Lunch & Learn Paul I. Pazderski (CSM/CSP, OD-CM, CSQA) spcinc13@yahoo.com Cell: 224-595-8846 AGILE THROUGH SCRUM 1 AGENDA & LEARNING POINTS 1. Open 2. Agile Overview 3. Scrum Basics Learning
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Agile software development
Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort
More informationAgile Beyond The Team 1
Agile Beyond The Team 1 Dilbert Agile 2 What Does Your Organization Value? Projects over Teams? Do new teams spools up for new projects? On-Time/On-Budget Delivery over Zero Maintenance Products Deliver
More informationwerteorientierte Unternehmenskultur
Echte Agilität erfordert eine werteorientierte Unternehmenskultur Jutta Eckstein Thomas Walker, CMC Seite 1 Goals of Today The main question of the day: The role of software development in relation with
More informationHistory of Agile Methods
Agile Development Methods: Philosophy and Practice CPSC 315 Programming Studio Fall 2010 History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight software
More informationAgile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013
Agile Overview 30,000 perspective Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013 Agenda 30,000 Perspective The Players Initiating a Project Agile Estimating Agile Communications
More informationAgile Project Management with Scrum
Agile Project Management with Scrum Resource links http://www.agilealliance.org/ http://www.agilemanifesto.org/ http://www.scrum-master.com/ 1 Manifesto for Agile Software Development Individuals and interactions
More informationCreating a High Maturity Agile Implementation
Creating a High Maturity Agile Implementation Creating a High Maturity Agile Implementation www.qaiglobal.com 1 Copyright Notice 2015. Unless otherwise noted, these materials and the presentation of them
More informationAgile on huge banking mainframe legacy systems. Is it possible?
EuroSTAR 2011 Agile on huge banking mainframe legacy systems. Is it possible? Christian Bendix Kjær Hansen Test Manager November 22, 2011 What is this presentation about? Goal Inspire others working with
More informationIntroduction to Agile Software Development
Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)
More informationAgile Testing and Extreme Programming
Agile Testing and Extreme Programming bret@pettichord.com www.pettichord.com March 2003 Copyright 2003 Bret Pettichord. All rights reserved. The Agile Alliance Values We have come to value: Individuals
More informationAgile Development Overview
Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others
More informationWaterfall to Agile. DFI Case Study By Nick Van, PMP
Waterfall to Agile DFI Case Study By Nick Van, PMP DFI Case Study Waterfall Agile DFI and Waterfall Choosing Agile Managing Change Lessons Learned, Sprints Summary Q and A Waterfall Waterfall Waterfall
More informationNew Developments in an Agile World: Drafting Software Development Agreements. By: Paul H. Arne 1,2
New Developments in an Agile World: Drafting Software Development Agreements By: Paul H. Arne 1,2 A few months before this article was prepared, a group of senior IT professionals from some of the largest
More informationAgile Project Management By Mark C. Layton
Agile Project Management By Mark C. Layton Agile project management focuses on continuous improvement, scope flexibility, team input, and delivering essential quality products. Agile project management
More informationDigital Transformation of the Enterprise for SMAC: Can Scrum help?
Digital Transformation of the Enterprise for SMAC: Can Scrum help? Scope of this Report October 2015 In this paper, we consider the impact of the digital transformation on software development and whether
More informationWhat does it mean to be Agile. Marek Majchrzak, Andrzej Bednarz Wrocław, 11.10.2011
What does it mean to be Agile Marek Majchrzak, Andrzej Bednarz Wrocław, 11.10.2011 2 Traditional methods Assumptions: The customer knows what he wants The developers know how to build it Nothing will change
More informationWhat Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?
Skalierung von agilen Prozessen Ein Erfahrungsbericht OOP 2003 Jutta Eckstein Nicolai Josuttis This Talk is About Agility Large Experience Success Copyright 2003 by N. Josuttis and J. Eckstein 2 1 What
More informationUSCIS/SPAS: Product Backlog Items and User Stories 4/16/2015. Dr. Patrick McConnell
USCIS/SPAS: Product Backlog Items and User Stories 4/16/2015 Dr. Patrick McConnell July 9, 2015 1 First, an old joke.. I can t identify an original source for this cartoon. As best as I can tell, the art
More informationCS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman
CS435: Introduction to Software Engineering! " " " " " " " "Dr. M. Zhu! Chapter 3! Agile Development! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman
More informationhttp://www.bigvisible.com
Sustainable Pace How can we help our teams achieve it? http://www.bigvisible.com 2011 BigVisible Solutions, Inc. Facilitator Bob Sarni 25 years focused on team development, leadership mentoring and coaching,
More informationDeveloping the Agile Mindset for Organiza7onal Agility. Shannon Ewan Managing Director, ICAgile @ShannonEwan, @ICAgile
Developing the Agile Mindset for Organiza7onal Agility Shannon Ewan Managing Director, ICAgile @ShannonEwan, @ICAgile 1 Who is here today? And Why? 2 To kick things off What is Agile? 3 Agile is a mindset
More informationAgile Testing Overview
Copyright (c) 2008, Quality Tree Software, Inc. 1 Agile Myths, Busted Contrary to popular myth, Agile methods are not sloppy, ad hoc, do-whatever-feelsgood processes. Quite the contrary. As Mary Poppendieck
More informationCOMP 354 Introduction to Software Engineering
COMP 354 Introduction to Software Engineering Greg Butler Office: EV 3.219 Computer Science and Software Engineering Concordia University, Montreal, Canada Email: gregb@cs.concordia.ca Winter 2015 Course
More informationAGILE BUSINESS INTELLIGENCE
AGILE BUSINESS INTELLIGENCE OR HOW TO GIVE MANAGEMENT WHAT THEY NEED WHEN THEY NEED IT Evan Leybourn Author Directing the Agile Organisation Melbourne, Australia evan@theagiledirector.com INTRODUCTION
More informationProcesses in Software Development. Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008
Processes in Software Development Presented 11.3.2008 by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008 Software hall of shame Classic mistakes ACM Code of Ethics
More informationITSM Agile Intro Feb 5, 2015
ITSM Agile Intro Feb 5, 2015 Introduction You and Me Some Agile Background Fun Conversation!!! 1 Who Are You? Experience with Agile? Using some form of Agile? Raise your hand if. Me and Agile Recent Work
More informationAgile Project Management Jim Highsmith. Chapter 1. The Agile Revolution
Agile Project Management Jim Highsmith Chapter 1 The Agile Revolution Ultimate customer value is delivered at the point-of-sale, not the point-of-plan The key opportunity, uncertainty, and risk resides
More informationAgile Software Development in the Large
Agile Software Development in the Large GI-Vortrag Braunschweig Jutta Eckstein Nicolai Josuttis What Does Large Mean? Large in... scope time people money risks We focus on Large Teams which implies everything
More informationSOFTWARE TESTING. A Craftsmcm's Approach THIRD EDITION. Paul C. Jorgensen. Auerbach Publications. Taylor &. Francis Croup. Boca Raton New York
SOFTWARE TESTING A Craftsmcm's Approach THIRD EDITION Paul C. Jorgensen A Auerbach Publications Taylor &. Francis Croup Boca Raton New York Auerbach Publications is an imprint of the Taylor & Francis Group,
More informationGrowing testing skills using the Agile Testing Ecosystem. Dr Lee Hawkins Principal Test Architect Dell Software, Melbourne
Growing testing skills using the Agile Testing Ecosystem Dr Lee Hawkins Principal Test Architect Dell Software, Melbourne Who am I? 16 years at Quest Software / Dell Software in Melbourne, Australia. Really
More informationThis handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:
AGILE HANDBOOK OVERVIEW WHAT IS THIS? This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people: Someone who is looking for a quick overview on
More informationSchools of Software Testing
Schools of Software Testing bret@pettichord.com www.pettichord.com March 2007 Copyright 2003-2007 Bret Pettichord. Permission to reproduce granted with attribution. 2 What is a School? Defined by Intellectual
More informationAgile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective
Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective Iteration Advantages: bringing testing into the development life
More informationTest Plan Evaluation Model
Satisfice, Inc. http://www.satisfice.com James Bach, Principal james@satisfice.com Version 1.12 9/25/99 Test Plan Evaluation Model The answer to the question How good is this test plan? can only be given
More informationHow To Understand The Limitations Of An Agile Software Development
A Cynical View on Agile Software Development from the Perspective of a new Small-Scale Software Industry Apoorva Mishra Computer Science & Engineering C.S.I.T, Durg, India Deepty Dubey Computer Science
More informationThe Business Case for Scrum
The Business Case for Scrum Image provided by Dreamstimecom Peter Borsella, PMP Introduction Why Scrum? From what you have heard about Scrum, what are some of the reasons why an organization would choose
More informationAgile Project Management
Agile Project Management Projekt-Kick-Off-Tage Hochschule Augsburg Martin Wagner, 15. März 2011 TNG Technology Consulting GmbH, http://www.tngtech.com Agile project management with Scrum Agenda Software
More informationRapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
More informationDistributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre
Distributed Agile Development Bapiraju Nandury Product Development Manager Bangalore Development Centre Agenda Distributed / offshore Development Agile Methods Distributed Agile Development Goals of this
More informationwww.testing-solutions.com TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes
www. TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes What is Agile Development? There are various opinions on what defines agile development, but most would
More informationAgile Software Engineering Practice to Improve Project Success
Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at
More informationLearning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden
Learning and Coaching Agile Methods Görel Hedin Computer Science Lund University, Sweden Background Two undergraduate courses at Lund University XP course (mandatory, 2nd year, around 100 students) Coaching
More informationContinuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited
Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation
More informationAristotle in an Agile World. By Ben Allen
Aristotle in an Agile World By Ben Allen Introduction Aim of the presentation is to introduce the agile mindset to software testers, using ancient philosophy as a reference point. What do ancient philosophers
More informationAgile Software Development
Agile Software Development Use case for Agile Software Development Methodology in an Oil and Gas Exploration environment. White Paper Introduction No matter what business you are in, there are critical
More informationAgile processes. Extreme Programming, an agile software development process
Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
More informationAgile Software Development Methods, Comparison with Traditional Methods & Implementation in Software Firm
Agile Software Development Methods, Comparison with Traditional Methods & Implementation in Software Firm Neeraj Bhadoriya 1, Neha Mishra 2, Alok Malviya 3 1,2 Dept. of Information Technology Institute
More informationThe Agile Manifesto is based on 12 principles:
The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered
More informationThe REAL Agile Testing Quadrants (as we believe they should always have been)
Copyright 2014, James Bach / Satisfice and Michael Bolton / DevelopSense 09 Sep 14 The REAL Agile Testing Quadrants (as we believe they should always have been) James Bach Satisfice http://www.satisfice.com
More informationAGILE - QUICK GUIDE AGILE - PRIMER
AGILE - QUICK GUIDE http://www.tutorialspoint.com/agile/agile_quick_guide.htm Copyright tutorialspoint.com AGILE - PRIMER Agile is a software development methodology to build a software incrementally using
More informationBottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles
Master thesis in Applied Information Technology REPORT NO. 2008:014 ISSN: 1651-4769 Department of Applied Information Technology or Department of Computer Science Bottlenecks in Agile Software Development
More informationRole of Agile Methodology in Software Development
Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 10, October 2013,
More informationAgile Project Management: Adapting project behaviors to the software development environment
Agile Project Management: Adapting project behaviors to the software development environment with Bill Doescher, PMP, CSM PrincipalConsultant and Product Development Director Business Management Consultants
More informationDevelopment. Lecture 3
Software Process in Modern Software Development Lecture 3 Software Engineering i Practice Software engineering practice is a broad array of principles, concepts, methods, and tools that must be considered
More informationInformation Management for National Guard Agribusiness Development Teams: An Agile Development Case Study
Information Management for National Guard Agribusiness Development Teams: An Agile Development Case Study Authors: Lynndee Kemmet, Network Science Center at West Point; Ray McGowan, Army CERDEC; C. Reed
More informationEXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT
EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT Cruceru Anca Romanian- American University, Faculty of Management- Marketing, 1B Expozitiei Blvd, Bucharest, cruceruanca@yahoo.com, 0723508894
More informationAgile Projects 7. Agile Project Management 21
Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management
More informationA Quick Overview of Software Engineering. Paul Klint
A Quick Overview of Software Engineering Paul Klint g n i t o qu r o f s ie ch g o t l u o Ap me D pers so wspa ne 2 3 4 Software Engineering is about... Building large software systems Using state-of-the-art
More informationNeglecting Agile Principles and Practices: A Case Study
Neglecting Agile Principles and Practices: A Case Study Patrícia Vilain Departament de Informatics and Statistics (INE) Federal University of Santa Catarina Florianópolis, Brazil vilain@inf.ufsc.br Alexandre
More informationArea and Perimeter: The Mysterious Connection TEACHER EDITION
Area and Perimeter: The Mysterious Connection TEACHER EDITION (TC-0) In these problems you will be working on understanding the relationship between area and perimeter. Pay special attention to any patterns
More informationD25-2. Agile and Scrum Introduction
D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of
More informationFour Schools of Software Testing. bret@pettichord.com www.pettichord.com
Four Schools of Software Testing bret@pettichord.com www.pettichord.com Workshop on Teaching Software Testing, Florida Tech, February 2003 Why Classify Testing Doctrines into Schools? Clarify why testing
More informationOutline. Agile Methods. Converse of Conway s Law. The Silver Bullet Fantasy (Brooks, 1986)
Agile Methods Barry Boehm, CS 510 Lecture Fall 2001 (boehm@sunset.usc.edu) (http://sunset.usc.edu) Outline Silver bullets and lead bullets Information technology trends The dwindling lead-bullet niche
More informationBlack Box Software Testing Fall 2005 Overview for Students
Black Box Software Testing Fall 2005 Overview for Students Cem Kaner, J.D., Ph.D. Professor of Software Engineering Florida Institute of Technology and James Bach Principal, Satisfice Inc. Copyright (c)
More informationProject, Portfolio Management (PPM) for the Enterprise Whose System is it Anyway?
Project, Portfolio Management (PPM) for the Enterprise Whose System is it Anyway? Protecting Your Investment with a Bottom-up Approach Revised December 2012 Heather Champoux, PMP http://epmlive.com Contents
More informationBasic Testing Concepts and Terminology
T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts
More informationAgile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.
Agile Notetaker & Scrum Reference Designed by Axosoft, the creators of OnTime the #1 selling scrum software. Scrum Diagram: Team Roles: roduct Owner: Is responsible for what goes into the product backlog
More informationSession 7 Fractions and Decimals
Key Terms in This Session Session 7 Fractions and Decimals Previously Introduced prime number rational numbers New in This Session period repeating decimal terminating decimal Introduction In this session,
More informationUC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara http://www.cs.ucsb.
CS189A - Capstone Christopher Kruegel Department of Computer Science http://www.cs.ucsb.edu/~chris/ How Should We Build Software? Let s look at an example Assume we asked our IT folks if they can do the
More informationAdopting Agile Project Management - Corporate Culture Must Match (Apr 15)
Adopting Agile Project Management - Corporate Culture Must Match (Apr 15) by Megan Torrance April 20, 2015 If you re contemplating adopting an agile approach, and the thought of implementing new project
More informationAgile Processes and Distributed Projects: Dream or Nightmare?
Agile Processes and Distributed Projects: Dream or Nightmare? Instructor: Kevin Thompson, Ph.D., PMP, ACP, CSP 4100 E. Third Ave, Suite 205, Foster City, CA 94404 650-931-1651 www.cprime.com The leader
More informationAgile So)ware Development
Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast
More informationEXIN Agile Scrum Foundation
Sample Questions EXIN Agile Scrum Foundation Edition September 2013 Copyright 2013 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing
More informationNo Solution Equations Let s look at the following equation: 2 +3=2 +7
5.4 Solving Equations with Infinite or No Solutions So far we have looked at equations where there is exactly one solution. It is possible to have more than solution in other types of equations that are
More informationAgile-Waterfall Hybrid Jessica LaGoy, MS, PMP
Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP About Jess BS Applied Physics, WPI / MS Cybersecurity, UMUC PMP, ITIL, Data Scientist, Tableau, Alteryx Project Experience Data and technology Construction
More informationRapid Software Development
Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery
More informationJava course - IAG0040. Unit testing & Agile Software Development
Java course - IAG0040 Unit testing & Agile Software Development 2011 Unit tests How to be confident that your code works? Why wait for somebody else to test your code? How to provide up-to-date examples
More informationThe Changing Role of Software Tester
The Changing Role of Software Tester Anna Royzman ari16a@gmail.com Abstract In 2008 my company reorganized into product units and adopted Agile process methodology. As a result, my QA manager position
More informationAn Example Checklist for ScrumMasters
An Example Checklist for ScrumMasters Michael James (mj4scrum@gmail.com) 14 September 2007 (Revised 24 July 2012) A Full Time Facilitator? An adequate ScrumMaster can handle two or three teams at a time.
More informationImproving Software Productivity with Agile Methodologies
PROCESSI DI PRODUZIONE E GESTIONE DEL SOFTWARE Improving Software Productivity with Agile Methodologies Ing. Paola Turci Status of SE in the New Millennium To date Current tendency to make software functionalities
More informationAgile Execution for and Beyond IT
Agile Execution for and Beyond IT Fred Koos, PE, PMP, CSM, Pittsburgh PMI VP of Education 31 December 2013 This is an enhanced version of the information presented in the last session at the 11/6/13 Pittsburgh
More informationComparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations
International Journal of Recent Research and Review, Vol. VI, June 2013 Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations Uma Kumari 1, Abhay Upadhyaya
More informationAn Introduction to text-based test automation and the TextTest tool
An Introduction to text-based test automation and the TextTest tool Contentions 1. That there are circumstances where xunit-style testing isn t the best choice. 2. That the text-based approach is an obvious
More informationAgile Software Development. Mohsen Afsharchi
Agile Software Development Mohsen Afsharchi I. Agile Software Development Agile software development is a group of software development methods based on iterative and incremental development, where requirements
More informationGovernments information technology
So l u t i o n s Blending Agile and Lean Thinking for More Efficient IT Development By Harry Kenworthy Agile development and Lean management can lead to more cost-effective, timely production of information
More informationAdvanced Software Engineering Agile Software Engineering. Version 1.0
Advanced Software Engineering Agile Software Engineering 1 Version 1.0 Basic direction A agile method has to be A method is called agile if it follows Incremental the principles of the agile manifest.
More informationAgile Scrum Workshop
Agile Scrum Workshop What is agile and scrum? Agile meaning: Able to move quickly and easily. Scrum meaning: a Rugby play Agile Scrum: It is an iterative and incremental agile software development framework
More informationInfoAdvisors. Is your Data Modeling Workflow Agile or Fragile?
InfoAdvisors Is your Data Modeling Workflow Agile or Fragile? Karen Lopez, InfoAdvisors June 2015 www.datamodel.com karenlopez@infoadvisors.com @datachick This white paper is sponsored by Embarcadero Technologies
More information