Sunday, December 30, 2007

Introduction

Measure twice, cut once   Questions
  Look before you leap

What do these sayings have in common?

They're about thinking before acting.

Why? Because it saves time, money, effort and embarrassment.

It's plain common sense, yet, when it comes to software development, this common sense seems to disappear.

All too often, projects start before thought has been put into the project's purpose, its desired results, and how its success will ultimately be measured.

What is Requirements Gathering?

Requirement gathering is a process of collecting the user needs to solve a problem or issues and achieve an objective.

It is basically a software capability needed by the user to solve a problem or achieve an objective.

This is really an important phase/milestone in a project lifecycle. Because if the requirement gathering is not done properly/completely, all below hierarchy phases get incomplete. No matter how best the design, until unless requirements are incomplete.

It is not quite accurate to say that requirements are in the minds of clients; it would be more accurate to say that they are in the social system of client organization. They have to be invented, not captured or elicited and that invention has to be a cooperative venture involving the clients, the users and developers. The difficulties are mainly social, political and cultural and not technical.

Types of Software Projects

A minute saved at the start is just as effective as one saved at the end

  • New Development: Services & products
  • Implementation: customization on existing software (service or product)
  • Research: proof of concept for new ideas
  • Bug Fixing & Modifications: on existing software (service or product)
  • Maintenance & Support: on existing software (service or product)

Software Development Lifecycle

Tell me and I'll forget,

show me and I may remember,

involve me and I'll understand

For more info about Software Development Lifecycle refer to SDLC.

Project SDLC

Why do Projects Fail?

The sooner you begin coding the later you finish

A Standish group research report says that, 31% of all projects are cancelled before they ever get completed and nearly 53% of projects cost almost twice their original estimates. The reasons are:

  • 31% of all projects are cancelled before they ever get completed
  • 53% of projects cost almost twice their original estimates

Reasons are:

  • Users have trouble in explaining what they want
  • Developers have trouble in translating user requirements into working programs and databases
  • Both the business worlds and technology worlds are constantly changing

“If you don’t know where you’re going, any road will take you there”

- Lewis Carroll