Vous êtes sur la page 1sur 2

Application Development Tools

Time is money –
agile fixed price
Faced with having to deliver a fixed price, fixed scope project,
what development methodology should we follow to maximize our
chance of success? Richo Strydom, CTO of Valtech Ltd, offers
his perspective on the most risk-averse method of delivering
business-centric software.

Time is money. Especially in fixed price projects


T
hey say that you cannot have your
cake and eat it. Unfortunately many
IT procurement processes still where any time not spent on producing useful
assume you can. Fixed price, fixed
scope development contracts are still
deliverables reduces your margin and
prevalent in today’s marketplace and many contingency and increases delivery risk
of us will be involved in delivering these
for some time to come. Typically this is a
commercial decision taken once it is clear Agile methods, a subset of iterative and more persistent mechanisms, even if applied
that this is the only way the client is willing evolutionary methods, aim to reduce waste informally, are required to ensure information
to contract. and focus effort where it matters most in is available to all team members at all times.
This reality leaves us with an important software development: working, fit for Va l t e c h h a s f o u n d t h a t l i g h t w e i g h t
question. Given the task to deliver a fixed purpose software and the artefacts required collaboration tools, e.g. a Wiki, are invaluable
price, fixed scope project, what develop- to create, deploy, operate and maintain it. to complement face-to-face communication.
ment methodology should we follow to Agile methods are therefore an attractive The aim must be to provide just enough
maximize our chance of success? option when you need to reduce wasteful process and tools to make the information
Some might argue the waterfall process overheads. generated through discussion and personal
d u e t o i t s r i g o ro u s f o c u s o n u p f ro n t Unfortunately many advocates of agile interaction available to all stakeholders.
planning, tracking and documentation. But methods still believe that agile is only
extensive research indicates that the applicable to time and material (T&M) style Working software over comprehensive
waterfall is in fact not appropriate for any projects and little attention is paid to the documentation
but the simplest projects irrespective of reality of how to run a project where T&M Agile methods aim to reduce waste. It is
how they are contracted commercially. This is not an option. I believe that agile, iterative a continuous process, constantly evaluating
is mainly due to the lack of useful feedback, and evolutionary practices, when carefully and streamlining the process, removing
i.e. built and tested software, until very late applied, are indeed an appropriate any activity not directly adding value.
in the project, when it is very costly to approach to the delivery of fixed price, So what is waste? Newcomers to agile
c o r re c t m i s t a k e s i n re q u i re m e n t s o r fixed scope projects. often argue that the end goal is working
architecture and too late to improve the software, hence anything other than writing
process. Agile methods software is waste. Even though working
Iterative and evolutionary development I will use the Manifesto for Agile Software software is by far the most visible deliver-
aims to address this shortcoming. These Development, which summarizes the core able, it is not the only deliverable required
are risk-driven and focused on continuous values common to agile methods, to explore for a successful software system.
measurement and improvement. For fixed the areas of agile that need special attention Additional deliverables differ from project
p r i c e p r o j e c t s , w h e r e l a t e d e l i v e r y, in the fixed price, fixed scope context. to project but usually take the form of
misinterpreted requirements or last-minute documentation. Documents do not have
architectural surprises directly translate into Individuals and interaction over process to be overly formal and rigorous sign-off
budget overrun, doesn’t it make sense to and tools p r a c t i c e s a re a c t i v e l y d i s c o u r a g e d .
utilize a process that puts early risk Agile methods encourage face-to-face Lightweight, fit-for-purpose mechanisms
mitigation at its core? communication, removing barriers to to capture information at the source
Time is money. Especially in fixed price understanding of complex requirements throughout the whole development cycle is
projects where any time not spent on and concepts. However this does not mean ideal. These tend to encourage all stake-
producing useful deliverables reduces your all communication should be informal. holders to contribute and allow the required
margin and contingency and increases Experience has shown that verbal end documentation to evolve to the
delivery risk. communication alone is not adequate and appropriate level of detail.

Computing in the 21st Century 151


Application Development Tools

Ironically embracing change is simultaneously one of the most


useful and dangerous aspects of the agile philosophy and requires
discipline from both delivery team and customer to ensure the
project vision is not lost

