Monday, February 10, 2014

Steps of Scheduling in RAD project

The process of creating an accurate development schedule consists of three steps:
1. Estimate the size of the product: estimate the work size
2. Estimate the effort: estimate the effort to do that work
3. Estimate the schedule:  calculate and allocate the work and create schedule
4. Estimation refinement: do some modification while doing the project periodically

1.0 Size estimation

1.1 Function-Point Estimation
A function point is a synthetic measure of program size that is often used in a project's early stages.The number of function points in a program is based on the number and complexity of each of the following items:
  • Inputs
  • Outputs
  • Inquire
  • Logical internal files
  • External interface files
The terminology in the function-point approach is fairly database oriented.

Estimation Tips
  • Allow time for the estimate, and plan it.
  • Use data from previous projects.
  • Use developer-based estimates.
  • Estimate by walk-through.
  • Estimate by categories.
  • Estimate at a low level of detail.
  • Don't omit common tasks.
  • Use software estimation tools.
  • Change estimation practices as the project progresses.
2.0 Estimate Presentation Styles

The way you present an estimate initially can have a huge impact on what happens when the estimate needs changing later.
techniques for presenting schedule estimates

  • Plus-or-minus qualifiers.
  • Ranges.
  • Risk quantification.
  • Cases.
  • Confidence factors.

3.0 Effort Estimation

  you'll need an effort estimate in order to know how many people to put on your project; and having an effort estimate makes it easy to derive the schedule estimate. Deriving the effort estimate is a straightforward process.

4.0 Schedule Estimation

A rule of thumb is that you can compute the schedule from the effort estimate by using Equation :
Schedule in months = 3.0 * man-months1/3 

  • Commitment-Based Scheduling 
A few organizations proceed directly from requirements to scheduling without creating intermediate
effort estimates.

  • Jones's First-Order Estimation Practice
If you have a function-point count, you can compute a rough schedule directly from that, using a
practice that Capers Jones has described as "first order estimation."

5.0 Schedules

 The schedules are listed in terms of calendar months. They include all the design, construction, and testing time needed to complete a project. They do not include time for requirements specification. Schedules are giving to one or two significant digits; greater precision than that would not be meaningful.

You can compute the average team size by dividing the effort months by the schedule months. The schedules do not attempt to represent the full range of possible combinations of schedules and team sizes

System sizes
The system sizes are in lines of code, which are nonblank, noncomment source statements.

Small projects
The processes don't contain schedules for projects smaller than 10,000 lines of code.

Lines of code
Project sizes in these tables are given in lines of code.

5.1 Shortest Possible Schedules

Shortest possible schedules contain a hat full of extremely optimistic assumptions.

  •  Staffing:Schedules assume that your team has drawn its talent from the top 10 percent of the talent pool.
  • Management : These schedules assume that the project has ideal project management, and that the developers' time isn't diverted into activities unrelated to technical development work.
  • Tool support : Advanced software tools are available, and the developers have unlimited access to computer resources.
  • Methodology : The most time-efficient development methods and development tools are also used.
  • Compression : These schedules have been compressed as much as possible below the nominal
    schedules for this set of assumptions.
Two facts of life :
1. There is a shortest possible schedule, and you can't beat it.
At some point, adding more software developers slows a project down instead of making it faster.
2. Costs increase rapidly when you shorten the schedule below nominal.
Once your tools and methods are in place, you can reduce your schedule simply by increasing the
number of developers or the amount of overtime.
5.2 Efficient Schedules
 The efficient schedules assume that you do most things right, but they stop short of making the ideal-case assumptions that underlie the shortest possible schedules.

What to Do First with the Ballpark Schedules
That's actually the best thing to do because it's the best way to learn about your projects. If the numbers in the tables estimate higher or lower than your last project, you'll know how to calibrate them before you use them to estimate your next project.