Database Reference
In-Depth Information
artifacts (the case is even opposite) but rather by focusing on the practices of Apply the right
artifacts , Use the simplest tools and Discard temporary models, among others.
Extreme Modeling
Extreme Modeling (XM) (Extreme, 2003) is a software development process that tries
to make a synthesis of model-based processes and Extreme Programming (XP), but in a dif-
ferent way than agile modeling. XM is still a subject of investigation and research. Several
papers are published on this topic, and there is a dedicated web site with basic information.
XM unites UML-based modeling principles and XP and combines their advantages by ap-
plying the tenets of XP to the modeling phase. For the successful integration of the two,
there are two basic requirements that have to be met: models need to be executable and they
must be testable. Therefore XM requires intensive support by an integrated tool that is able
to execute UML models, test models, support the transition from models to code and keep
the code and model in sync. According to the authors of XM, a critical set of the necessary
tools already exists. At the University of Hamburg, an implementation based on an open
source UML tool called Argo/UML and a Petri nets tool called Renew has been developed.
It is currently able to execute state, activity, collaboration and sequence diagrams. The
translation of these UML diagrams to the corresponding Petri nets representation works
for almost all complex diagram elements, including forks/joins, complex states, history
states, transition guards and actions. This allows the execution and visualization of UML
diagrams as well as to express tests on models. Recently, XM has stopped using Petri nets
as an intermediary step between UML models and code, and now translates directly from
models to code. XM represents a promising approach and has a close relationship to the
OMG's MDA initiative (OMG, 2003). XM is strongly based on the required tool support,
which is the matter of further research and investigation.
XM tries to bridge the gap between traditional development and code-focused extreme
programming by introducing executable and testable models that are supported by advanced
tools. That includes transformations of models of different levels of abstractions, as well as
an extensive code generation based on these models. The approach of Extreme Modeling
is in line with some other approaches focused on the concept of executable models, such
as Executable UML (Mellor & Balcer, 2002). Executable models are the main products of
the development process, translated directly into bits using compilation software. In this
sense, the models are actually the code. The models are exact graphical representations of
the software structure. This will certainly represent one of the major research directions in
software engineering in the future.
Scrum
Scrum is an empirical approach applying the ideas of industrial process control theory
to systems development with the ideas of fl exibility, adaptability and productivity (Schwaber
& Beedle, 2002). It does not defi ne any specifi c software development techniques for the
design and implementation phase. Scrum concentrates on how the team members should
function in order to produce the system in a constantly changing environment. There have
been some efforts recently about integrating Scrum and XP, where Scrum should provide
the project management framework. Scrum process defi nes three main phases: pre-game,
development and post-game. Development phases should be done in seven to 30 days-long
iteration cycles called sprints . Scrum keeps two stacks of cards containing features that
Search WWH ::




Custom Search