So if the elaboration phase is successful, we then move
to the construction phase, which is our third phase. And
the construction phase is basically the phase in which most
of the actual development occurs. In short, all the features considered
are developed. So we'll continue with our car metaphor that
we used for the prototype. And in this case we
will have our complete car ready. Not only the features
are developed but they're also thoroughly tested. So we have performed
quality assurance. We have verified and validated the software,
the system and we know that it works correctly. Or
at least that it works correctly as far as
we can tell. So, in general, the construction phase is
the phase in which there is a shift in
emphasis from intellectual property development
to product development. From ideas
to products. So, what is the outcome of the
construction phase? Well, basically the construction phrase produces a product
that is ready to be deployed to the users. Specifically,
the phase generates the following outcomes. First of all, at the
end of this phase, all the use cases have been
realized with traceability information. What does that mean? It means that
not only all the functionality expressed by the use cases
have been implemented, but also that we have traceability information from
the use cases, to the different artifacts. So for example,
we know which part of the design realizes which use case.
We know which part of the implementation is related to a
given use case. Which use cases were derived from a use
case, and so on and so forth. And in this way
we can trace our requirements throughout the system. Throughout the different
artifacts that were developed during the software process. As we were
saying, we also have complete software product here, which is integrated
on all the needed platforms. Since the system, the software product,
has to be thoroughly tested, we will also have a complete
set of results for our tests. As part of this
phase, we will also finalize the user manual, so you'll have
a user manual ready to be provided to the users, and
ready to be used. And finally, we will have a complete
set of artifacts that include design documents, code, test cases, and
so on and so forth, so basically all of the artifacts
that have been produced during the development process. So roughly speaking,
we can consider the product that is produced at the end
of this phase as a typical beta release. So in case
you're not familiar with that, a beta release is an initial
release normally meant for a selected subset of users. So it
is something that is not quite yet ready for primetime, but
almost. So let's see also in this case, what are the evaluation
criteria for the construction phase. So how do we assess, that
this third milestone has been accomplished, successfully? We pretty much have
a complete product ready to be shipped right? So the first question
we want to ask is, whether the product is stable and mature
enough to be deployed to users. At the end of this
phase it has to be. Are the stakeholders ready for the
transition into the user community? Are we ready to go from development
to production? Are the actual
resource expenditures versus the planned expenditures
still acceptable? So what this means is that at this point we
can really assess whether our estimates were accurate enough with respect
to what we actually spent for the project up to this point.
So unless we can answer in a positive way to
all these questions, the transition might be postponed by one release.
Because that means that we're still not ready to go
to the market. We're still not ready to deploy our product.