|
Procedural - In theory, the system
development
would proceed
as follows:
- Conceptualize the system.
- Define hardware & software (system) functional
requirements.
- Build and code the system.
- Verification.
- Deployment.
Reality - In
practice, however:
- The people who conceptualize the system usually do not
understand all of the details and implications.
- Lots of information like means, extremes, limits, speeds,
flow rates, precise algorithms, numeric precision, resolutions and
accuracies are nonexistent in the systems requirement document.
- Highly detailed plans are rarely followed.
- Requirements mutate as questions are asked and implications
are exposed.
- Some stakeholders are left out of the loop until the end
stages.
- Most projects (especially the successful ones) do not
conform to the initial requirements.
- Most projects do not meet budget and time schedules.
Evolutionary - A much
more practical
approach is:
- Conceptualize the system.
- Define initial hardware & software (system) functional
requirements.
- Iteratively proceed and adapt.
- Modifying system requirements and design as
capabilities, interactions and implications emerge.
- Verification.
- Deployment.
Details - Try to adhere to
the following tenants:
- Enlist functional requirements from all stakeholders.
- Decompose functional requirements into a hierarchy of
system requirements.
- Separate system requirements into hardware requirements and
software requirements.
- Continually increase the granularity of requirements.
- Transform hardware requirements into hardware
specifications.
- Transform software requirements into software functionality.
- Establish regular communication among all stakeholders.
- Promote ongoing collaboration as the system evolves.
- Make well defined iterative advances and review and revise
system requirements as necessary.
- Since the process is evolutionary, define success more in
terms of value of the final system rather than in terms of meeting the
initial requirements and time and cost schedules.
this page last updated: January, 2008
|