Home > Ask the Software Quality Experts > Software Requirements Tools, Use Cases and Strategies Questions & Answers > How to estimate change requests in requirements
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

How to estimate change requests in requirements

Betty Luedke EXPERT RESPONSE FROM: Betty Luedke

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   


>
QUESTION POSED ON: 27 August 2008
I am working in an organization where the requirements come only for a small change request. Can anyone let me know, with an example, how to estimate for a small requirement by using any good estimation technique?


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED CONTENT
Software requirements techniques (Prototyping, Storyboards, Modeling, State transitions)
Requirements practices evolving, but organizations still struggle
Why business analysts are application development key players today
Defining report requirements with use cases
When it comes to requirements, what is 'just enough'?
How requirements use cases facilitate the SDLC
GatherSpace beefs up cloud-based requirements management
Software development life cycle phases, iterations, explained step by step
How to deliver, implement testable software requirements
Excelling in the art and science of requirements elicitation
Software requirements: Moving beyond use cases

Software requirements management
How to improve software project requirements estimates tutorial
Expert shows seven ways to improve your project management abilities
Five roles test managers play in agile development: Tutorial, part one
Quality assurance (QA) and testing's role in requirements
Defining requirements during software project feasibility analysis
How to avoid requirements creep
Software development lifecycle (SDLC) trends 2009: Requirements, agile
Is a requirements freeze in a software project a bad idea?
Top 10 software requirements tips
Seven Steps to Mastering Business Analysis, Ch. 1

Agile requirements management
Agile aims to bridge software requirements communications gap
Approaches to defining requirements within Agile teams
Agile development spawns requirements, management changes
Agile development and software requirements documentation
How agile development affects role of business analyst
Guidelines for handling changes in software requirements

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
requirements analysis  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


It is important to realize that estimation is not an activity in absolutes — your estimates are relative and can improve over time if you learn from your continuing experience.

First and foremost, your estimation "measuring stick" should match your situation and draw on your experience. Estimating techniques range from simple to complex, so keep your estimation process as simple as you can without introducing undue risk. (Other estimating techniques include function points, use case points and user story points, among others.) You can introduce risk if your estimation process is too simplistic, but you have created a bad situation if you choose a laborious estimation process that takes more time to complete than it does to make the requested change.

It is important to realize that estimation is not an activity in absolutes -- your estimates are relative (this change will take more time to implement than this other change) and can improve over time if you learn from your continuing experience. Do you know what makes implementing a particular type of change take more effort than another type of change? If you do, that is a start. Start with your "gut feel" because it is probably based on your experience, but the next step is to determine why one change feels "bigger" than another.

Let me give you a non-IT example to illustrate how you can distinguish a BIG EFFORT from a SMALL EFFORT. In this scenario, you have invited some guests for dinner. One of the guests has a friend visiting and asks if it is OK to bring a friend. So, "Is it OK to bring a friend?" is the requested change. As the chart below illustrates, the impact on the two situations (formal dinner versus buffet) identified is quite different -- just like which module a change is to be applied to can make a huge difference in the amount of effort. (Click the picture for a larger image.)

In your situation, just like the situation above, you need to evaluate the effort it will take to make a requested change. There will be areas that you need to consider when determining your estimate. Start with what you know, but see if any of the following areas apply:

  • Screen
  • Module
  • Interface/Integration
  • Database
  • Documentation
  • Dependency
  • Production
  • Test
  • Deployment
As you look at each applicable area, an inventory -- of screens, modules, interfaces/integrations, database tables, documentation and so forth -- will emerge, but it is also important to note the characteristics of a small/medium/large effort that are applicable across an inventory of screens, modules, etc. Some possible characteristics to consider are:
  • Existing…new
  • Modify…add
  • One change in one place…multiple changes in multiple places
  • Simple…complex
  • Immediate deployment…wait for next release
Also realize that characteristics:
  • Help you remember...help you estimate
  • May relate to effort needed or calendar time needed.
(Document the differentiating characteristics from your current experience, but you get to modify this as you learn more.)

The Change Request Estimate-ActualTemplate below includes estimate and actual for effort and comments. As you will see in a moment, you can use this template to record your estimate-actual information for each change request you work. (Click the picture for a larger image.)

Now that you have a starting point, you can begin improving your estimates. Use your inventory and your "gut hunch" about the effort needed in each of the areas you have identified as important to determine your ability to provide an estimate. Here are a couple of hints:

  • Determine the smallest unit of time that you will estimate a task (1 hour, 1 day, etc.). It is OK if, for example, you overestimate because there is some aspect that you have probably not thought about at all.

  • Software requirements gathering:
    Requirements engineering in an uncooperative environment

    Requirements gathering with storyboards

    Requirements reporting beyond use cases
  • Use the Change Request Estimate-Actual Template to record your estimated and actual effort -- don't cheat! If the requested change took longer (or shorter) than expected, determine why and modify your Estimating Guideline accordingly. These are your Estimating Guidelines! You can improve your future estimates by learning from your "spot-on" estimates and from your "not so spot-on" estimates.


  • Leverage your Change Request estimate and actual to refine your Estimating Guidelines so that you can provide more accurate estimates. The example below illustrates that in Change Request 111 (CR111) what was originally estimated at two hours turned out to be an 18-hour effort because of "whatever was not known/understood/…" at the time. If this learning is reflected in your Estimating Guidelines, the estimate for Change Request 222 (CR222) will benefit from this learning.
  • (Click the picture for a larger image.)

    Summary
    Start with what you know. Record what you guessed and record what you actually did. (You do not have to show this information to anyone!) Your estimates will improve if you remember and learn from your experience. Be honest with yourself and take the time to determine why an estimate was "off." This learning will help you estimate more accurately in the future. Below is a summary of the suggested steps. (Click on the picture for a larger image.)




    Search and Browse the Expert Answer Center
    Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
    Browse our Expert Advice



    Software Quality - Software Maintenance, Software Requirements, Software Standards
    About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
    SEARCH 
    TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

    TechTarget Corporate Web Site  |  Media Kits  |  Site Map




    All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
      TechTarget - The IT Media ROI Experts