Information Systems Overview Organizing Complex Projects Around Risks Arising From

advertisement
Information Systems
Overview
Organizing Complex Projects
Around Risks Arising From
System Dynamic Behavior
Neil Siegel
Sector Vice-President & Chief Engineer
Northrop Grumman
9 March 2011
Agenda
• Scope
• Hypothesis
• The design-based technique
• Research results
• Summary
2
Scope of proposed study
This study aims to assess the efficacy of one
particular method of improving the outcomes on
complicated, large-scale, software-intensive
system development projects
3
“Bottom-line up front”
Systems are
important to
society . . .
Hypothesis:
centralizing
control of
system dynamic
behavior while
applying critical
skills will lead to
superior results
. . . but system
development
efforts often
fail
Assess in 1
domain
Assess in 4
additional
domains
4
Select scope /
characteristics
of systems of
interest
Formulate
conclusions
Systems are important to society,
but many system development efforts fail
• What do we mean by “fail”:
– Do not produce a product that meets the original specifications
– Produce such a product only after taking significantly more time
and/or money than originally expected.
– In the extreme, many such projects are cancelled before
completion
• Failure is apparently common:
– (Glass 2001) cites data indicating that only about 16% of the
system development projects that he surveyed were listed as
successful by their own developers
– (Johnson 2006) cites data from the Standish Group, which
describes results from a 2004 survey: just 29% of development
projects succeeded
5
Scope of the systems of interest
• Complex emergent behavior, as described by (Rechtin
1991)
• Interactions with physical devices (physically-moving
mechanisms, other time-sensitive mechanical devices,
etc.)
• Stressing asynchronous stimuli (such as extraordinary
high data-ingest rates, or highly-stressed
communications structures)
• Extraordinarily high availability / reliability requirements
• Development efforts of large size
• Systems that need to display much early progress
through prototyping and re-use
6
Hypotheses
During the development phase of a largescale, complex computer-based system, the
use of a specific design-based technique that
centralizes the control of the dynamic
behavior of a system will lower the density of
those defects that are attributable to
unplanned adverse dynamic system behavior
7
Partitioning the work
• I propose using the design process to
partition the work into different “skill bins”,
so as to provide better ways to assign
people to tasks.
– This allows a particular difficult task (control and
management of the system’s dynamic behavior) to be
partitioned away from most of the development team.
• Under current methods, the “hard” parts of
the work can be disseminated into a large
portion of the tasks
8
How I accomplish that partitioning
The System Architecture Skeleton
Describe system’s desired dynamic behavior, to the level of every independently-schedulable entity
Take a design decision to centralize control of system dynamic behavior into a small portion of the
design and implementation (“control kernel”)
Recognize every mechanism available to a developer that could create concurrency and other forms
of dynamic behavior
Designate a small team with suitable expertise as the implementers of the control kernel
Train the developers outside of those implementing the control kernel that they are not to use these
mechanisms, and create ways to enforce that proscription
Provide a mechanism for specification & implementation of the threads and allowable
interconnects / interactions amongst the components
Provide a mechanism that allows for a small portion of the implementation to specify and control the
dynamic behavior of the system, e.g., implement the control kernel
Provide for a mechanism that supports the instrumented exercising and analysis of the threads under
realistic stimuli, and do so in a way that allows the dynamic behavior to be observed and adjusted
separately from the specific functionality of the system, and can do so even prior to the availability of
actual system components
Allow for the entities within the system that are designed and implemented without reference to
dynamic behavior in some fashion to “inherit” a set of behavioral controls in accordance with the
parameters and algorithms implemented within the control kernel
Automatically translate the specification of the threads and allowable interconnects / interactions
amongst the components (whether hardware or software or people) into an executable mechanism
9
Results
10
All 6 periods / all 4 cases
Did not use the
design-based
technique
30
25
20
Project YYYY period II
Project AAAA
15
Project BBBB
Project YYYY period I
Project YYYY period IIII
10
Project ZZZZ
5
0
1
2
3
4
5
6
7
8
9
11
10
11
Did use the
design-based
technique
Defect density
“Use of the design-based technique will reduce the density
of defects attributable to errors in managing system dynamic behavior”
Density – opened this month / 1M SLOC
YYYY,
I-IIIplot
contractor
Periods I-IIIProject
contractor
testperiods
on a single
– FBCB2 –tests,
problem reports
attributable toattributable
unplanned dynamic
system
behavior
– opened per month
problem
reports
by month.
(adjusted for peer-review and unit-test procedure changes)
(time is discontinuous between periods)
25
20
Monthly results
UNPL
15
LNPL
2-s upper
10
2-s lower
1-s upper
5
1-s lower
average
0
1
2
3
-5
4
5
6
7
8
1998
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2007
Initial version 31 December 2010
This version 31 December 2010
2009
7
6
5
4
MR
3
MR limit
2
1
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Period II behavior is materially different – o(4x) more problem reports attributable to this cause
12
Cost performance also tracks
the dependent variable
Actual cost per month / budget per month
Periods I-III contractor test on a single plot – FBCB2 –
actual cost per month divided by budgeted cost per month
(time is discontinuous between periods)
1.3
1.25
1.2
Monthly results
1.15
UNPL
LNPL
1.1
2-s upper
1.05
2-s lower
1-s upper
1
1-s lower
0.95
average
Initial version 2 February 2011
This version 2 February 2011
0.9
0.85
1
2
1998
3
4
5
6
7
8
2007
2009
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
13
Summary & interpretations
14
Summary & interpretations
• The data indicate that the proposed designbased technique may in fact lead to better
outcomes.
• Indicated by a materially-lower density of
defects (on the order of four times lower) that
were attributable to errors in controlling
system dynamic behavior
15
Summary & interpretations
• The design-based technique considered
herein only applies to projects where such
centralization is possible
– The study did demonstrate that this set of projects is not
vanishingly small
• This specific technique, however, is only one
possible technique for creating a partitioning
of a project into easy and difficult portions
– Future studies could propose and assess other such
techniques.
16
Implications for practice
• Control structures may be more important
than generally recognized
• New goal for the design process
17
Questions?
18
NGIS clearance approval number: ISHQ-2011-0010
19
Download