Category Archives: Agile

Agile is brilliant says DWP’s head of major programmes

Steve Dover, head of major programmes at the Department for Work and Pensions, is qu0ted in Computer Weekly as saying of agile methods:

“It’s a brilliant, brilliant methodology … Get it right. Don’t pay it lip service.”

 Mark O’Neill, CIO at the Department for Communities and Local Government and leader of the government’s “skunkworks” team to promote innovation, is quoted as saying: “SIs [systems integrators – large IT companies] must recognise that the old world is dead and they have to change their model”.

But Malcom Whitehouse, DWP deputy CIO, implied there was some work only systems integrators could handle.

Agile can fix failed GovIT says lawyer.

Steve Dover on YouTube – the benefits of agile in GovIT [for the Institute for Government]

Cabinet Office turns to agile SMEs to reform Whitehall IT.

Agile: more about ‘business capability development’ and not simply ‘software development’

By David Bicknell

I like Mark Foden’s thoughts on Agile, posted on his posterous blog . He  makes the point that  Agile is not just about software development but a much broader development of entire business capabilities, including comms, training, people-change etc. But,  as he says, when you hear of Agile, you think of  ‘Agile Software Development’. I think he’s right.  He suggests explicitly referring to it as ‘Agile Business Capability Development (or somesuch). ‘

Agile Business Capability Development  might be a bit longwinded – but might  be  an easy and excellent acronym! I wonder if there are any shorter, more pithy alternatives……

Agile can fix failed GovIT says lawyer


In a guest blog, commercial lawyer Susan Atkinson argues that agile development is not an evangelical fad ill-suited to government IT.

The blog by Alistair Maughan in Computer Weekly in which he argues that Agile will fail GovIT’  is quite extraordinary [1].  It is extraordinary in that it completely overlooks the poor track record of GovIT to date. It also makes a damning attack on the adoption by the Government of agile without explaining the potential benefits.

The state of GovIT

The Government spends about £16bn per year on IT. The spend has been growing steadily in recent years and, without radical intervention, shows no sign of abating. [2]  A compelling number of studies has found that about one quarter of all IT projects (in both the public and private sector) are cancelled and about half are delivered late, over budget or both. [3]   This would suggest that public funds in the order of several billion pounds per year are being invested by the Government in failed IT projects.

In 2005 Edward Leith, Chairman of the Public Accounts Committee, commented that:

“far too often major IT enabled projects in government departments are late, well over budget, or do not work at all – an enormous waste of taxpayers’ money” [4]

The problem is so serious that shortly after coming into power the Coalition Government introduced the ICT Moratorium, under which any new ICT contracts and contract extensions/modifications above a value of £1m could not be entered into without specific agreement by the Treasury.

The waterfall model

Why is the track record of IT projects so dreadful?  Until fairly recently virtually all IT projects have been managed using the waterfall model.  The waterfall model enshrines a sequential development process, in which development is seen as flowing steadily downwards – like a waterfall – through the phases of conception, initiation, analysis, design, construction and testing. The output of each phase provides the input for the next stage.

There are two very significant consequences of the waterfall model.  Firstly, all of the requirements of the customer are specified before the project starts.  However, this fetters the ability of the customer to respond to change and to exploit emergent opportunities over the course of the project.  Secondly, the customer does not receive anything of tangible value until all of the requirements have completed testing at the end of the project.   This means that it can be many months and possibly years before the customer can realise its investment in the project.

The waterfall model has come under increasing criticism for a number of reasons over recent years.  Major studies point to the use of the waterfall model as the cause of failure for many IT projects.

Agile is not “an evangelical fad

Agile has developed from a grassroots movement in the US in the 1990s as a backlash to the waterfall model, and its influences originate in Japan. The theory of agile is based upon, and supported by, complexity science, systems dynamics, economic theory and behavioural studies, amongst others.

