Thứ Bảy, 8 tháng 2, 2014

Tài liệu Module 12: Introduction to Functional Specifications pdf

Module 12: Introduction to Functional Specifications 431




Setting the Target
Alice: “Would you tell me
please, which way I
ought to go from here?”
Cat: “That depends a
good deal on where
you want to get to.”
Alice: “I don’t much care
where …”
Cat: “Then it doesn’t
matter which way you
go.”
Alice in Wonderland
by Lewis Carroll


Many projects are started informally and are frequently implemented without a
plan. They do not have a well-defined destination. The success of these projects
is questionable from the start.
To ensure the success of your project, you need not only a design process, but
also a method of communicating the details of the desired result — the
destination — to the development team. The vehicle for that communication is
the functional specification.
Slide Objective
To illustrate the importance
of having a well-defined plan
so that the team knows
when it has been
successful.
Lead-in
Any successful project must
have an agreed upon
destination.
432 Module 12: Introduction to Functional Specifications



Goals of the Functional Specification
"
Describe, in explicit detail, the solution to be built
"
Identify the project scope
"
Serve as a primary deliverable of the Planning Phase of
the MSF Process Model
"
Provide the basis for other project plan documents,
such as the project schedule
"
Serve as a form of contract within the project team and
between the project team and the customer
"
Function as a living document during development


The functional specification is the culmination of the design work accomplished
through the Planning Phase of the MSF Design Process. It describes the
solution that is to be developed and provides the design details that the
developers need.
The functional specification also establishes the scope of the project,
identifying what should and should not be included in the application.
Other planning documents, such as the project schedule and project plan, are
created based on the details of the functional specification.
Furthermore, because the functional specification requires the approval of the
team and the customer, it serves as a form of contract among all the
stakeholders.
Although the functional specification describes the solution, it is certainly not a
static document. It can, and should, be modified during the Developing Phase to
reflect any design changes that occur.
Slide Objective
To describe the functional
specification.
Module 12: Introduction to Functional Specifications 433




Baseline Early, Freeze Late
"
Baseline when there is enough information to move
forward
"
Freeze when it is too risky or costly to make additional
changes
"
Avoid analysis paralysis
"
Allow for an iterative versioning process
"
Develop a change-control process


The project team should baseline the functional specification as soon as there is
enough information to move forward and freeze it only when leaving it open to
change poses an unacceptable project risk.
Due to the constant innovation that occurs on a development project, functional
specifications are inherently incomplete. If you spend too much time analyzing
requirements, though, no actual development will get done. By baselining the
functional specification early, you are creating a fairly stable description of the
solution. By freezing it late, you can modify the functional specification as
changes occur.

Remember to enforce some type of change-control process on the
functional specification.

Slide Objective
To describe how the
functional specification
should be treated in terms of
change control.
Lead-in
The functional specification
must be allowed to change
and grow as the project
progresses. The
recommended way of
accomplishing this is by
baselining the functional
specification as early as is
reasonable but freezing it as
late as possible.
Note
434 Module 12: Introduction to Functional Specifications



Benefits of the Functional Specification
"
Clarifies what should be built at an appropriate level of
detail
"
Communicates the solution to all interested parties
"
Drives and records the agreement on the proposed
solution
"
Facilitates parallel development
"
Drives early project trade-offs
"
Assists in managing change during development


The functional specification describes the solution in a clear and precise way so
that the development team can build the solution that the project stakeholders
expect to be built.
The functional specification also serves as a method of communicating the
project’s specifics to the team members, the customer, and all other
stakeholders. It serves as a written agreement on the specific features that are to
be included in this release of the solution.
The functional specification facilitates parallel development by describing what
the product will be; therefore, it is not necessary for one team to await the
output of another team in order to begin building its piece of the solution. To
help prevent integration problems, though, parallel development requires a high
level of communication among the development teams.
The functional specification drives project trade-offs by forcing the team to
make hard decisions early in the development process, when changes are less
risky and costly.
The functional specification is useful as a change-control mechanism during
implementation and development of the solution. If all changes to the solution
features, and the reasons for the change, are recorded in the functional
specification, then it provides a means of tracing changes for the stakeholders.
Slide Objective
To describe the benefits that
a functional specification
brings to a project.
Lead-in
A functional specification is
sometimes seen as process
overhead, but there are
many benefits to having a
one.
Module 12: Introduction to Functional Specifications 435




Activity 12.1: Risk of No Functional Specification


This activity emphasizes the importance of implementing a solution with a
functional specification as well as the difficulties that arise when working
without a completed functional specification.
You will create an origami boat by using the instruments provided to you by the
instructor.
After completing this activity, you will be able to:
"
Articulate the value of a functional specification.

