Articulo Unified Process
Articulo Unified Process
com/Squaredpixels
Agile (Unified Process)
– context for scrum and framework-approach makes it a viable business case
by Hannes Van Baelen
Agile Development is becoming an increasingly popular trend. requirements’ definition to be an iterative process. What Agile
The current vision of the IT department as a service provider for brings to this picture is the understanding that in the end it is the
business units makes the satisfaction of business needs a key software that matters, and that those who implement it need to
performance indicator in the measurement of IT service effec- grasp what the project is about. In an environment of trust care-
tiveness. At the same time emphasis is put on IT-Business align- fully selected roles turn an IT project into a truly collaborative
ment to allow adaptation to organizational and market changes. and iterative effort where business commitment can be achieved
This is reflected in current requirements for applications and IT and fostered. Working software is far more effective in commu-
infrastructure to ensure that the IT needs of the organization are nicating the requirements of future applications compared to
met with the required level of flexibility and support. abstract documentation, and allows the people building it to bet-
ter visualize and grasp the realities of the system. By involving
These points stress the need for a client oriented approach. the actual system users, better quality software is delivered and
Traditional development methods operate around fixing require- user acceptance is ensured with business units starting to see
ments, mitigating risk through a formal procedural approach, and actual services emerge from the system’s functionality and ac-
validating deliverables that are supposed to fully capture fixed cept changes as a part of life. This collaborative and adaptive
specifications. The cornerstone of this approach is to understand environment provides motivation to understand what is needed
and elaborate the problem beforehand and to firmly define the and to ensure that the product evolves towards a usable and ac-
delivered system’s service offering from the start. ceptable result.
The problem with this approach is that it makes simplified as- A very distinctive feature of Agile and Scrum in particular is that
sumptions about the collaboration between the multiple roles project management and release management activities are
involved in the software development lifecycle. Not only is the conceived as collaboration between IT and business. The prod-
involvement of the business minimized, it is also assumed that uct backlog is defined together and prioritization of issues into
business experts participating in requirements’ definition are the next sprint backlog comes from a mutual agreement between
able to fully grasp the meaning of different validation phases, the business stakeholders and the development team. New and
and able to firmly commit to project goals at an early stage. potentially shippable software is delivered within weeks, and the
future users of the system actively participate in the testing and
Written documentation becomes the main medium of communi- definition of change requests. The following figure illustrates the
cation, and it is assumed that everything is read, understood and general principles of the Agile development lifecycle:
validated within foreseen timeframes.
Regardless of the Agile approach used, there is one point com-
Finally, architecture and infrastructure considerations are typi- monly shared but sometimes forgotten: you need a context to
cally excluded from business review and as such, tend to be start from. Even the theory of Scrum imposes a context at the
viewed exclusively as IT department responsibilities. outset of a project. This context consists of architectural and de-
sign decisions established during a preliminary analysis activity.
Adaptive software development recognizes the importance of Where this principle is not respected, it is all left to the develop-
constant collaboration and adaptation by involving stakehold- ment team to define the context in an incremental and iterative
ers and future users in validating working software and allowing way.
22 www.agilerecord.com
The Agile Unified Process (AUP) is a method that tries to estab- a long term return on investment that would be unsuitable for a
lish this context by augmenting incremental development with single application. In order to enhance knowledge sharing and
the phases of the Unified Process. It keeps all elements of Agile transfer in the long run, it is also important to consider which
development while imposing architecture and requirements envi- roles should be assigned to which people. Typically the first ac-
sioning at the outset of the software delivery lifecycle. Self-organ- tion in such an adoption is to assess whether the requirements
izing teams that collaborate, commit and adapt remain key, and of switching to an Agile approach in terms of organizational cul-
scope is defined through business-driven prioritization based on ture, personnel, communication and project needs can be met.
the added value that each feature is expected to bring to end us- In addition, it needs to be determined if the IT needs can be de-
ers. AUP tries to wrap these activities within a framework where fined in terms of framework features for the whole organization.
Agile development serves to implement this framework and de-
fine new applications as customizations. As previously mentioned, AUP is a variation of the Unified Proc-
ess. As such it defines the software delivery cycle as composed
When a non-Agile organization considers switching to an Agile of four major phases: Inception, Elaboration, Construction and
approach, this comes down to a shift in paradigm since it might Transition.
imply -not to say require- a change in corporate and working cul-
ture and specifications for staffing. A culture of trust can’t be Inception is a non-recurring phase that serves to define the over-
established immediately and is not in itself a guarantee for suc- all context for the project and a high-level view over the required
cess. There needs to be an investment in the team, environment features for a generic application framework.
and infrastructure with development teams formed to establish a
good mix of senior and junior members in which the senior mem- Elaboration is about going into the details of each feature that
bers undertake important coaching responsibilities. The collabo- will be developed in the iterative and incremental sprints that
rative nature of Agile requires that business representatives are make up the Construction phase(s).
committed and available throughout the project lifecycle allowing
the Business Units impacted by the project to take an active part According to the project a number of sprints form a new release
in shaping it according to their needs. User Acceptance Testing (iteration) for testing. Generally a number of iterations result in a
at regular intervals gives a realistic flavor of the future applica- new version to roll-out.
tion and makes user acceptance more likely. On the other hand,
documentation overhead is significantly reduced, but a lot of ef- The Transition corresponds to that roll-out. As such Construction
fort goes into communication, review and rework. and Transition are iteratively transversed during the develop-
ment cycle.
In order to make the shift towards collaborative, iterative and
adaptive development viable, we need to define a framework for An overview of these phases is provided in the following figure,
future needs. The inherent learning curve that the development where the text in white provides a description of the phase, and
team needs to go through in understanding features makes this the text in yellow outlines each phase’s output:
www.agilerecord.com 23
INCEPTION ELABORATION CONSTRUCTION TRANSITION
(context for Scrum) (iterations of x sprints)
Non recurrent phase. First Elaboration Proof of Con- Several sprints make up itera- After demonstrations ans User
Context and Environment are de- cept. tions. One iteration corresponds Acceptance Testing a new ver-
fined for a first prototype contain- A selection is made of features to a new release to be fully test- sion released in the (pre-)pro-
ing all generic features for future that are components of the ge- ed. duction environment
application needs. The challenge neric framework defined before. Sprints result in customization of
lies identifying architechtural in- Look-and-feel described in more the features by means of a main-
frastructure components that detail. All data needs are ad- tainable programming model
ensure covering future needs dressed with a more precise
and apt for Agile development. It conceptual data model. The first Agile Development Cycle
must also be taken into account time this phase occurs the fea-
what the implications are for tures are more generic (login, The Agile Software Factory id up-and-running. All modifications
existing components and black- GIS, ...). The development infra- to the overall context must result in updating the documentation
end systems. Often a unified structure is deployed and evalu- thereof.
data model will be introduced. ated.
The output of this phase should By now the team is actively in-
be carefully documented and volved in the implantation choic-
this documentation of the con- es for the context to be build.
text must be maintained. Of
course this can happen in a Generic prototype of frame-
pragmatic way but it is very im- work
portant for this to be available to Proof-of-concept for the archi-
technical team members. tecture evaluate environment
> About the author
and way of working
Context Hannes Van Baelen
Functional Acceptance Test-
High-level conceptual data is a senior consultant at
ing
model
TRASYS where he per-
GUI prototypes for generic One time for each new project
features forms business, functional
From then on each new appli-
Technology stack for frame- and technical analysis for
cation starts with such a phase
work in which the specific needs are implementation projects.
Backlog of generic features defined as customizations within Hannes is a Master in His-
generic framework. tory and holds a degree in
Environment Data modelling requires stake- Applied Computer Science.
Development Infrastructure holder participation and must be
He has been involved in
Test Environments detailed before implementation
Build and Deployment mech- can start. the development of cus-
anism tom-built web applications and large integration and
Version Management Preliminary analysis and de- migration projects in analyst roles. Having a great in-
DBA procedures sign for specific application terest in organizations and delivery methodologies, his
Tools for follow-up of develop- Backlog features for the proj-
ment ect are prioritized into sprint first mission in an Agile environment made him a true
(sprint Backlog, status sto- Backlogs GUI design, dat- believer. For TRASYS he presents Agile (Unified Process)
ries, velocity, etc.) amodelling, navigation map to clients as part of IT Governance missions.
The Inception phase allows the architecture and infrastructure phases. This highlights the importance of the initial architectural
for future development to be captured in ‘architectural envision- requirement that allows the framework to evolve to a point where
ing’ and ‘requirements envisioning’ activities that involve archi- a new application can be mapped onto existing features.
tects, analysts and representatives of all business units. The
outcome is the definition of the features that would make up a In fact it comes down to setting up an Agile software factory af-
framework within which all application needs of the organization ter aligning the whole organization around a framework covering
are covered. This phase begins with the analyst and architect future needs. Once this generic framework is developed, each
profiles and ends with the definition of the full future develop- new application begins with some in-depth analysis and design
ment team. around the defined project backlog features to be translated into
stories for the sprints.
Initially these four phases take place to implement the generic
framework that will put in place the building blocks for future By formalizing preliminary analysis and design activities, AUP
applications. From this point on, applications are developed maintains the enabling features of Agile while putting bounda-
through projects that begin with an Elaboration phase and con- ries within which IT building blocks are being created to ensure a
tinue with sprints to complete the Construction and Transition good fit with the overall business needs of the organization.
24 www.agilerecord.com