The adoption of agile has steadily increased since 2001 when the Agile Manifesto was created.  Originally agile was largely the premise of the IT departments (even though agile is not necessarily IT-specific), but it is now widely used on an organisational basis, in virtually all industry sectors, and extensively in North America, Japan and the Scandinavian countries.

Some of the most remarkable examples of the use of agile are found in Google, Yahoo! and salesforce.com.  Indeed, salesforce.com has delivered a 41% annual return to shareholders over a sustained period, and it credits this result in no small part to its adoption of Scrum in 2006. [5]

BSkyB v EDS and DeBeers v Atos

The cases of BSkyB v EDS and DeBeers v Atos do not show that “when Agile projects go wrong, they can go spectacularly wrong” .The decision in BSkyB v EDS  doesn’t make any reference to agile.  The project was actually based on the waterfall model and used rapid application development (RAD) – which isn’t agile – for rapid development of prototypes, the feedback from which was fed back in to the requirements.

The project outsourced by DeBeers to Atos began, ostensibly, with an agile approach, but then switched to a more traditional approach after the project began to run into difficulties. However, the parties do not appear to have contracted on an agile basis. It is very difficult to run a project on an agile basis within the constraints of a traditional contract, because the waterfall model and agile model are quite different.  Despite the references by the principle technical architect to DSDM (Dynamic Systems Development Method), which is an agile methodology, it is not clear from the decision how the project was in fact run in an agile way.   For example, it appears to have always been the intention that a sequential model of development would be used, which is wholly inconsistent with an agile approach.

A  general lack of understanding of agile best practice  

Agile is merely an umbrella term for lightweight methodologies, of which Scrum and Extreme Programming (XP) are the most widely used.  Each of the methodologies is quite different.  For example, the Rational Unified Process (RUP) is far more prescriptive than Scrum.  For there to be a sensible debate on agile we need to ensure that the participants share a common understanding of agile best practice.

Agile is compatible with fixed price

Contrary to what is suggested, it is possible to agree a fixed price for an agile contract.  Under an agile contract the project is sub-divided into modules or releases, each of which is initiated by means of a statement of work.  The releases can be charged for on a fixed price basis, or the units of work (often measured by reference to story points) can be charged for on a fixed price basis.

However, “a watertight contract, clear deliverables … with a fixed price and appropriate remedies” is a fallacy.  Any project must be performed and delivered under certain constraints, which have traditionally been identified as:  (i) Scope (features and functionality), (ii) Resources (cost and budget) and (iii) Schedule (time).  These three constraints compete against each other and exist in an ‘unbreakable’ relationship, as illustrated by the ‘Iron Triangle’. [6]

For example, bringing forward the scheduled end date by adding more resources will increase cost, or, adding to the scope will increase time and cost.  So, if all three constraints are fixed, there is no give in any of them if there is any uncertainty or unforeseen events arise during the project, and it has been proven that this will inevitably adversely impact on quality and the project objectives.

Most customers want to fix Resources and Schedule which means that Scope must be allowed to vary.  The question, therefore, is how can the customer derive value if the Scope may change?  Agile solves this problem by prioritising the requirements of the customer on an ongoing basis throughout the project, ensuring that the highest priority requirements are delivered on time and within budget.

In any event, many projects are actually over-specified.  It has been shown that 64% of software features are rarely or never used. [7]  So it may well be the case that the overall needs of the customer can be met without the need to deliver the lowest priority requirements, in which case it may be possible to achieve significant cost-savings by ending the project earlier than originally planned.

This can be contrasted with the traditional waterfall method under which the customer doesn’t receive anything of tangible value until all of the requirements have been delivered.

The Government is right to want to manage its budgets tightly.  However, it has been proven that uncertainty is inherent in the process of software development.

For this reason any estimates regarding price (or, indeed, regarding the amount of effort involved or schedule) are subject to large amounts of uncertainty at the start of the project.  This amount of uncertainty is only reduced as the software definition is refined over the course of the project, as illustrated by the ‘Cone of Uncertainty’. [8]

