Aot Version 2
Transcript of Aot Version 2
-
8/12/2019 Aot Version 2
1/26
IBM Academy of Technology
Second Agile Methods and Practices Conference
McKimmon Center at NC State UnivJune 23-25, 2008Agile@IBM
Agile DevelopmentA System Test Perspective
Dave [email protected]
WPLC (Lotus)
mailto:[email protected]:[email protected] -
8/12/2019 Aot Version 2
2/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM2
Premise of the Talk
Agile development may be one of the keys to the future success of IBMsoftware development
Much focus has been put into the development, unit test, and function testaspects of the Agile development process
Very little documented focus in the Agile community on system test
System Test is usually the phase where IBM products are first tested usingCustomer-like configurations, loads, data, etc.
Lack of System Test involvement leads to products that may be theoreticallysound but the products may not meet Customers expectations
Involving System Test increases the length of the cycle times needed forcomplex products
-
8/12/2019 Aot Version 2
3/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
Outline of Talk
Review of the agile process
How the agile process is being implemented inside WPLC products
What is role of system test in the product cycle
What effect does system test have on the agile process
Conclusions
3
-
8/12/2019 Aot Version 2
4/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
Review: The Agile Development Execution Cycle for a Team
4
Decide onUse Cases
DesignSolution
Code
Unit Test
Two main goals of the agile methodology are to minimize development risk and to
increase customer satisfaction by rapidly and continuously delivering software thatcustomers want and need
Time t
-
8/12/2019 Aot Version 2
5/26
-
8/12/2019 Aot Version 2
6/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
Agile Development and Large Projects
All WPLC products are moving to agile development processes
Many of these products are made up of 100s of developers
The developers are split into smaller teams, each focused on an area(e.g., mail router, portlets, base WAS integration, installation, security,etc.)
Each of these individual teams is implementing the agile methodology team meetings, goals, use cases, iterations, etc.
6
-
8/12/2019 Aot Version 2
7/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
Agile Development for a Single Team Time Bound Iteration
7
Decide onUse Cases
DesignSolution
Code
Unit Test
Time t
-
8/12/2019 Aot Version 2
8/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
Agile for Large Numbers of Teams
Each individual team is doing their own work, during a time boundediteration
Several sets of teams are doing their work in parallel during the sametime bounded iteration
The output from each of these individual teams must be mergedtogether during the same time bounded iteration
NOTE: when time gets tight, unit test is often given less attention
8
-
8/12/2019 Aot Version 2
9/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
The Development Execution Cycle for a Product - Time Bound Iteration
9
Decide on
Use Cases
DesignSolution
Code
Unit Test
Decide onUse Cases
DesignSolution
Code
Unit Test
Decide on
Use Cases
DesignSolution
Code
Unit Test
Decide onUse Cases
DesignSolution
Code
Unit Test
Decide on
Use Cases
DesignSolution
Code
Unit Test
Decide onUse Cases
DesignSolution
Code
Unit Test
Time t
Team 1 Team 2 Team 3
Team 4 Team 5 Team n
-
8/12/2019 Aot Version 2
10/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
The Agile Process on a Large Product
teams doiterative
development
Team Integrateindividual output
10
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decide onUse Cases
Integratepieces
Functiontest
Time t
-
8/12/2019 Aot Version 2
11/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
What Am I Trying to Say
The one constant in the previous charts is the iteration time t
During an iteration of length t the individual teams develop their pieces
During an iteration of length t the whole TEAM must integrate all thepieces together to form a usable product
It is often the case that the pieces cannot be integrated until after all theindividual teams are complete
With complex/large products, the number of pieces may be 10-20
Bottom line: there is a lot of work to do during the iteration of length t , just to develop and unit test the pieces and integrate them together; Thesmaller the value for t , the less you can actually do during an iteration
11
-
8/12/2019 Aot Version 2
12/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
Outline of Talk
Review of the agile process
How the agile process is being implemented for large projects
What is role of system test in the agile cycle
What has WPLC tried
Conclusions
12
-
8/12/2019 Aot Version 2
13/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
What are the Goals of System Test?
The Mission of the System Test organization is to efficiently andeffectively validate that Lotus products meet our customers' highexpectations in the areas of consumability, reliability, andinteroperability.
We accomplish our mission by:Test using real, Customer- representative, complex environments
Test the product using interactions that simulate Customer traffic
Test the product using real Customer -like loads, volume of data, numberof transactions per second, number of users, number of logins, etc., and bykeeping the systems running for long periods of time
Test with the same enterprise vendor products our Customers use
13
-
8/12/2019 Aot Version 2
14/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
What does this really mean
Domino approximately 26 configurations, 9+ different operatingsystems or versions, 12+ additional products used in integrationscenarios, terabytes of data, over 1000 defects opened by the systemtest team during the 8.0 release
Portal approximately 25 configurations, 12+ different operatingsystems or versions, 7 different LDAPs or versions, 9 different DBs orversions, 9+ additional products used in integration scenarios, 1000 s ofusers, 100 s of GB of data, over 1100 defects opened by the systemtest team during the 6.1 release
System Test finds defects that our Customers are likely to find whenthey deploy and exercise our solutions
14
-
8/12/2019 Aot Version 2
15/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
The System Test Execution Cycle
15
Install thebuild
Migratethe data
Ramp upthe test
Discovera defect
Debugthe defect
Fix thedefect
Time t
-
8/12/2019 Aot Version 2
16/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
Example: Configuration for ST/Portal
16
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
sDesign
Solution
Code
UnitTest
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
sDesi
gnSolut
ion
Code
UnitTest
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
sDesign
Solution
Code
UnitTest
Decide on
Use Cases
Integratepieces
Functiontest
-
8/12/2019 Aot Version 2
17/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
Focus
Focus on load testing, duration testing, and product integration testing
Focus on edge conditions e.g, when 1000 s of users all login at thesame time, when multiple applications make LDAP requests at thesame time, etc.
Focus on multiple product integration (under load) scenarios thingsoften work well in isolation it is often interactions that cause problems
Focus on volumes of data things work well with 10 users, or whenthere are 10 content elements it is when the numbers get big thatthings get interesting
17
-
8/12/2019 Aot Version 2
18/26
-
8/12/2019 Aot Version 2
19/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
The Agile Process on a Large Product
teams doiterative
development
Team Integrateindividual output System Test
19
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
sDesignSolution
Code
UnitTest
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
sDesignSolution
Code
UnitTest
Decideon
UseCase
s DesignSolut
ion
Code
UnitTest
Decideon
UseCase
sDesignSolution
Code
UnitTest
Decide onUse Cases
Integratepieces
Functiontest
Install thebuild
Migratethe data
Ramp upthe test
Discover adefect
Debug thedefect
Fix thedefect
Time t
-
8/12/2019 Aot Version 2
20/26
-
8/12/2019 Aot Version 2
21/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
Outline of Talk
Review of the agile process
How the agile process is being implemented for large projects
What is role of system test in the agile cycle
What has WPLC tried
Conclusions
21
d f h l d l h d d f
-
8/12/2019 Aot Version 2
22/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
The Hannover Agile Process
22
Team 1
Team 2
Team n
Team 3
FVT
FVT
FVT
FVT
SVT
Timeline
End of Iteration- Outputgiven to customer
Iteration 2 Iteration 3
Team 1
Team 2
Team n
Team 3
FVT
FVT
FVT
FVT
SVT
End of Iteration- Outputgiven to customer
..
SVT
IBM A d f T h l S d A il M h d d P i C f
-
8/12/2019 Aot Version 2
23/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
System Test Lessons from Hannover
Early involvement essential need system test folks on each teamThe output of the iteration was usable by a Customer
Iterations lasted 10-12 weeks
The perceived quality of the final product is better
This would never have worked with 4-6 week iterations
There was one iteration solely focused on bug fixes
23
IBM A d f T h l S d A il M h d d P i C f
-
8/12/2019 Aot Version 2
24/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
The Portal Agile Process
24
Team 1
Team 2
Team n
Team 3
FVT
FVT
FVT
FVT
PVT
Timeline
End of Iteration- Outputgiven to customer
Iteration 1 Iteration 2
Team 1
Team 2
Team n
Team 3
FVT
FVT
FVT
FVT
PVT
End of Iteration- Outputgiven to customer
..
Team n+1
SVTeFVT
IBM A d f T h l S d A il M th d d P ti C f
-
8/12/2019 Aot Version 2
25/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State Univ
June 23-25, 2008 Agile@IBM
System Test Lessons from Portal
Early involvement essential need system test folks on each teamThe output of an iteration was NOT consumable by a Customer
Integration was attempted on last day(s) of an iteration
Cycle time was 4-6 weeks
PVT was a good educational experience for system test team, BUT itdidn t drive the types of bugs we had hoped to find
We modified our approach to system test as the project evolved
Many improvements could be suggested, including that we should havechosen longer iteration cycles
25
IBM A d f T h l g S d Agil M th d d P ti C f
-
8/12/2019 Aot Version 2
26/26
IBM Academy of Technology: Second Agile Methods and Practices Conference
McKimmon Center at NC State UnivAgile@IBM
Conclusions
Agile is important to IBM; it allows us to get products to Customers morequicklyCustomers expect the products we deliver, regardless of the cycle time,to properly deploy and operate in their complex environmentsThe system test discipline drives out a set of problems that other phasesof test cannot discoverSystem test teams must engage early in the development processSystem test teams must be flexible in their approach to testingIteration lengths, t , need to be well thought out and planned.
Agility is NOT code for no planning; more planning, includingintegration planning, is needed for agile development to be successful
26