Counter-intuitively this approach often description of how the scope should be is to start driving hoping to find directions
produces more complete documentation, realized. along the way. You might reach your
since continuous lightweight information A lightweight and efficient change control destination but it is unlikely you would have
capture tends to keep information more mechanism is encouraged where change taken the most direct or fastest route.
up-to-date than formal document is agreed and audited between an Another approach might be to consult a
management processes. empowered customer representative and map, traffic reports and other useful
the team project manager. The change information, and pick waypoints along the
Customer collaboration over contract control process should form part of the way. When for some unexpected reason a
negotiation contract so that it is clear from the start part of your route is no longer viable, or
Not surprisingly this is one of the main w h a t i s e x p e c t e d f ro m e a c h p ro j e c t your requirements change and you decide
areas where the commercial reality of fixed participant. to take a scenic detour or even choose a
price, fixed scope contracts are at odds different destination, you can adjust your
with the agile philosophy, and the contract- Respond to changeover following a plan initial plan and pick a new route for the
ual arrangement should strike a balance Agile methods encourage change in order rest of your journey.
between the commercial needs and the to improve the success of a project, This is the essence of agile planning. You
benefits of an agile approach. whether due to requirements change or accept that things are likely to change, you
Research shows that clients are likely driven from technical feedback, testing, only plan high-level milestones to keep
not to know what they need at the start of third party dependencies etc. track of the big picture and focus on the
a project and in many cases initial require- Ironically embracing change is sim- detail only for the foreseeable future. When
ments are high-level and better described ultaneously one of the most useful and there is a requirement for change, consider
as scope statements. dangerous aspects of the agile philosophy whether this is in line with the vision and
Agile methods accept this reality and and requires discipline from both delivery intent of the project, and if so manage it
encourage collaboration between the team and customer to ensure the project appropriately.
delivery team and the business to elaborate vision is not lost. Iterative development’s It is therefore important that the whole
the requirements during the project, focus on the short-term iteration objectives team understands the intent, scope and
p ro v i d i n g f e e d b a c k t h ro u g h u s e a b l e has a hidden danger in that it is attractive commercial model of the project and the
software that in turn feeds the requirements not to worry too much about higher-level importance of keeping track of change.
process. progress. It is therefore important that Technical and requirements change should
In fixed price projects this process should change be actively monitored, even if just be noted so that others in the team are
be carefully managed. Depending on the to take note of knock-on effects to project aware of possible impact. A lightweight
contract, contingency and maturity of the milestones or third party dependencies. mechanism is more than adequate as long
customer relationship one might allow A common misinterpretation of the agile as it provides history and easy access to
requirements to be refined to a certain manifesto is that all planning and tracking all members.
extent within the defined scope but is pointless since it is all going to change
shouldn’t allow scope to change without in the future. This is far from the truth. High- My final thought
appropriate change control. There is a level planning and even estimation can be In an ideal world there would be no such
significant difference between scope and very useful even in smaller projects but thing as fixed price, fixed cost projects.
requirements change. Scope identifies the becomes essential in the larger ones. One day this may be true, when all
general features and size of the project A good analogy is considering a journey businesses understand the benefit of a
w h e re a s re q u i re m e n t s a re t h e d e t a i l to an unfamiliar destination. One approach more flexible and adaptive commercial
procurement model.
Until such time however, here at Valtech
Iterative and evolutionary methods we believe that careful application of
Extensive research has shown that the following best practices significantly increase modern agile, iterative and evolutionary
the success of software projects independent of the commercial model. These are best practice is the most risk-averse
all at odds with waterfall development and common to all iterative and evolutionary method of delivering business-centric
methods: software. ■
● short time boxed iterations: analyze, design, build, integrate and test in every

iteration;
● risk driven development: focus on both the technical and business risk areas first; Richo Strydom is CTO of Valtech Ltd,
● constant feedback: improvement of both the software and the process; a global IT consultancy and solutions
● integrate and test frequently: unit tests as well as functional end-to-end tests; provider. For further information please
● short-term project management focus: detail task identification and tracking within contact Valtech on tel: (020) 7014 0940,
the current iteration, and milestone planning at the project level. email: richo.strydom@valtech.co.uk
or vist www.valtech.co.uk

152 Computing in the 21st Century

Vous aimerez peut-être aussi