It is unrealistic to rely on estimates made at the start of the project when the level of uncertainty is at its greatest.  The Government has experienced so many problems with overruns on fixed price contracts that today many of its contracts for software development are no more than a variation of time and materials.

Compliance with public procurement rules

EU public procurement rules require public sector bodies (PSBs) to ensure suppliers are treated on equal terms and to avoid discrimination on the grounds of country of origin.  The contract should be awarded to the most economically advantageous tender, using pre-defined and objective criteria.  Detailed up-front specifications and a fixed price are not a requirement.   Contracts awarded for the provision of consultancy services or, indeed, legal services, are a good example of this.  In any event, in an agile contract the scope of the project is outlined in the form of the objectives of the project, the metrics for success and the constraints.

In Finland, which is also subject to the EU public procurement rules, there are a number of agile contracts that have been awarded by PSBs in full compliance with these rules.

Contractual rights and remedies in an agile contract

I disagree that “Agile contracts lack clear contractual delivery obligations or remedies”.  An agile contract only differs from a traditional contract in terms of how the solution is delivered.  There is no reason why, for example, provisions regarding the treatment of intellectual property rights, data protection, assignment and so on should be treated any differently.

In fact a customer has more remedies under an agile contract than under a traditional one.  Under a traditional contract it is very difficult for a customer to enforce any of its rights before the acceptance date – which can be many months or even years away – because up until then all of the requirements are merely work in progress.  Often it is difficult to determine in the acceptance tests whether the software delivered meets the requirements because there have been so many change requests to the requirements in the intervening period that it is hard to establish what the requirements are.

Under an agile contract there are contractual rights and remedies at the end of each release.   The supplier commits to deliver by each release completion date fully tested and working software that is ready to deploy and which represents an agreed number of completed units of work.  As mentioned above, units of work are often measured by reference to story points.

Equally important is the ability of the customer to plan adaptively throughout the development project, re-focusing the work of the supplier at the start of each iteration based on its findings from the work delivered to date.  Not only does this give the customer much greater flexibility, but it also means that many disputes can be avoided by correcting misunderstandings at an early stage.

The discrete roles of the customer and the supplier

Whilst agile advocates the collaboration of the customer and the supplier, their roles are quite different and – contrary to what is suggested – clearly defined.

The supplier has responsibility for the technical domain and the customer has responsibility for the business domain.  In other words, the customer is responsible for articulating the business processes to be codified, and the supplier is responsible for designing and writing the code.  To that extent the roles are clearly demarcated.

However, input from both parties is essential, as software development is nothing more than the codification of business processes.    It is unrealistic for the customer to transfer all responsibility for delivery to the supplier.

Cross functional teams

The blog states that agile “is not suited to public sector management structures” for the reason that decision-making is centralised in government, whereas “agile decision-making … flows down”.  Arguably, it is not agile that is not suited to public sector management structures, but public sector management structures that are not suited to agile.  The Institute for Government acknowledges that organisational culture within government is a significant barrier to the adoption of agile:

“The existing governance and commercial processes, not to mention the fundamental mindset shift required, pose specific and difficult challenges.” [9]

However, that is not a reason for rejecting the new IT strategy.  There is currently a trend for organisations in many different industries and disciplines to move away from hierarchical and siloed departmental structures and towards decentralised cross functional teams.  This approach is advocated by TQM (total quality management), lean, systems thinking, and in business management books such as ‘The Leader’s Guide to Radical Management: Reinventing the Workplace for the 21st Century’ by Stephen Denning.

Conclusion

 The age of the Internet has made possible collaborative working and joined-up thinking on a scale never previously experienced.  But it has also brought about innovation and a pace of change at a rate that is pushing traditional project methods and contracts to breaking point.  Agile offers a solution for managing projects in this increasingly dynamic environment.

