Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons



All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 1 (more)

Metrics for Agile Projects

From mittaldeepak01, 3 months ago

1735 views  |  0 comments  |  1 favorite  |  60 downloads
 

Groups/Events

Not added to any group/event

 
 

Privacy InfoNew!

This slideshow is Public

 
Embed in your blog
Embed (wordpress.com)
custom

Slideshow Statistics
Total Views: 1735
on Slideshare: 1735
from embeds: 0* * Views from embeds since 21 Aug, 07

Slideshow transcript

Slide 1: Metrics  for   Agile Projects Presented at  Agile NCR 2008 Conference (March 8, 08) by  Deepak Mittal www.IntelliGrape.com

Slide 2: Speaker back­ground ● 9 years of experience with software development ● became agilist 2 years back when joined Xebia ● Certified Scrum Master ● recently founded IntelliGrape Systems  ● enjoy looking at and evaluating new and exciting  frameworks in java space   http://www.IntelliGrape.com

Slide 3: ”If you can not measure it, you can not  improve it.” Lord Kelvin   http://www.IntelliGrape.com

Slide 4: ”Measure and let it be known that you  are measuring.” ”Measurement drives behaviour.” ”You get what you measure”   http://www.IntelliGrape.com

Slide 5: Session Agenda ● What are Metrics / Diagnostics ● Why are Metrics so important for Agile Projects ● Various types of Metrics ● Metrics collection tools ● Demo at Metrics reports ● Recommendations / Thoughts   http://www.IntelliGrape.com

Slide 6: Take Away from Session ✔ The importance of Metrics on Agile  Projects ✔ Various Metrics that can be collected  and analysed ✔ Tools used for Metrics collection   http://www.IntelliGrape.com

Slide 7: Quick Poll ● How many people have used Metrics in their  projects : Agile or Non Agile?  ● One useful metric ● One useless metric   http://www.IntelliGrape.com

Slide 8: Metrics Vs Diagnostics ● A metric measures something of direct value to the  business – e.g. Earned Business value per iteration ● A diagnositc measures something of our ability to  produce the thing of value – e.g. Velocity, Code Quality   http://www.IntelliGrape.com

Slide 9: Why do we Measure? ● to inform ● to compare / benchmark ● to motivate ● to improve ● to get CMM certification :)   http://www.IntelliGrape.com

Slide 10: 3 Approaches to Metrics ● Using the wrong metrics – Improper metrics collection besides being  wasteful also skews team­behaviour in counter­ productive ways. e.g. Code Review  Effectiveness, Kloc ● No Metrics at all – how do you improve? ● Using the right metrics   http://www.IntelliGrape.com

Slide 11: Why Metrics are Important for  Agile Projects ● Because we are doing the same thing over and  over again – the same metrics are applicable  through­out the project.  ● Agile projects are all about early feedback which  helps you improve in the project and not only at the  end of the project ● Agile Principle : Plan­> Do ­> Inspect ­> Adapt  (Having metrics help you inspect objectively)   ● http://www.IntelliGrape.com

Slide 12: Why Metrics are Important for  Agile Projects ● Agile projects embrace change – To incorporate changing requirements – you  need a healthy codebase – Evolutionary design against big up­front design  – To refactor code, you need good code coverage  and clearly defined package dependencies – To be able to make frequent releases, you need  continuous integration   http://www.IntelliGrape.com

Slide 13: Quick Re­cap ● Why do we measure ● Metrics / Diagnostics ● Why Metrics are needed on Agile Projects   http://www.IntelliGrape.com

Slide 14: Metrics Classification ● Code  ● Design  ● Project  ● Automation ● Business Value  ● etc   http://www.IntelliGrape.com

Slide 15: Code Metrics ● Cyclomatic complexity  ● Best practices violation  ● Coding standards violation  ● Possible bugs (empty try­catch) ● Code duplication  ● Unit Tests Quality  ● Dead Code (unused variables)   http://www.IntelliGrape.com

Slide 16: Code Metrics Tools ● Checkstyle ● PMD ● Jester ● Findbugs ● Simian   http://www.IntelliGrape.com

Slide 17: Design Metrics ● Distance from Main sequence – measures the  balance between abstractness and instability – # of Abstract Classes & Interfaces – # of Concrete Classes – # of Incoming Dependencies (Affering Coupling) – # of Outgoing Dependencies (Efferent Coupling)  ● Cyclic Dependencies    http://www.IntelliGrape.com

Slide 18: Design Metrics Tools ● jDepend ● Eclipse CAP Plug­in   http://www.IntelliGrape.com

Slide 19: Project Metrics ● Velocity  / Burn­down  ● Rework %  ● Open and Closed Issues ● Defects carried over to next iteration  ● User stories carried over to next iteration ● Obstacles carried over to next iteration   http://www.IntelliGrape.com

