Escolar Documentos
Profissional Documentos
Cultura Documentos
Essence-Based, Goal-Driven
Adaptive Software Engineering
Professor June Sung Park
Korea Advanced Institute of Science and Technology (KAIST)
Oh, I guess
its going
OK?
How is the
project
going?
Essence Alpha
st = [st , ], i.e., st =
Yeah, this
is
the
current
state.
Really?
Youre
sure?
I use state
checklists.
state checklist
How
do
you know
where we
are?
Goal State
current state
goal state
So whats
next to do?
Essence Kernel
Alphas affected by
the activity space
Essence prescribes a healthy progress of the state of software projects (i.e., alpha
states) and checklists to assess the state. You may use them to evaluate the current
state and set the next goal state.
It also suggests completion criteria for activity spaces in terms of alpha states.
By mapping practice activities to Essence activity spaces, you may get a goal list (i.e.,
a list of checkpoints to satisfy) for each activity. This paper provides a new algorithm
to select the next activities to perform to achieve a goal state of the project.
You
may
easily
combine
multiple
practices, if described
using Essence kernel,
into
your
project
method
without
overlaps and gaps.
Essence Alpha
practice activity
Step 1: Design the software engineering method for a project determining the set of
activities to be performed.
Step 2: Assign each activity to one or more activity spaces (
).
Step 3.2: Collect all the checkpoints corresponding to the alpha states listed in Step
3.1, and merge the checkpoints to obtain the default activity goal list ().
Step 4: Customize the default activity goal lists by modifying the set of alphas, alpha
states, alpha state checklists, and the alpha states to be pursued by each activity
space or each activity.
Set can be obtained by the minimal set of activities whose goal lists, ()
for all
, cover the checklists for the projects goal state.
Goal-Activity Cover Algorithm
= arg min
(+1 ) .
1 : = ;
2 Repeat
3
= arg
4
5
6
7
8
9
10
() (+1 ) ;
= {};
= {};
+1 = (+1 ) ();
For each
() = () ();
End;
Until +1 = +1 = ;
Automation Tool
Well, I have shown you how I
determined the next activities to
perform to achieve the next goal
state.
OK, I see
the value
of Essence
now.
Conclusion
Wed better
learn and use
Essence.
I think so,
too. It really
makes
our
team agile.