The Government should be applauded for taking the bold step to change its IT strategy to adopt agile.  However, it is inevitable that, like any innovation, such a significant change in strategy will be met with resistance.

It will require changes to be made not only on the part of the government, as highlighted by the Institute for Government, but also on the part of suppliers and supporting partners, including the legal profession.

But there is already evidence that agile can fix failed GovIT.  A number of public sector bodies, including the Ministry of Defence and the Metropolitan Police, are already using agile with great effect.  We now need to move forward the debate to discuss how the challenges to the adoption by government of agile can be overcome.


[1] The blog ‘Agile will fail GovIT, says corporate lawyer’ published by Computer Weekly on 26 April 2011.

[2]   Latest total spend based on the estimate in the ‘Operational Efficiency Programme’ final report published by HM Treasury in April 2009.

[3] ‘Software Estimation: Demystifying the Black Art’by Steve McConnell.

[4] As reported in The Telegraph in 2005.

[5]  The blog ‘Six common mistakes that salesforce.com didn’t make’ by Steve Denning and published on the Forbes website on 18 April 2011.

[6] The ‘Iron Triangle’ was invented by Dr Martin Barnes in 1969 and popularised in the Project Management Body of Knowledge (PMBOK Guide) issued by the Project Management Institute (PMI).

[7] Standish Group study reported at XP 2002 by Jim Jonson, Chairman.

[8] The original conceptual basis of the ‘Cone of Uncertainty’ was developed by Barry Boehm in 1981. The model has since been validated, based on data from a set of software projects at the US Air Force, NASA’s Software Engineering Lab and other sources.

[9] ‘System Error: Fixing the flaws in government IT’ published by the Institute for Government in March 2011.

**

Susan Atkinson is a Legal Director at gallenalliance Solicitors, based in London.  She is a commercial lawyer specialising in IT and with a particular interest in Agile and Lean. She has been advising the Institute for Government on an ad hoc basis on the contractual implications for the government in outsourcing agile projects, and has contributed to the Institute’s report ‘System Error: Fixing the Flaws in Government IT’.

 

Alpha.gov.uk shows how agile can work in government

By Tony Collins

Harry Metcalfe, managing director of Dextrous Web, has written an excellent article on Alpha.gov.uk.

Alpha.gov.uk is a prototype, built in response to some of the challenges laid down in a report by Martha Lane Fox last year. The two main objectives of Alphagov are to:

– test, in public, a prototype of a new, single UK Government website

– design and build a UK Government website using open, agile, multi-disciplinary product development techniques and technologies, shaped by a preoccupation with user needs.

It’s clear from Metcalfe’s post that he  understands the unbending ways of government. He sees the opportunities too. He says:

“As a technical solution, this [Alphagov] is brilliant. If you’re going to have a single [web] platform, this is the right kind of platform to have, because it embraces change.

“If you want some new functionality, add an app for it. If you need a new department, add a new instance of the department app, add your content, and you’ll have 90% of what you need.

“If you want to run a consultation using someone’s third-party tool, just have them brand it appropriately and write an app that gives you as much integration as you want, or as the tool can support. But this kind of flexibility is powerful. In many respects it’s anathema to the way government works.

“For a start, it requires something government unwisely gave up on long ago: an in-house development team…”

Campaign4Change comment:

Alphagov is not yet handling transactions. Indeed there are no agile-developed systems that handle passport applications or tax self-assessment.

As Metcalfe says: “…transactions are complicated, messy beasts, unavoidably bound up with business processes and legislation; empires, politics and entrenched positions; long contracts and vast sums of money.. it’s not primarily a technological problem. It’s a process problem, and those are much harder to fix.”

It may be a matter of time, though, before agile becomes far more prevalent in public sector IT. Universal Credit is based on agile, in a programme run in part by the redoubtable Joe Harley, the UK Government’s CIO.

Harley told the Public Accounts Committee last month:

