33
T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 2005 Avaya Inc. All rights reserved.

T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

Embed Size (px)

Citation preview

Page 1: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

T3 – Tool For Monitoring Agile Development

T3 – Tool For Monitoring Agile Development

Valerie Trapa & Santhpur Rao

July 2006

© 2005 Avaya Inc. All rights reserved.

Page 2: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

2© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Introductions

Valerie Trapa is a developer and architect with the Technology Strategy & Development group at Avaya Communications and a Distinguished Member of the Technical Staff. She is a Sun Certified Enterprise Architect (SCEA) and Java Developer (SCJP). Valerie has over 20 years of software development experience with organizations that include Fortune 100 and start-up companies, NASA, and the FAA. She lives in Boulder, Colorado where she enjoys road biking challenges.

S.N. Rao a software developer with the Technology Strategy & Development group at Avaya Communications. He has over 10 years of software development experience with various organizations doing design and development in various fields like Image Processing, Operation Support Systems, Telecommunications and Medical electronics. He lives in Louisville, Colorado and spends his free time listening to music from old Bollywood movies.

Valerie and Rao have several software patents pending for distributed architectures and licensing.

Page 3: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

3© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Overview

• Motivation

• What is T3

• Agile & T3

• T3 Report

• How to Use T3

• Development History

• Architecture

• T3 Reports & Stories - Sample Projects

• Downloading T3

• Lessons Learned

• Benefits

• References

• Question & Answer

Page 4: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

4© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Goals & Motivation

• Cronos project & data visualization techniques- Identifying critical path

• Provide view of project status- Continuous, real-time approach- Up to date & realistic - Metrics based - Flexible units of measurement (time, function points, story points, etc.)

• Communicate status easily - Complete overview of components & dependencies - Identify bottlenecks - Quantify impacts of content trade-offs

• Build in quality through unit testing - Encourage test driven development - Reflect in planning and scheduling

• Encourage Agile development- Leverage existing tools & practices: JUnit, ANT

Page 5: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

5© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

What is T3 ?

• Light-weight extension of JUnit- Projects using JUnit can easily leverage- Integrated with ANT build tool- Open source, free & extensible

• Associates unit tests with stories - Handles interdependencies – allows stories to be related.

• Provides simple reports - Wide audience: developers, PMs, users, customer - Percent complete metrics overall & by story - Automates & standardizes status reporting - Enables comparison of relative implementation times

Page 6: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

6© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

“Agilefall”

Agile + Waterfall = Agilefall

• Requirements- Traditional specification- Defines inter-group contracts- Supports geographically distributed teams- Baseline

• Design/Build/Test - Early design, then fill in the gaps - Frequent customer & user interaction with change anticipated - Snapshot UAT/iterations/early functionality are reviewed by testers, customers, users - A release has multiple iterations **T3 helps monitor iteration and release progress ** - Allows enough time to incorporate feedback if desired. ** T3 helps analyze impacts ** - Controlled updates

• Release - Final SV Testing - Final UAT Testing - Deployment/GA

Page 7: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

7© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

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.”

Kent Beck James Grenning Robert C. Martin

Mike Beedle Jim Highsmith Steve Mellor

Arie van Bennekum Andrew Hunt Ken Schwaber

Alistair Cockburn Ron Jeffries Jeff Sutherland

Ward Cunningham Jon Kern Dave Thomas

Martin Fowler Brian Marick

Page 8: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

8© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Principles Behind the Agile ManifestoWe follow these principles: “• 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. • 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. • 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.

Page 9: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

9© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 Report – Cronos Prototype Snapshot #1

Page 10: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

10© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 Report – Cronos PrototypeSnapshot #1 Summary

Page 11: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

11© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 Report – Cronos Prototype Snapshot #1 Stories

Page 12: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

12© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 Report – Cronos Prototype Snapshot #1 Details

Page 13: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

13© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Mechanics

• Constructing T3 Test – Method 1

/* Construct a standard JUnit test. */ TestCase sampleJunitTest = new SampleJunitTestCase("sample test case");

/* Construct a T3 test. */ T3Test t3Test = new T3Test(sampleJunitTest,stories, developers, estimatePerTest, status);

/* Run the T3 test. */ T3TestRunner.run(t3Test);

See on-line tutorial for details http://home.comcast.net/~software-without-borders

Page 14: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

14© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Mechanics (Continued)

