You are on page 1of 3

UNIT - I

Conventional Software Management: The waterfall model, conventional software


Management performance. Evolution of Software Economics: Software Economics,
pragmatic software cost estimation.

The waterfall models


Five necessary improvements for waterfall model are:

1. Program design comes first

Begin with Program Designers:

- Initiate the design process with program designers rather than analysts or programmers.

- Design, define, and allocate data processing modes, even if there's a risk of being wrong.

- Allocate processing functions, design the database, allocate execution time, define interfaces and
processing modes with the operating system.

- Describe input and output processing and define preliminary operating procedures.

2. Document the design

Write Overview Document:

- Create an overview document that is understandable, informative, and current.

- This document should provide a basic understanding of the system for every worker on the
project.

- Emphasize the importance of documentation.

- Each designer needs to communicate with others, including interfacing designers, managers, and
possibly customers.

- During the early phases, the documentation itself is the design.

- Documentation supports later modifications by separate teams (test, maintenance, operations)


that may not be software literate.

3. Do it twice.

- Develop the software in two iterations.

- The first version allows the team to identify and address trouble spots in the design quickly.

- Model alternatives, forget straightforward aspects not worth studying, and arrive at an error-free
program.

- The second version is the one delivered to the customer for operational deployment.
4. Plan, Control, and Monitor Testing:

- Recognize testing as a significant user of project resources.

- Address testing as a phase of high risk in terms of cost and schedule.

- Prior recommendations aim to uncover and solve problems before entering the test phase.

- Employ a team of test specialists not involved in the original design.

- Use visual inspections to spot obvious errors, test every logic path, and perform the final checkout
on the target computer.

5. Involve the Customer:

- Engage the customer formally at various points before final delivery.

- Three critical points include a "preliminary software review" after the preliminary program design
step, a sequence of "critical software design reviews" during program design, and a "final software
acceptance review."

Software Economics
Software costs are influenced by five key factors:

1. **Size**: Measured by source instructions or function points.

2. **Process**: Efficiency in avoiding wasteful activities.

3. **Personnel**: Experience in computer science and application domain.

4. **Environment**: Tools and techniques for efficient development.

5. **Quality**: Features, performance, reliability, and adaptability.

Cost-effort relationship shows diseconomies of scale due to the process exponent being greater than
1.0, meaning larger projects cost disproportionately more. Over time, technology advancements in
tools, components, and processes have improved economies of scale, especially in large, long-lived
projects or businesses with multiple similar projects

Pragmatic software cost estimation


Highlights challenges in software cost estimation, emphasizing the lack of well-documented case
studies for projects using iterative development and the inconsistency in defining metrics and units
of measure.

Debates within the industry centre around the choice of cost estimation models, the measurement
of software size using metrics like source lines of code or function points, and the criteria for a good
estimate.
Several popular models are mentioned, with COCOMO being noted for its openness and
documentation.

The real-world use of cost models tends to be bottom-up, with project managers defining target
costs and adjusting parameters to justify them.

A good software cost estimate is described as one that is supported by various project teams,
accepted by stakeholders, based on a well-defined model and relevant project experience, and
detailed enough to assess key risk areas objectively.

The ideal estimate is suggested to derive from a mature cost model with an experience base
reflecting multiple similar projects executed by the same team with mature processes and tools.

You might also like