“In the waterfall it takes quite a while to do a design – maybe a year or two … By the time we come to execute, things have moved on.

“In the agile world, it is a way of providing rapid solutions very quickly. Normally, and in Universal Credit it is monthly, one designs, develops, implements and produces a product very early on in the cycle. It is particularly useful and appropriate when the users themselves – in the universal credit, citizens themselves – can participate in the creation of it. It is about user-centric, rapid deployment solutions. That is what we hope to achieve.”

Ian Watmore, Chief Operating Officer at the Cabinet Office, told the same committee that the government objective is for the first claims under Universal Credit to be paid by October 2013. He said: “I would have thought that if we achieve that, it will become the precedent and benchmark for Government projects.”

We hope Universal Credit is a timely success and that it becomes a benchmark for government projects. It’s easy to talk down the chances of agile in government on the basis that it ill suits the way government works. But Francis Maude, officials in the Cabinet Office, and Alphagov’s developers want to change the way government works.

To say that agile won’t work in government is like telling someone who’s obese that they need not eat less because history shows they won’t be able to.

Government must spend less. And agile is one way to cut spending. Alphagov is showing the way.

How Alpha.gov.uk came about:

Last year Martha Lane Fox published suggestions on reforming UK Government’s online. At the launch of her report (subtitled “revolution, not evolution”) she recommended:

“…Putting the needs of citizens ahead of those of departments”

She made a strong case for the UK Government to adopt a single web domain, analogous to the BBC’s use of BBC.co.uk, and recommended a radical change in how gov.uk sites are produced:

“Government should take advantage of the more open, agile and cheaper digital technologies to deliver simpler and more effective digital services to users.”

Links:

How Alphagov might change UK government for the better.

Institute for Government: what’s wrong with government IT?

Agile in government IT – don’t knock it.

10 things Alphagov gets right.

10 things Alphagov gets wrong.

Alpha.gov.uk

Agile in Government IT – don’t knock it

By Tony Collins

Alistair Maughan, a lawyer who specialises in large ICT projects, argues that agile won’t work in government ICT.

“The Government ICT strategy had some good ideas. Agile project management isn’t one of them,” says Maughan in a cogent and informed blog post for Computer Weekly.

I asked the Institute for Government to respond to Maughan’s comments. The Institute advocates agile in its report System Error: Fixing the flaws in government IT.

My thanks to Jerrett Myers, a senior researcher at the Institute, who has written the piece below, in response to Maughan’s comments.

Agile government ICT – a question of innovation

Like any management innovation, there are plenty of challenges in adopting an agile approach, but fortunately none are insurmountable.  The innovation guru Everett Rogers outlines a series of factors that influence the rate of adoption of an innovation – in effect setting out a test for how likely it is for an innovation to be implemented.

The first is test is the relative advantage of the innovation – the degree to which a new way of working is perceived as superior. Government departments and agencies have reported extremely positive results from agile projects. Indeed, the Department for Work and Pensions, the Ordnance Survey and the Ministry of Defence have all used agile methods for delivering ICT projects.

Regularly changing priorities, advances in technology and the desire for more cost-effective and user-led solutions require a far more responsive approach to running ICT projects.  Of the thousands of people who have downloaded our recent report, we have had an overwhelmingly positive response to the idea for government.

So how can government make it work? The second innovation success factor is ‘trialability’ – can departments test out this approach on a limited basis.  Again, the good news is that at relatively low cost, departments can use an agile approach for running ICT projects – and indeed they are committed to doing so.

The third characteristic is ‘observability’ – are the results of the innovation visible to others.  Whitehall has committed to creating a centre of excellence across government and the private sector which can enable fast start-up and mobilisation for agile projects.  It will also establish a cross government approach and capabilities for agile.  This should serve to raise the profile and ‘observability’ of agile projects.