• Constructing T3 Test – Method 2

/* Construct a standard JUnit Test */public class SampleT3TestCase extends TestCase { public SampleT3TestCase(String name) { …public static Test suite(){ TestSuite suite = new TestSuite(); String[] allStories = new String[]{"A Story", "Another Story"}; String[] developers = new String[]{"Valerie", "Rao"};float estimate = 6F;

/* Construct a T3 test & add it to the suite */suite.addTest(new T3Test(new SampleT3TestCase("group A description"){

public void runTest() throws Exception{ testSuccessfulAssertion(); testError(); } },allStories, developers, estimate, T3Test.STATUS_IN_PROGRESS)); …/* Run the T3 tests */ T3TestRunner.run(suite());

Page 15: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

15© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Development History

• Visualization – T3 Reports- Started with JUnit report, ANT junit-noframes.xsl- Data segmentation- Format

• Content – T3 Tests - Extended JUnit TestCase - Attributes: developer, status, estimates in nebulous units of time, story - Processes -estimation, refactoring, associating stories with tests - Iterations – What worked & what didn't - Dropped schedule tracking, priority

• Integration - JUnit, extended TestRunner - ANT, junitreport task

• Cronos Prototype

Page 16: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

16© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3Test UML

Page 17: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

17© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 TestRunner UML

Page 18: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

18© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 ResultPrinter UML

Page 19: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

19© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Flow Diagram

T3TEST

RUNNER

JUnit Framework

T3TestInstances

T3/Junit XML results

XML Printer

Result Printer

XSL Transformation

Apache Ant

T3 Report

. . F. E

Page 20: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

20© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 Report – Cronos Prototype Snapshot # 2

Page 21: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

21© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 Report – Cronos Prototype Summary Comparison

Snapshot 2 Summary

Snapshot 1 Summary

Page 22: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

22© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 Report – Cronos Prototype Story Comparison

Snapshot 2 Stories

Snapshot 1 Stories

Page 23: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

23© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 Report – Cronos Prototype Details Snapshot #2

Page 24: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

24© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

T3 Report – Cronos Prototype Details Snapshot #1

Page 25: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

25© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Associating Stories with Tests - Cronos

• Decompose Stories into Tasks

Task Story - Monthly usage report summary

Story – Monthly usage report filtered by user segment story

Parse Log X X

Store log info in db X X

Get monthly log info from db X

Get filtered monthly log info from db

X

Store user preferences in db X

Generate report summary X

Generate filtered report X

User input monthly report screen X

User input filtered report screen X

Display monthly report X

Display filtered report X

Page 26: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

26© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

How to Get T3 - Downloads & Source

• External Link- home.comcast.net/~software-without-borders

Page 27: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

27© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Lessons Learned

• Review policy - Approval required for open source projects

• Package & preparation- Compatibility testing with multiple JDKs, and frameworks (ANT, JUnit)-Tutorials

• In Progress- Gather more feedback as usage increases

Page 28: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

28© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Future Directions

• IDE plug-ins • GUI test runner

• Web launch

• Other?

Page 29: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

29© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Top 10 Reasons to Try T3

10. Short Ramp-up Time <10 minutes for JUnit developers

9. Leverages Existing Tools and Practices, e.g., JUnit, ANT

8. Provides Realistic Project Status

7. Promotes Teamwork

6. Provides Traceability

5. Aligns Expectations

4. Identifies Bottlenecks

3. Promotes Test Driven Development

2. Free & Open Source

1. Fun!

Page 30: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

30© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

References

• T3 Tutorial, Download, & Resources-home.comcast.net/~software-without-borders

• T3 Overview and Application- T3 – Tool for Monitoring Agile Development, V.Trapa & S.Rao, IEEE Agile Conference Proceedings, 2006.

• JUnit-www.junit.org

• Agile -www.agile.org-User Stories Applied For Agile Software Development, M. Cohn, 2004.-Agile Software Development, Principles, Patterns, and Practices, Robert C. Martin, 2002

Page 31: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

31© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Question & Answer

Page 32: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

32© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Backup

Page 33: T3 – Tool For Monitoring Agile Development Valerie Trapa & Santhpur Rao July 2006 © 2005 Avaya Inc. All rights reserved

33© 2005 Avaya Inc. All rights reserved. Avaya – Proprietary & Confidential. For Internal Use Only.

Tutorial

How to Deploy T3