Saturday, January 22, 2005

The Important Stages of the SDLC

Explain why the first phases of the Software Development Life Cycle (SDLC) are more important than the later steps. Reasons why they are and/or reasons why they are not.

Explain why the first phases of the SDLC are more important than the later steps.

Setting: Large company with deep pockets.

Why: The first three phases in the text is very important as it is the foundation upon which the project is based and are the most important. A great deal of leg work in preparation is required. It requires a great deal of time and effort to compile and analyze the project long before a single line of code is written.


STAGE 1 DETERMINATION OF SCOPE AND OBJECTIVES
I believe that this is self explanatory.

STAGE 2 SYSTEMS INVESTIGATION AND FEASIBILITY STUDY
This phase in the text is very weak in its explanation. It is basically a simple analysis "Do we think we have the resources, man powers and money to do this?" What assets can we utilization, sharing or do we need to acquisition of new capital hardware and/or expenses?

STAGE 3 SYSTEMS ANALYSIS
There are a lot of variation on what needs to do at this stage. I agree with what has been published about this phase, however it is not all inclusive. There are additional items that need to be look at during this phase.
  • Risk analysis: (to company, people, process)
  • Security Analysis (to company, people, process)
  • Impact Analysis (to company, people, process)
  • Regulatory Analysis (for company, people, process)
  • Company Policy Analysis (for company, people, process)
  • What are the Bench marks, water marks, goals achievement points (for company, people, process)

STAGE 4 SYSTEMS DESIGN
Wow, now we get to start writing code...


Reasons why they are and/or reasons why they are not.

As with anything situation dictates the need. The bottom-line is there is no magic bullet for all situations. The reading text SDLC theory is great for a large organization with really deep pockets and does a good job of keeping the giant wheel balanced.

For the small projects, a lot can be knocked out with simple evaluations of the situation, it's impact and gains. An elaborate SDLC is not required in many cases, and would be too costly for the smaller projects. The need for a structured development process should be used, but not in all cases.

Examples a user needs to convert data from one data source to another. This is a one time thing and will not be needed again. A quick assessment by the developer that it will only take about 8 hours to do the data conversion by writing a small program. The SDLC process would be too much over kill as one can quickly assess that all the above analysis is not needed.

So bigger projects SDLC is a good fit, but may require a bit of modification. SDLC for smaller projects can be skipped for the most part as the assessment can determined that the SDLC is not needed in its entire form.


No comments: