You are on page 1of 6

Available online at www.sciencedirect.

com Procedia
Computer
Procedia Computer Science 00 (2012) 000–000
Procedia Computer Science 8 (2012) 309 – 314
Science
www.elsevier.com/locate/procedia

New Challenges in Systems Engineering and Architecting


Conference on Systems Engineering Research (CSER)
2012 – St. Louis, MO
Cihan H. Dagli, Editor in Chief
Organized by Missouri University of Science and Technology

Effectiveness of kanban approaches in systems engineering


within rapid response environments
Richard Turnera*, Dan Ingoldb, Jo Ann Laneb, Ray Madachyc, David Andersond
a
Stevens Institute, Hoboken, NJ, 07030, USA
b
University of Southern California, Los Angeles, CA, 90089, USA
c
Naval Postgraduate School, Monterrey, CA, 93943, USA
d
David J. Anderson Associates, Seattle, WA, 98113, USA

Abstract

Effective application of systems engineering in rapid response environments has been difficult, particularly those
where large, complex brownfield systems or systems of systems exist and are constantly being updated with both
short and long term software enhancements. This paper proposes a general case for solving this problem by
combining a services approach to systems engineering with a kanban-based scheduling system. It provides the basis
for validating the approach with agent-based simulations.
© 2012 Published by Elsevier Ltd. Selection Open access under CC BY-NC-ND license.
Keywords: Agile systems engineering; lean systems engineering; kanban; rapid response; scheduling; systems engineering
management

1. Introduction

Traditional systems engineering (SE) developed half a century ago, primarily driven by the challenges
faced in the aerospace and defense industries. In rapid or continuous deployment environments, where
requirements are not precise and can change or emerge quickly, SE has often performed poorly, not
meeting available schedule and resource bounds [1, 2]. New and flexible methods, processes and tools are
required for effective SE in these environments. Engineering principles involving agility and leanness
have been adopted to address similar shortcomings in software systems, but integrating these concepts
into the SE workflow has proven difficult. To address this issue, we are leveraging earlier research [3, 4,
5, 6, 7], and new experience with lean approaches [8, 9], to investigate the use of flow-based pull
scheduling techniques (kanban systems) in rapid response development environments.

1.1. Kanban as a starting place

In manufacturing, a kanban approach provides a visual means of managing the flow within a process.
Signal cards are created to the agreed capacity of the process and one card is associated with each piece of

1877-0509 © 2012 Published by Elsevier B.V. Open access under CC BY-NC-ND license.
doi:10.1016/j.procs.2012.01.065
310 Richard Turner et al. / Procedia Computer Science 8 (2012) 309 – 314

work. Work may be the creation of a part, the integration of a part into an assembly, or any completeable
task. Once all cards have been associated, no more work can begin until some piece of work is completed
and its card becomes available. An example of a simple kanban is the use of a limited number of tickets
for entry into the Japanese Imperial Gardens [8]. The fundamental idea is to use visual signals to
synchronize the flow of work with process capacity, limit the waste of work interruption, minimize excess
inventory or delay due to shortage, prevent unnecessary rework, and provide a means of tracking work
progress.
In knowledge work, the components of production are ideas and information [10, 11]. In software and
systems, the kanban concept has evolved into a means of smoothing flow by balancing work with
resource capability. It focuses more on limiting work in progress according to capacity. Work cannot be
started until there is an available appropriate resource. In that way, it is characterized as a “pull” system,
since the work is pulled into the process rather than “pushed” via a schedule. In this research, we define a
visually monitored set of process steps adding value to work units that flow through them. Each step has
its own queue and set of resources. The fact that queues are included in the system allows costs of delay
and other usually invisible aspects of scheduling to be integral inputs to decision making. The visual
representation of the work is critical to kanban success, because it provides immediate understanding of
the state of flow through the set of process activities. This transparency makes apparent process delays or
resource issues and enables the team to recognize and react immediately to resolve the cause. on. The
process is managed through Work in Progress (WIP) limits, small batch sizes, and Classes-of-Service
(COS) definitions that prioritize work with respect to value and risk. Flow is measured and tracked
through statistical methods that provide insight to tune and improve the system.
WIP is partially-completed work, equivalent to the manufacturing concept of parts inventory waiting
to be processed by a production step. WIP accumulates ahead of bottlenecks unless upstream production
is curtailed or the bottleneck resolved [12]. WIP in knowledge work is the number of tasks that have been
started and not completed. Limiting WIP is a concept to control flow and enhance value by specifically
limiting the amount of work to be assigned to a set of resources (a WIP Limit). WIP limits accomplish
several goals: they can lower the context-switching overhead that impacts individuals or teams attempting
to handle several simultaneous tasks; they can accelerate value by completing higher value work before
starting lower value work; and, they can provide for reasonable resource work loads over time.
Using small batch sizes is a supporting concept to WIP to further limit rework and provide flexibility
in scheduling and response to unforeseen change. Smaller batch sizes even out the process flow and allow
downstream processes to consume the batches smoothly, rather than in a start-and-stop fashion that makes
inefficient use of resources. The move from “one step to glory” system initiatives to iterative, deployable
increments is an example of reducing batch size. Incremental builds and ongoing, continuous integration
also approximate the effect of small batch sizes.
In the remainder of the paper we will refer to the proposed approach as a kanban-based scheduling
system (KSS). While not a true kanban in the manufacturing sense, the characteristics are sufficiently
similar to support the name.

1.2. Predicted Benefits of the Proposed Approach

1.2.1. More effective integration and use of scarce systems engineering resources
Using a KSS and applying a model of SE based on continuous activities and taskable services is a
value-based way to prioritize the use of scarce SE resources across multiple projects. The value function
within the next-work selection process can be tailored to provide efficient and effective scheduling that
maximizes the value provided by the resource based on multiple, system-wide parameters. Additionally,
having service requests including time vs. value parameters can help determine if the delay of other
service requests fulfillment is warranted by the current service request.
Richard Turner et al. / Procedia Computer Science 8 (2012) 309 – 314 311

1.2.2. Flexibility and predictability


SE activities are generally designed for pre-specifiable, deterministic (complete and traceable)
requirements and schedules. There is often an overdependence on unnecessary formal ceremony and
fairly rigid schedules. Using cadence rather than schedule can provide efficient SE flow with minimal
planning. We believe that the CoS concept not only handles expedite and date-certain conditions, but also
supports cross-kanban synchronization. Even though the planning is dynamic and the selection of the next
piece of work to do asynchronous, we believe the use of a value-based selection function, a time-
cognizant service request, customized Classes of Service, and a statistically controlled cadence provide a
sufficient level of predictability where necessary.

1.2.3. Visibility and coordination across multiple projects


In highly concurrent engineering tasks, the KSS provides a means of synchronizing activities across
mutually dependent teams by coordinating their activities through changing value functions (task priority)
according to the degree of data completeness and maturity (risk of change). It also provides an excellent
way to show where tasks are and the status of work-in-progress and queued or blocked work.

1.2.4. Low governance overhead


Implementing a KSS doesn’t require major changes in the way work is accomplished or imply specific
organizational structures like other agile methods (e.g. Scrum). Such systems can be set up in individual
projects and allowed to evolve into more effective governance over time as the project and the
organization as a whole understand the best way to attain value from the practices. Even the systems
engineering resource scheduling can be implemented with very little organizational impact. Practitioners
make most decisions using parameters set by management (e.g. WIP limits) and their own understanding
of the needs. Issues are usually identifiable from walking the visible representation of the flow status and
so are made clear to all who take part in the scheduling, including management. Metrics are inherent to
the system, clearly identify problems, and track improvements. Most problems tend to be self-correcting.

2. Defining the Approach

In Figures 1 and 2, and Table 1, we define our KSS concept. We intend that this model be recursive at
many levels to allow for complex implementations. While we currently believe tasks and their associated
parameters coupled with the visual representation of flow are sufficient, we may introduce new concepts
to enable better communications and synchronization between the various interacting systems.
Systems engineering has struggled with acceptance in rapid-response environments, partly because it
tends to operate with a broader scope and with the assumption that a holistic view requires a deeper and
fuller level of knowledge than is often available in the rapid response time frame. In rapid response
environments, the time scale and detailed analysis up front is perceived as less achievable. Agile and lean
assume holism comes from a learning process and is valuable even when incomplete. The idea of using a
pull system for systems engineering is an attempt to merge the breadth of SE into the rapid development
rather than lay it on top of the activities. Our idea of a KSS for systems engineering is shown in Figure 3.
We believe it will support better integration of SE into the rapid response software environment, better
utilize scarce systems engineering resources, and improve the overall system-wide performance through a
shared, more holistic resource allocation component.

2.1. Systems Engineering as a Service

In general, systems engineering is involved in three kinds of activities: Up front, continuous, and
taskable. While up front activities are critical in greenfield projects, they exist in all system developments.
They include creating operational concepts, needs analysis, and architectural definitions. Continuous SE
312 Richard Turner et al. / Procedia Computer Science 8 (2012) 309 – 314

activities are ongoing, system–level activities (e.g. architecture, risk management). These include
maintenance and evolution of long-term, persistent artifacts that support multiple projects. Taskable
activities are generally specific to individual projects (e.g. trade studies, interface management), but draw
on SE artifacts.
CA"<>4D( System'of'Systems/Enterprise'
89:0&(
/0101( !"#$%&'()*+,-.(
System'KSS'
/0101(
)/+,2.( Project'KSS'
*8B( 34@:>1&1E( Sub6Project'KSS'

*4;<( *4;<(
Project'KSS'
=>4?( '
345()*+,6.(
345()74(*+.( System'

Project'KSS'
'
Project'KSS'
*4;<(8&1@()74;@A>(345.( '
*4;<(8&1@()5:1"%A>(345.(

Figure 1. Kanban Scheduling System Model Figure 2. Kanban Scheduling System Hierarchy

Table 1. Kanban Scheduling System Definitions

Work Item The item controlled in the kanban system; essentially, the kanban carrier
Effort Required Determines the approximate size of work in person-units of time. May be a negotiated function of desired
quality.
Backlog A non-WIP-limited queue containing work items items awaiting service by the initial activity in a kanban
system.
Cadence The rhythm of the production system. Not necessarily an iteration. Kanban still allows for iterations but
decouples prioritization, delivery and cycle time to vary naturally according to the domain and its intrinsic
costs. The average transit time of a work item through a kanban system.
Activity Value-adding work that can be determined as complete. Includes: activity queue, a set of resources, and a WIP
Limit. Represents an allocation of the effort required to complete a work item.
Resource An agent for accomplishing work; may be generic or have specialized expertise. Includes: expertise-
productivity pair(s), where productivity is in effort per unit time. Usually associated with a specific activity, but
may be shared across activities.
Next Work Item Rule for selecting the next work item from a queue when an activity has less work than its WIP limit; depends
Selection on both Class of Service and Value Function, and leads to specific flow behaviors.
Function
Class of Service Provides a variety of handling options for work items. A CoS may have a corresponding WIP limit for each
activity to provide guaranteed access for work of that class. A CoS WIP limit must be less than the activity’s
overall WIP limit. Examples are expedite, date-certain and normal. CoS may be disruptive (such as expedite)
and is the only way to suspend work in progress.
Value Function Estimates the current value of a work item within a CoS for use in the selection algorithm. Can be simple (null
value function would produce FIFO) or a complex, multiple kanban-system, multi-factor method considering
shared scarce resources and multiple cost/risk factors. The means of prioritizing work items.
Activity Queue Holds work items within an Activity that are awaiting processing. The sum of items in process and items in
activity queue must be within the WIP limit for each CoS.
WIP Limit Limit of work items allowed at one time within an activity.
Visible A common, visual indication of work flow through the activities; Often a columnar display of activities and
Representation queues. May be manual or automated. Shows status of all work-in-progress, blocked work, WIP limits. It is a
characteristic that provides transparency enabling better management. Difficult to model.
Flow Metrics Includes cumulative flow charting and average transit (lead) time.
Richard Turner et al. / Procedia Computer Science 8 (2012) 309 – 314 313

HE84F8=6C7434E4;>?<4=C0=3DB4>5?4AB8BC4=C0AC8502CB0B:4H2><?>=4=CB>5B4AE824B?A>E8343C>
E0A8>DB ?A>942CB ( 20= 14 >??>ACD=8BC82 8= 0??;H8=6 8CB 2A>BB?A>942C E84F 0=3 D=34ABC0=38=6 >5 C74
;0A64A4=E8A>=<4=CC>B?428582?A>942CB8=38E83D0;;H>A8=6A>D?BC20=0;B>1A>:4A8=5>A<0C8>=14CF44=
8=38E83D0; ?A>942CB F74A4 C74A4 <0H 14 2>=CA02CD0; >A 0224BB 10AA84AB ,74= 0 BHBC4<F834 8BBD4 >A
4GC4A=0;270=64>22DAB (20==46>C80C4>AD=8;0C4A0;;H033>A<>385HC0B:BF8C78=05542C43?A>942CBC>
4=BDA4C741A>034A8BBD48B70=3;438=0=45542C8E40=32><?0C81;4F0H)78B8BA4<8=8B24=C>5C74068;4
<0=064<4=C;0H4A34B2A81438=C748C4A0C8>=<0=064<4=C0??A>0278=. /0=3C740??A>0274=E8B8>=43
20=4GC4=3C70C2>=24?CC7A>D67>DCC74A0?83A4B?>=B4;8542H2;40=302A>BBC74<D;C8?;4?A>942CB

       

" %!    !  


     
%
     
%   
!
!  $   
"    "

      

86DA4 K$E4AE84F>5(0B0(4AE8242>=24?C

( ?4A5>A<B 8CB B4AE824B 8= ?0A0;;4; C> C7>B4 02C8E8C84B 8= C74 A4@D4BC8=6 ?A>942C 0=3 C74= ?DB74B C74
A4BD;CBC>C74A4@D4BC>A0BB>>=0B0E08;01;4)78B8B08<430CBD??>AC8=6C74C8<4;8=4BB>5?A>942CBB>C70C
F>A:20=2>=C8=D44E4=850C078674AA8B:>5A4F>A:D=;4BBF08C8=65>AC74A4BD;CB8B1;>2:8=60;;>C74A
F>A:8=C74?A>942C=>C06>>3C78=6
( B4AE824B A4@D8A4 ?4AB8BC4=C 0AC8502CB 0=3 :=>F;4364 5>A 1>C7 A4@D4BC>AB?428582 0=3 C>C0; BHBC4<
0AC8502CB D=34ABC0=38=6)74@D0;8CH>50A4@D4BC43B4AE8242>D;314?A4B?4285843B?42858430B0?0A0<4C4A
>A8=?DCF8C7B4AE824A4@D4BC>A2>D;314=46>C80C430B05D=2C8>=>5CH?820;E0;D40=3C8<40E08;01;4C>
?A>E834C74B4AE824=0 (((B4AE824B20=14C7>D67C>50B0B8=6;402C8E8CH)74E0;D45D=2C8>=DB43
C>B4;42CC74=4GCA4@D4BCC>1470=3;43<DBC1434B86=43C>834=C85HC7478674BC2>BC>534;0H0<>=6C74
@D4D43 A4@D4BCB 8= C4A<B >5 C74 >E4A0;; BHBC4< E0;D4 )78B 0;;>FB ( C> 14 0 45542C8E4 0B ?>BB81;4 8=
?A>E838=68CB B4AE824B 02A>BB C74 4=C4A?A8B4 )74 5D=2C8>= 2>D;3 14 10B43 >= B4E4A0; ?0A0<4C4AB C70C 0A4
0CCA81DC4B >5 8=38E83D0; ?A>942CB 8=38E83D0; A4@D4BCB >A BHBC4<F834 02C8E8C84B %>BB818;8C84B 8=2;D34 C74
<0CDA8CH>5C74A4@D4BC8=6?A>942C;8542H2;4?>8=C>5A4@D4BC8=6?A>942C2A8C820;8CH>5C74A4@D4BC8=6?A>942C
0=3 E0;D4 2>BC >5 34;0H ?A8>A8CH 2;0BB >5 B4AE824 >A >C74A 270A02C4A8BC82B >5 C74 F>A: 8<?02C43 1H C74
B4AE824 A4@D4BC43 )74 34C08;B F8;; 14 2A8C820; C> 02784E4 BHBC4< F834 14=458CB F8C7>DC 8<?02C8=6
8=38E83D0; ?A>942C C8<4;8=4BB $=;H C7A>D67 <>34;8=6 8B C74 8<?02C >5 E0A8>DB 0??A>0274B C> C74 E0;D4
5D=2C8>=34C4A<8=01;4=502C<>34;8=6B7>D;31401;4C>74;?834=C85HC74BF44CB?>C>5C740<>D=C0=3
CH?4>5(02C8E8CHC70C?A>3D24BC74<>BCE0;D4F8C7C74;>F4BC8<?02CC>@D0;8CH(C0C8BC820;0=3>C74A
<40BDA4BF8;;14=44343C>CA02:C74?4A5>A<0=240=38<?A>E4C74E0;D45D=2C8>=8=E8E>
)01;4 34B2A814B20C46>A84B>5B4AE824BB?428582270A02C4A8BC82B=D<14A>5B4AE824B20=143458=43
8=402720C46>AHBD273458=8C8>=BF8;;14?0AC>55>;;>F>=A4B40A270BC74064=C10B43E0;830C8>=<>34;B
. /0A434E4;>?43
314 Richard Turner et al. / Procedia Computer Science 8 (2012) 309 – 314

)01;4 K(HBC4<B4=68=44A8=6B4AE82420C46>A84B4A8E435A><. /

0C46>AH 4B2A8?C8>= *B064


)A0=B;0C8=60?018;8CH %A>GH5>A2DBC><4ABD??>AC5>AA4@D8A4<4=CB<0=064<4=C02C8E8C84B >=C8=D>DB)0B:01;4
$1942C8E4B
*=34ABC0=38=6(HBC4<B0=3 +84F02A>BB<D;C8?;4?A>942CB%4AB8BC4=C<4<>AH02A>BBC8<40=3C40<B >=C8=D>DB)0B:01;4
'4;0C8>=B78?B
BB4BB8=6%4A5>A<0=24 +0;830C8>=>5)%"B>A>C74A?4A5>A<0=24A4@D8A4<4=CBCH?820;++CH?4 >=C8=D>DB)0B:01;4
608=BC0?018;8CH$1942C8E4B 02C8E8C84B
4E4;>?8=60=3E>;E8=6 %A>E838=634B86=6D830=240=3BD??>AC8=62><<>=0A278C42CDA0;?0CC4A=B >=C8=D>DB)0B:01;4
A278C42CDA4 02A>BB<D;C8?;4?A>942CB
">=8C>A8=60=3BB4BB8=6 (D??>AC8=65;4G818;8CH0=3068;8CH1H?A>E838=6BDAE48;;0=24>5C744GC4A=0; >=C8=D>DB)0B:01;4
70=64B 4=E8A>=<4=C0=3834=C85H8=68BBD4B0=3270=64BC70C<867C05542C?A>942CB
)A034(CD384B=3428B8>= (D??>AC8=6BHBC4<8=5>A<433428B8>=<0:8=61H?A>E838=68=34?4=34=C )0B:01;4
(D??>AC 2><?4C4=C0=0;HC820;B4AE824BC>C74?A>942CB

  

= 0= 4G8BC8=6 2><?;4G BHBC4< 2>=BC0=C;H 4E>;E8=6 C7A>D67 A0?83A4B?>=B4 B>5CF0A4 0??;820C8>=
34E4;>?<4=C(8BC746;D4C70C7>;3B0;;>5C74E0A8>DB?A>942CBC>64C74AC<DBC148=C46A0C438=C>C74
E0A8>DB?A>942CBF8C7>DCD=3D;H34;0H8=6C74<!8<8C43(A4B>DA24B<DBC144558284=C;H0=345542C8E4;H
34?;>H43 ,4 14;84E4 >DA B4AE824B 0??A>027 8=C46A0C4B ( 8=C> C74 34E4;>?<4=C 2H2;4 0=3 C74 :0=10=
10B43B2743D;8=6<0G8<8I4BC74BHBC4<E0;D45;>F5A><C74BHBC4<B4=68=44A8=6C0B:B?4A5>A<4364=C
10B43B8<D;0C8>=B0A4D=34A34E4;>?<4=CC>E0;830C4C742>=24?C

 

 ##0C8>=0;454=B4=3DBCA80;BB>280C8>= )>?(HBC4<B=68=44A8=6BBD4B=*(454=B4=3DBCAH
(HBC4<B=68=44A8=68E8B8>=)0B:A>D?'4?>AC(4?C4<14A 
 )DA=4A'8270A3(7D;;4C0; 0LE0;D0C8>=>5(HBC4<B=68=44A8=6"4C7>3B%A>24BB4B0=3)>>;B>=
4?0AC<4=C>5454=B40=3=C4;;864=24><<D=8CH%A>6A0<B%70B4 8=0;)427=820;'4?>ACM(HBC4<B=68=44A8=6
'4B40A274=C4A(' )' (4?C4<14A 
 )DA=4A'8270A3(7D;;4C0; 1LE0;D0C8>=>5(HBC4<B=68=44A8=6"4C7>3B%A>24BB4B0=3)>>;B>=
4?0AC<4=C>5454=B40=3=C4;;864=24><<D=8CH%A>6A0<B%70B4 8=0;)427=820;'4?>ACM(HBC4<B=68=44A8=6
'4B40A274=C4A(' )' 424<14A 
 )DA=4A'8270A30=3,034 !40=(HBC4<B=68=44A8=6F8C78=(HBC4<4B86=2C8E8C84B%A>24438=6B>5C74 A3
!40=(HBC4<0=3(>5CF0A4>=54A4=24"0H  !>B=64;4B
 >47<0=3)DA=4A' 0;0=28=668;8CH0=38B28?;8=4D8345>AC74%4A?;4G43>BC>=338B>=
,4B;4H
 !0A<0=0=3+>334 (20;8=6!40=68;44E4;>?<4=C>BC>="338B>=,4B;4H
 %>??4=384:"0AH <?;4<4=C8=6!40=(>5CF0A44E4;>?<4=C>BC>="338B>=,4B;4H
 =34AB>=0E83  0=10=(4@D8<,;D4>;4%A4BB
 '48=4ACB4=>=0;3 )74%A8=28?;4B>5%A>3D2C4E4;>?<4=C;>F'43>=3>40274;4A8C0B%D1;8B78=6
 %>??4=3842:"0AH0=3)><%>??4=3842: !40=(>5CF0A44E4;>?<4=C=68;4)>>;:8C)7468;4(>5CF0A4
4E4;>?<4=C(4A84B>BC>=338B>=,4B;4H
 ">A60=0<4B"0=3455A4H !8:4A )74)>H>C0%A>3D2C4E4;>?<4=C(HBC4<=C46A0C8=6%4>?;4%A>24BB
0=3)427=>;>6H#4F->A:%A>3D2C8E8CH%A4BB
 >;3A0CC"0=3>G )74>0;0%A>24BB>5$=6>8=6<?A>E4<4=CA40C0AA8=6C>="#>AC7'8E4A
 >47< ??;H8=6C74=2A4<4=C0;><<8C<4=C">34;C>A>F=584;3(HBC4<B4E4;>?<4=C(' 
 40C74C0; BDAE4H>5064=C10B43<>34;8=6?A02C824B0=D0AH C>D;H >DA=0;>5AC858280;
(>284C84B0=3(>280;(8<D;0C8>=  
 $55824>5C744?DCH*=34A(42A4C0AH>5454=B45>A2@D8B8C8>=0=3)427=>;>6H(HBC4<B0=3(>5CF0A4=68=44A8=6
  <67)162+-2))5-2+8-()*35 <67)163* <67)16+4AB8>=  ,0B78=6C>=$*()((

You might also like