 |
|
|
|
|
|
Software ByDesign
Functional Software Design (FSD)
emphasizes the use of the
functional architecture as a rich strategic
information source for the improvement of
business processes and the development of
needed business software and integrations to
other systems. |
|
|
|
|
Bridging the
Business/IT Gap
Sometimes the needs of
technology end up driving the
business, rather than the needs
of business driving the
technology. This occurs
primarily because many business
people often do not understand
technology, and technology
people frequently do not
understand business issues. It
is a rare person who understands
both... the Business
Architect and the
Functional Software Designer.
Requirements, Design and
Architecture
When an integrated software
system needs to be developed and
implemented, a number of
foundational tasks and
corresponding responsibilities
need to be identified and
designed. This activity can be,
in reality, very complex
undertaking. It often involves
many more actors than initially
thought because it outlines the
required involvement of people
from all areas of the business
to create a software system that
will enable the organization to
reach its business objectives.
Additionally, a wide variety of
information produced by
different actors within this
system development process needs
to be exchanged between, and
understood by, multiple actors.
The result is software "by design".
This design process emphasizes
the use of the “functional
architecture” as a rich
strategic information source for
the improvement of business
processes and the development of
needed business software and
integrations to other systems.
When defined, maintained, and
implemented effectively, these
institutional blueprints assist
in optimizing the
interdependencies and
interrelationships among an
organization's business
operations and the underlying
integrated business software
function that supports
operations.
Components of a Functional
Software Design
|
Organizational and
cross-functional impact
Areas of business
uncertainty solved
and defined
Business process
definition,
optimization,
governance and
compliance
Business rule
definition,
governance and
compliance
|
|
Business
requirements development
Requirements and
rules traceability
User stories and use
cases
2-D
models and
process simulations
3-D
high-fidelity
software simulations
Business Architecture
traceability
|
 |
Minding The Gap
Typically, large and/or complex
business software development
projects do not adequately
address the large gap between
functional business requirements
and the technical design created
by the development team before
construction. Additionally, many
development projects also
overlook how the documented
software use cases and
requirements are explicitly
enabled by the technical design.
Why does this occur? The primary
reason is that many business
software projects forget a key
step in the process, the
development of a Functional Software
Design (FSD). This design
activity takes into account how
the system being developed,
supports the
Enterprise Business Architecture
(EBA), along with where and how
the new system will impede or
enhance business agility with
respect to any given business
process or function.
The functional software designer
works closely with business and
technical stakeholders to answer
as many of the "what" questions
of the system from the business
process perspective, and down to
as granular a level as possible.
This iterative design process
typically includes how the
system is functionally organized
and how each module or object
interacts with business users,
other modules, other systems,
the data model, and IT/technical
administrators. The functional
software design addresses many
of the "what should happen when
___" questions (and some of the
"how do we accomplish that when
___" questions) that the
business analyst team typically
receives from the software
development team.
Decomposing Process
Complexity
Consider this typical statement
from a requirements
specification:
"The product must calculate the
cheapest fare".
Beyond this innocent description
of what the system must do lies
a significant set of rules,
process, procedures, data and
functions. The functional
software designer ensures the rules for
calculating the cheapest fare,
the algorithms needed, and the
data needed to support those
calculations is accounted for,
all process paths are accounted
for and no open issues remain. In this way the
design explicitly describes
exactly
what the system is.
Benefits of a
Functional Software Design
-
Increased business
participation,
ownership,
accountability of
requirements,
process, rules and
associated expectation
management
-
Less uncertainty and rework
due to explicit problem
definition and
solution design
-
"Must have"
requirements
designed in, "nice
to haves" are not
-
Organizational
and cross-functional impact
accounted for
-
Reduced scope
creep and functional
anomalies
-
Shorter, more
efficient technical
design and
construction cycles
-
Reduced risk of
project failure
-
Software that
supports your
organization's EBA from strategic,
tactical and
technical
perspectives
-
Baked in process
performance
measurement
functionality to
support continuous
improvement and the
objectives of the
EBA
-
Increased
business
satisfaction and
customer-focused
value
Software
ByDesign - Connecting Strategy To Execution
 |
Things done with a sense of planning,
purpose and method are done "by design"; |
 |
"By design" initiatives, by their
very nature, focus on connecting corporate
strategy to project execution; |
 |
Those organizations
that best control and exploit
information and knowledge "by design"
will be the ones to pull forward in terms of
strategy and competitive advantage; |
 |
Reduce risk and increase process-centric
initiative success by
contacting OnKue today. |

|
 |