The fourth factor is complexity – how difficult is an innovation to use and understand.  Here, the government faces a greater challenge.  New skills will be required which are ‘in-house’ rather than bought in through contractors.  This includes making difficult trade-offs and prioritising effectively. Regular testing, planning and demonstration will need to take place to handle risks. And by taking part in agile projects, it can serve to internalise agile values, build skills and help to foster support, understanding and momentum for change.

The final factor is perhaps the greatest barrier to overcome – compatibility – the degree to which an innovation is consistent with existing values, norms and operating procedures.  Maughan underscores how different the agile approach is for running ICT projects. The project approval processes and legal arrangements governing contracts need to be adapted to be far more responsive and receptive to agile delivery.

Equally important is the culture of empowerment that needs to surround projects.  Fortunately, the experience in other large organisations in the public and private sector suggest this transition is possible.

At a large government agency, budgeting and governance processes have changed to accommodate and encourage more agile projects.  Its new investment approval process involves obtaining early permission to fund development immediately without a fully specified business case being approved (although a robust justification must still be provided). The projects are given permission to spend at a particular rate over a period of time and return to the investment board at specified intervals for further approvals and to update on progress.

On each of these points, it appears that agile can succeed with the right leadership and determination for change. Ultimately, however, this isn’t just about adopting a new approach to government ICT, reforming the procurement process or taking a more sophisticated approach to managing risk.  Instead, it is a test of Whitehall’s capacity for innovation.

**

Jerrett Myers is a Senior Researcher at the Institute for Government. The Institute for Government’s report, System Error: Fixing the flaws in government IT can be downloaded here.

Alistair Maughan’s blog post for Computer Weekly is here.

12 “agile” principles

By Tony Collins

The  principles (below), which are largely managerial,  highlight the challenges for government departments and suppliers of adopting agile principles for major IT-related projects such as Universal Credit.

Some in government have said that agile can deliver systems to support political policy quickly, say within two years –  but that’s far too long. Under agile principles, working systems should be delivered between two weeks and two months.

 I particularly like the tenth principle, which defines simplicity as the art of maximizing the amount of work not done; in other words not gold-plating requirements.

The second principle is also especially important for government IT-enabled projects and programmes: it states that changing requirements are welcome, even late in development.

The principles are from the excellent website of project manager Robert Kelly.

12 Principles behind Agile
 
  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals.  Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development.  The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity –the art of maximizing the amount of work not done– is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Kelly’s contemplation – Robert Kelly’s blog

The Institute foir Government recently produced some case studies from its System Error report.

Francis Maude tells civil servants: try new things and learn from failure

By Tony Collins

Francis Maude, the Cabinet Office minister who’s in charge of reforming central government, has told MPs that “good organisations learn as much from the things that are tried and do not work as from the things that are tried and do work”.

His comments will give top-level support to those in the public sector who are seeking small budgets to experiment with, say, agile approaches to software development.  The agile principle of failing cheaply and quickly and learning the lessons is unconventional in the public sector.

Appearing before the Public Administration Committee, in its hearing on Good Governance and Civil Service Reform, Maude said:

“You need to have a culture-we do not have this yet-where people are encouraged to try new things in a sensible, controlled way; front up if they have not worked – not have a culture that assumes every failure is culpable, and for every failure there has to be a scapegoat – but actually make sure that if something is tried and does not work: 1) you stop doing it; and 2) you learn from the things that have been tried and what the lessons are.

“I do not think we are good at that … part of the reason for that is the sort of audit culture, where everything has to be accounted for to the nth degree.

“I think we waste a huge amount of time and effort in stopping bad things happening and the result is we stop huge amounts of potentially good things happening as well.”

Maude was critical of the way government takes huge risks on big projects but is hostile to innovation at the micro level. He said: 

“Government tends to be quite prone to take huge macro risks, but then at working level, at micro level, to be very risk averse and hostile to innovation.

“You do not often hear of someone’s career suffering because they preside over an inefficient status quo, but try something new that does not work and that can blot your copybook big time.”