Slide 20: Project Metrics Tools ● VersionOne ● ThoughtWorks Mingle ● ScrumWorks ● Atlassian JIRA ● MS Excel   http://www.IntelliGrape.com

Slide 21: Automation Metrics ● Test coverage  ● # of builds in a day  ● Time taken for the build  ● Total builds done / passed / failed  ● Trends  – Code coverage – Checkstyle  – PMD   http://www.IntelliGrape.com

Slide 22: Automation Metrics Tools ● Atlassian Clover ● Cobertura ● CruiseControl ● Maven Dashboard plug­in   http://www.IntelliGrape.com

Slide 23: Business Value Metrics ● EBV – Earned Business Value  ● RTF – Running Tested Features ● Potential Value delivered    http://www.IntelliGrape.com

Slide 24: The ”real” Metric Earned Business Value ● Product owner assigns a relative weight to each  user story/feature.  ● Small stories with clearly defined completion  criteria: 100% done or 0% done : binary status   http://www.IntelliGrape.com

Slide 25: Benefits of EBV metric ● No big­upfront design possible because of the  focus on business value ● You build the application in vertical slices than  horizontal layers ● You don't work on layers but features ● Customer sees the value immediately rather than  after months ● Easy to identify when the project hits the point of  diminishing returns   http://www.IntelliGrape.com

Slide 26: Business Value Metrics Tools ● MS Excel ● ThoughtWorks Mingle ● VersionOne   http://www.IntelliGrape.com

Slide 27: Demo : Metrics of a real project Show Code, Design and Automation Metrics on Magnolia CMS   http://www.IntelliGrape.com

Slide 28: Checkstyle   http://www.IntelliGrape.com

Slide 29: Cobertura : Code coverage   http://www.IntelliGrape.com

Slide 30: Copy Paste Detection   http://www.IntelliGrape.com

Slide 31: FindBugs   http://www.IntelliGrape.com

Slide 32: jDepend : Design Metrics   http://www.IntelliGrape.com

Slide 33: PMD Reports   http://www.IntelliGrape.com

Slide 34: CruiseControl Metrics   http://www.IntelliGrape.com

Slide 35: Metrics Demo : Recap ● Maven dashboard report ● Cyclic dependencies ● Good Builds / Bad builds ● Code coverage ● Build break­down ● Distance from Main  ● Checkstyle Sequence ● PMD ● Abstractness ● Findbugs: Possible Bugs ● Cyclomatic Complexity Code Duplication ● ●   http://www.IntelliGrape.com

Slide 36: Demo : Burn­down chart Show  Burn­down Chart, Velocity and Velocity trends,  etc from a past project   http://www.IntelliGrape.com

Slide 37: Sprint Burn down Chart   http://www.IntelliGrape.com

Slide 38: Velocity   http://www.IntelliGrape.com

Slide 39: Open and Closed Issues   http://www.IntelliGrape.com

Slide 40: Release Burn­down Chart   http://www.IntelliGrape.com

Slide 41: Demo of EBV Metric ● EBV Metrics Excel Sheet   http://www.IntelliGrape.com

Slide 42: Benefits of Metrics Collection &  Analysis on my Projects ● Keeping a check on codebase health ● Estimation for future sprints ● Project planning ● Velocity Trends and Insights ● Tells us when to re­factor ● Code metrics used as the most important factor  when doing a big refactoring   ● http://www.IntelliGrape.com

Slide 43: Metrics Collection Tools List ● ScrumWorks ● Cobertura ● FindBugs ● Code Analysis Plugin ● PMD ● Maven Dashboard ● Checkstyle ● Simian ● Clover ● ThoughtWorks Mingle ● jDepend ● VersionOne ● Jester ● Atlassian JIRA   http://www.IntelliGrape.com

Slide 44: Useless Metrics ● Kloc & Defects / Kloc  – doesn't make sense – promotes copy­pasting ● Time/Effort spent in various phases of the project   http://www.IntelliGrape.com

Slide 45: Recommendations ● Collect minimum number of metrics that will provide  all information necessary to meet business goals –  Measure ”just enough”. ● Look at Metrics in perspective ● Choose Metrics carefully ­ applying waterfall  metrics to agile projects can do more harm than  good ● Metrics collection should be as automated as  possible   http://www.IntelliGrape.com

Slide 46: References / Attribution ● Neal Ford's presentation on Agile Metrics ● David Nicolette's presentation on Agile Metrics ● Appropriate Agile Measurement ● Hemant Saraf : for excellent review & ideas   http://www.IntelliGrape.com

Slide 47: Feedback dmittal@IntelliGrape.com http://www.IntelliGrape.com http://blog.IntelliGrape.com   http://www.IntelliGrape.com

Slide 48: License                This work is licensed under the Creative Commons Attribution­Noncommercial­Share Alike  3.0 License   http://www.IntelliGrape.com