Slide Objective
To introduce this activity.
Delivery Tip
Remember that only some
students should receive the
functional specification.
436 Module 12: Introduction to Functional Specifications



!
!!
!

Functional Specification Creation
"
Contents of the Functional Specification
"
Design Process Output
"
Forms of the Functional Specification
"
Factors That Determine the Form
"
Functional Specification Pitfalls
In this section
In this section


Now that you know what a functional specification is, and some of its benefits,
you will focus on the process and contents of the functional specification.
In this section, you will learn how to create a functional specification and some
ways to communicate the functional specification to the development team.
Slide Objective
To provide an overview of
the topics and activities in
this section.
Module 12: Introduction to Functional Specifications 437




Contents of the Functional Specification
Content Purpose
Vision summary
Design goals
Requirements
Usage
summary
Features
Dependencies
Schedule summary
Issues
Appendixes
What you want the solution to be,
justification for it, and key
high-level constraints
What you want to achieve with the
solution
What you require from the solution
When the solution will be used
and who will use it
What exactly the solution does
Other factors on which the solution
depends
Key dates and deliverables
What risks might impact the
project
Design process output


The typical contents of the functional specification are as follows:
"
The vision summary is a summary of the vision document and includes the
business context for the solution.
"
The design goals describe what the project team and customer want to
achieve with the solution. The development team uses these design goals to
make decisions on such issues as performance, reliability, timeliness, and,
possibly, usability and accessibility.
"
The requirements identify what the users, customer, and other stakeholders
expect the product to do.
"
The usage summary is a high-level aggregation of the usage scenarios
created during the design process, which describe who will use the solution,
when, and how.
"
The features describe each aspect of the solution and how that solution will
accomplish the design goals.
"
The dependencies provide a description of external entities upon which the
solution relies, including high-level items such as interfacing to corporate
systems and low-level items such as a shared component.
"
The schedule summary identifies key interim milestones, deliverables, and
the product ship date.
"
The issues include a list of risks that require external visibility or escalation.
"
The appendixes include the design process outputs that the team used to
develop the functional specification.

Slide Objective
To list and describe the
contents of the functional
specification.
Lead-in
The following core items
compose the functional
specification.
438 Module 12: Introduction to Functional Specifications



Design Process Output
"
Is the basis for the features section
"
Serves as supporting information in the appendix
$
Conceptual design provides future-state usage
scenarios and models
$
Logical design provides business object model, logical
data model, and logical user interface design
$
Physical design provides technology selections,
component specifications, and a deployment model


The outputs of the design process are key contributors to the functional
specification. Conceptual, logical, and physical design each have deliverables
that provide supporting information for the functional specification. This
information should be added as an appendix.
Conceptual design provides the future-state use case models and the usage
scenarios.
Logical design provides the business object model — the services, objects,
attributes, and relationships of the solution. The functional specification should
also include the data design for the data structure as well as the user interface
design.
Physical design provides the topologies, the component specifications, and the
design of the data store. The functional specification should include the
candidate technologies that were selected in physical design. The functional
specification should contain the deployment model with existing and proposed
network, data, and component topologies. The physical user interface design,
however, is generally not included here, because it is incorporated into the
features section of the document.
Slide Objective
To show where the outputs
of the design process fit into
the functional specification.
Lead-in
Throughout the course, we
have been working through
the design process. The
outputs of all of the phases
of the process provide the
foundation for the functional
specification and are
included as appendixes.
Module 12: Introduction to Functional Specifications 439




Forms of the Functional Specification
"
Text documents
"
Web pages
"
Presentation format
"
Annotated screen prints
"
Prototypes
"
Question-and-answer format
"
Electronic mail


A functional specification is often thought of as a rather thick document, but
this does not have to be the case.
The functional specification can be communicated through many different
forms and styles.
Slide Objective
To help the students
understand that the
functional specification
should be in the form that is
best suited to the
development team.
Lead-in
The functional specification
can take many forms and
can include many different
types of information.
440 Module 12: Introduction to Functional Specifications



Factors That Determine the Form
"
Ultimately must meet the needs of the team
"
Needs can be influenced by:
$
Scope of solution
$
Complexity of solution
$
Size of team
$
Team’s level of understanding
$
Existence of previous version of solution


Because the functional specification is for the development team, it should take
whatever form is most appropriate for the team.
Be sure to use whatever is most appropriate for the situation, depending on the
scope of the project and the preferences of the team. For example, one
organization may deal particularly well with a Web-based interface, which
allows each stakeholder to review the functional specification at any time
during the project.
Slide Objective
To describe the factors that
determine the form of the
functional specification.
Lead-in
Several factors affect how
the functional specification
is presented.

Không có nhận xét nào:

Đăng nhận xét