Quality Assurance & Software Testing News
   
Main Menu
  • Home
  • Topics
  • Submit News
  • Your Account
  • Sections
  • Recommend Us
  • Members List
  • Stats
  • Top 10

  • AnnouncementPowerful Metrics for Developers
    Posted by admin on Wednesday, March 03 @ 08:53:36 PST
    Contributed by Unregistered

    Powerful Metrics for Developers





    MONTHLY NEWSLETTER

    February 2010 - Monthly Newsletters

    Powerful Metrics for Developers

    Insanity is defined as "doing the same things over and over and expecting a different result". As a developer, it is easy to get into a rut of doing the same thing over and over again but never really improving your development process or identifying things that can aid in bringing real success to your job. To improve, we need to understand our goals and measure our progress towards them. This article discusses how to develop metrics that aid you in achieving specific goals.

    What are Powerful Metrics?

    Metrics are simply a way to measure specific things you are doing, but you could create hundreds of irrelevant metrics that really don't move you any closer to solving your everyday problems. Powerful metrics are a small set of indicators that are targeted to help you accomplish a specific set of goals.

    Metrics Driven by Specific Goals

    Before defining your metrics, ask yourself "What goal(s) am I trying to accomplish?", then write your goals down. For example, typical goals for a developer might be to:

    • Improve my estimating skills
    • Reduce defect re-work
    • Ensure that my code is tight and re-usable

    Now that we have our goals defined, let's figure out how we can create a set of metrics to help us accomplish them.

    “Improve my estimating skills"
    To do this, you first need to record the actual time you work on assigned tasks as compared to the original estimates. The difference between the estimate and actual is the "variance". At the end of a project, determine your overall variances to determine how well you track against estimated hours. If you find that your variances are over 10%, consider buffering your estimates on the next project by the variance amount. For example, take the example below:

    Release Tasks Estimated Hours Actual Hours Variance Variance Percent Comments
    Release 1.0 (Tasks assigned to me) 360 450 90 25% overage In Release 2.0, buffer your estimates by 25%
    Release 2.0 (Tasks assigned to me) 500 460 40 8% underage Because of the buffer, you came in under estimate

    In the example above, buffering your estimates allow you to become a better estimator. After tracking this for a few releases and buffering your estimates, you will begin providing more accurate estimates. If your team is using Software Planner, you can run variance reports that automatically calculate the information above, below is an example report:

    “Reduce defect re-work”
    Software releases often take much longer than needed because defects are not resolved on the first round and it adds time to the release timeline when developers have to fix the same issue multiple times and testers have to regress those changes over and over again. Many times defects are re-worked 5 or more times before they are correctly fixed. To resolve this issue, you must first have an appreciation for how often this is happening. One strategy for this is to add a field to your defect tracking solution that indicates that a defect is being re-worked. If your defect tracking solution has auditing capabilities, it should be easy to produce a report or dashboard that counts the number of times defects are re-worked. Below is a dashboard generated from Software Planner that shows defect re-work:

    By knowing this, you can work on reducing re-work by employing these techniques:

    • Better steps-to-reproduce - Many times re-work happens because the tester has not provided enough steps to reproduce the issue consistently. Work with your QA team on providing really great reproducible steps. Even better, have them record the steps into a movie that show how to reproduce the issue. This can quickly be done by using Jing (http://www.jingproject.com), a free utility that allows you to record an issue and it creates a link so that the developer can see it in action.

    • Better Unit Testing - Sometimes developers rush through the development and do not fully test it before sending it back to QA. This takes discipline, but if you take the time to fully test it before sending it back to your QA team, it will save you time in the long run.

    • Peer Code Review - Another set of eyes on your code can help you reduce re-work. Consider asking a peer to review your code before compiling it and sending it to your QA team. You can speed up code reviews by using tools like Code Collaborator.

    “Ensure that my code is tight and reusable”
    To do this, you must do peer code reviews. By having others inspect your code, you will begin to write tighter and more reusable code. To measure the effectiveness of this, measure the number of defects found during code review versus defects found during quality assurance. This will quickly identify how code review leads to a reduction in defects found during QA, which is more costly to fix than during development. Keep track of code reviews and defect statistics, below is an example:

    Developer Release # Code Reviews # Defects from Code Review # Defects in QA # Defect Total
    Jacob Holly Release 1.0 10 50 50 100
    Bill Stuart Release 1.0 0 0 125 125
    Cindy Mullis Release 1.0 20 60 20 80
    Bill Baxley Release 1.0 5 75 20 95

    You can speed up code reviews by using tools like Code Collaborator.

    Summary

    Dedicate yourself to improving your job by identifying your goals and tracking metrics that help you determine how you are trending towards your goals. The metrics listed above work fine for my team but I would like to hear what metrics you find are helpful in your organization. To communicate that to me, please fill out this survey.

    If we get great feedback from this, we will publish the results in our next month's article so that we can all learn from each other.

    Sign Up Today

    Start improving your project efficiency and success by signing up for our monthly newsletters today.

    Want a FREE BOOK of code review tips from Smart Bear Software?

    You may not realize it, but Software Planner has a sister - it's Smart Bear Software. Both companies are owned by AutomatedQA and our teams relish helping developers deliver software reliably and with high quality. Smart Bear’s Code Collaborator tool helps development teams review code from anywhere, without the usual grunt-work and pain that often accompany peer code review.

    Bugs cost 8-12 times less to fix if found in development rather than QA (and 30-100 times less if found in development rather than after release). And of course bugs found in development mean less time spent chasing them down for QA folks! Smart Bear believes so strongly in code review that they will send you a free book of code review tips. They conducted the world’s largest case study of peer code review with Cisco Systems, spanning 2500 code reviews, and the book presents these findings along with other peer review best practices.

    If you know anyone who might be interested, please pass this information on to them -they can visit www.CodeReviewBook.com?SWPnews to request a copy of their own!

    Helpful Software Testing Tools and Templates

    Below are some helpful software testing resources and templates to aid you in developing software solutions:

    About the Author

    Steve Miller is the Vice President of ALM Solutions for AutomatedQA. With over 25 years of experience, Steve has extensive knowledge in project management, software architecture and test design. Steve publishes a monthly newsletter for companies that design and develop software. Be sure to check out our other newsletters.
    Tools for Managing the Software Development Lifecycle

    Sponsored Link

    www.SoftwarePlanner.com
    Software Planner is an award winning web-based application lifecycle management (ALM) solution and is perfect for managing software testing projects. Track requirements, defects, test cases, support tickets, and share documents. Provides project management, with importing/exporting from Microsoft Project®, customizable dashboards and bi-directional traceability reports. Integrates with most major automated testing tools. Download the free trial today.

    Awards:
    Best ALM/QA Tool | Best Project Management Solution | Best Bug and Defect Tracking Tool | SD Times Top 100 | Best Performance/Test Tool
    AutomatedQA Corporation
    7935 E. Prentice Ave, Suite 105
    Greenwood Village, CO 80111 USA
    Tel:+1 303.768.7480


     
    Related Links
  • More about Announcement
  • News by admin


    Most read story about Announcement:
    OpenSTA : applications heavy load or stress tests with performance measurement


    Last news about Announcement:


    Printer Friendly Page  Send this Story to a Friend




  • © 1998-2006 by BetaSoft Inc.