SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
Diamonds and IT – can the two be agile?

Fundamentals of software development in light of De Beers UK Limited v Atos Origin IT Services UK
Limited [2010] EWHC 3276 (TCC)

There are not too many UK legal cases which touch upon agile software development, so to find one
that mentions the concept in any material detail is something of a windfall. De Beers v Atos Origin is
one such example. In developing a large, complex, end-to-end IT system for De Beers to cover its
diamond-management processes, Atos set out with agile principles in mind. The project went awry
almost from the outset, and in trying to steer things back on track, Atos decided to ditch agile and
adopt a waterfall approach. This begs the question "Why?".

Agile & waterfall

It is perhaps worthwhile taking a moment to flag the differences between waterfall and agile
methodologies.

The waterfall methodology will be familiar to most readers who have been involved with software
development to a greater or lesser extent. It was the original, and may still be the most common
method of software development. In essence it is comprised of a series of sequential phases which
start with a big scoping and design effort to establish a customer's business requirements, and agree
a set of architectural and technical specifications to meet those requirements. This design phase is
then followed by actual coding of all relevant software en masse; testing and rework followed by user
acceptance testing (again en masse), and further rework as necessary. All this is to occur to a set
plan and once the business requirements and specifications have been set, potentially in relative
isolation from customers, until code is presented for acceptance.

"Agile" is used to describe a grouping of methodologies which were developed in response to
perceived failings in the waterfall model. They move away from rigid sequential phasing, and instead
focus on a more collaborative and iterative process in which high-level business requirements are first
identified, but then prioritised, refined to a detailed level, coded, built, tested, rectified, re-tested,
accepted, cleansed and integrated in short iterations or "sprints", the outcome of which is intended to
be fully functioning (or at least "potentially shippable") code. SCRUM, originally a Japanese product
manufacturing methodology, is perhaps the most well-known example. The concepts have been
around since at least the mid-nineties, and the "agile" term since at least 2001, but they have arguably
only hit the mainstream in the last five years or so. General legal practice, it may be argued, is still
catching up.

Why did Atos abandon an agile approach?

Atos' approach and reasons for changing to waterfall were as follows:

"[The De Beers project] was originally intended to be developed agile-style. To this end, the team was
organised into BA's [Business analysts] who would define the requirement, and then a pool of dev's
[developers] who would be organised into teams to build elements of the solution incrementally, with
the project beyond the requirements definition set-up SCRUM-style; all supported by an architect and
a few key designer/dev's. This is all very DSDM [dynamic systems development method, a type of
agile methodology] as an approach, and can work fine in the right context, and of course with the right
customer.

It became apparent that this wasn't going to work. This is for several reasons:




© DWF LLP 2011                                                                                          1
The application was much larger than was originally thought, in terms of function points

        The application is much more integrated and complex than was originally thought; a huge
        end-to-end multi-country workflow, with many of the same business concepts and sub-
        processes popping up at many points in the workflow and many "wrinkles" in the detail of the
        processes

        At contract signature the requirements were high level. Detailed requirements were defined in
        January 2008 and signed off in February, and only then were the maintainability and
        extensibility requirements expressed in [a particular process requirements document]
        apparent.

        The customer is demanding, particularly on the technical side, and this did not fit well with an
        agile approach to build."

It is probably inappropriate to be overly critical of Atos on the basis of the above extract alone; after
all, it is only one brief snapshot of what was unquestionably a very complicated picture. Furthermore,
this extract is not detailed enough to draw much in the way of a conclusion about how well agile had
been implemented by Atos – although one might be tempted to speculate.

It is, however, interesting to note that the first three bullets all relate back to one fundamental issue:
Atos had not accurately appreciated at the outset what they were getting themselves into. An agile
approach involves requirements being scoped at an initial, accurate, but relatively high level only, with
the real detail being delved into later on. A waterfall approach requires all business requirements to be
scoped in comparatively exhaustive detail. In moving between the two, Atos may have sought more
detail, earlier (something waterfall could help with), but this should not be confused with a desire for
more accurate information, which is fundamental to both.

In any case, it transpires Atos were attempting to shut the stable door after the horse had bolted. They
had already been through two requirements-gathering exercises by the time they wrote the report
from which the above extract comes. They had also signed the development contract. At this stage no
change of methodology would serve as a golden bullet and make up for a fundamental knowledge
deficit, whether in detail or accuracy, or the legal position in which they found themselves.

It is perhaps easier to be sympathetic with Atos wanting to move away from agile because De Beers
were "technically demanding". This phrase is not fully explained in the judgment and many people
would argue agile leads to better, not worse, technical development practices. On one reading, it may
just refer to Atos' lack of technical business and process understanding to which we have already
referred. On another reading, De Beers may have found themselves having to take a leap of faith with
which they were uncomfortable, resulting in increasingly technical demands. Agile methodologies do
require an element of mutual trust, in particular for organisations that are unfamiliar with them or their
potential benefits. That said, if De Beers had to make a leap of faith, Atos had the opportunity at the
project outset to recognise this and generate the required buy-in: if this was lacking, then it needed to
be addressed. Managing it thereafter would just have been another standard project dependency.

Another story of basic errors?

The picture that begins to emerge from looking at Atos' shift from agile to waterfall hints at the wider
reasons why they and De Beers ended up in court. Agile was perhaps the fall-guy for more
fundamental failings, most critical of which was that Atos had leapt into a deal with De Beers, without
looking properly to see where it would land. Some of these failings are outlined below. The quotations
are all taken from the case report.




© DWF LLP 2011                                                                                          2
Resourcing. Atos did not deploy enough time or resources in its otherwise sensible "initiation
       and analysis phase" (IAP) before the main contract was signed; one expert who appeared
       before the court felt it allowed only half the time that was actually required. This issue was
       repeated in a second phase of requirements gathering after the contract had signed.

       De Beers' requirements. During the IAP, De Beers found themselves in the position of being
       a customer who didn't know what IT system they wanted to buy, at least in part.

       "The workshops that were set up to enable Atos' business analysts to identify the
       requirements turned out to be unstructured discussion groups in which much time seems to
       have been spent by the [De Beers] users in trying to establish what they required as well as
       identifying to the Atos business analysts what those requirements were to be".

       Sound familiar though? De Beers are hardly the first customer to be in this position.

       Pro-activity. De Beers had concerns at the conclusion of the IAP that Atos might not have
       grasped the complexity of their processes, but appear (at least on the case transcript) not to
       have been pro-active in trying to address the point.

       Contracting process. Atos and De Beers proceeded to contract for the delivery of the
       relevant system based on the IAP output; however:

       "[ATOS] seriously underestimated [the risk that it had not understood De Beer's processes
       well enough], a problem that I suspect may have been compounded by an additional factor,
       namely that those responsible for the commercial negotiation of the contract did not liaise
       very thoroughly with Atos's project manager and business analysts who had been involved in
       the IAP."

       Such a divorce between the contract and commercial reality is regrettably not uncommon. In
       the judge's own words, "it was a failure of internal management for which Atos has no one but
       itself to blame".

       Availability & Notice:

       "There were problems with [De Beers] staff attending workshops and generally being
       available to provide information…many of the key people did not have the time to make
       themselves available…Atos business analysts did not give enough notice of when they
       wanted to see people or wanted them to attend meetings or workshops."

       Unrealistic timescales:

       "The March/April programme [of development] was never achievable in the first place
       because it relied on 100% performance by the members of the Atos team, so that there was
       no allowance for sickness or holidays, and because it carried no contingency. These two
       factors alone probably meant that it was over optimistic by at least a month…"

       Atos' technical practices were lacking in certain areas (to say the least):

       "…We have no definition of what system is to be built…In short, what is missing is systems
       analysis. This seems to be something of a lost art (within Atos Origin at any rate), and I am at
       a loss to understand why. To build a system of this size and complexity it is an essential
       activity, and doing it now will undoubtedly pay for itself in the long term and address many
       painful risks. But of course, it casts the current plan into outer darkness and will undoubtedly
       go down like a bucket of cold sick with [De Beers]."




© DWF LLP 2011                                                                                       3
Unilateral checks. De Beers sprung an independent architectural and code review on Atos
        with at most limited notice. Although it was justified objectively, it came like a bolt out of the
        blue to Atos and damaged relations between the parties.

        Prior experience. De Beers had been bitten once previously on a similar project; should they
        have been twice shy? At the very least, the prior experience should have eradicated some of
        the behaviours that transpired in dealing with Atos.

        "[De Beers] had engaged Accenture to redevelop its integrated stock management systems,
        but the project did not go well and after three years it was terminated without achieving most
        of its objectives. Accenture complained that the project had gone badly because Accenture's
        team had not received sufficient cooperation from the relevant personnel within [De Beers],
        and so one of the lessons that came out of this unsuccessful project was that [De Beers]
        came to recognise just how unusual the nature of its business was and the difficulty facing
        outside consultants who needed to understand it."

Anything to learn legally?

The case largely turned on its own facts and the wording of the relevant contract, so at a technical
legal level, is largely unremarkable. Three points are worthy of note to those interested in the law and
IT though:

        Concurrent delay. The Court applied construction law principles by analogy in assessing the
        delays that had ensued from both Atos' and De Beers' actions (i.e. where one party's actions
        could not be distinguished as the underlying cause of a particular delay):

            o    Atos was entitled to an extension of time as a result of De Beers' actions. A supplier
                 has to perform within a reasonable period of time, but by the same token, is entitled
                 to a reasonable period of time within which to perform;

                 but

            o    Atos could not recover damages for any losses it incurred. It would be unjust for a
                 supplier to recover damages where it would have suffered the same loss as a result
                 of its own actions.

        Scope changes. The Court upheld the accepted view that changes in breadth (i.e. the
        addition of new requirements, not contemplated by those originally agreed) are breaches of
        contract which unless agreed to, and paid for as contemplated by the relevant contract, are
        actionable. By contrast, changes in depth (i.e. adding extra detail to identified requirements
        sufficient to enable the build) fall within the contract terms, the risk of which is borne by the
        supplier.

        The manner of repudiation. Atos was held to have repudiated the contract. Of itself this is
        not particularly remarkable. What is more worthy of note, is the stance Atos took (after taking
        legal advice):

        "What Atos was willing to do was "to complete the project on a time and materials basis at our
        own internal standard rates". That is an expression of an intention to complete the work on
        different terms, not upon the terms originally agreed…This offer was itself subject, amongst
        other things, to [De Beers'] agreement to waive any claim that it may have against Atos in
        relation to Atos' delivery to date…There is a very significant difference between being willing




© DWF LLP 2011                                                                                          4
to complete a project, and being willing to fulfil a contract. Atos may have been genuinely
        prepared to do the former, on its own terms, but that was itself inconsistent with a willingness
        to do the latter."

        To the casual observer this seems like a fairly audacious attempt by Atos to shift the contract
        onto terms where De Beers took all the risk of delays and cost overruns; presumably banking
        on the fact that De Beers would not want to lose a second project. De Beers ultimately called
        their bluff. It is questionable how many customers would have the financial strength and
        willingness to do likewise.

Conclusions

A software development project can work on a waterfall or an agile basis, but the basics have to be in
place in either scenario in order for the project to succeed. Make sure you have the basics covered.
For example:

        For both parties, burying one's head in the sand is not an option; being pro-active to head off
        issues is essential. A failing project will still be a failing project unless the causes of failure are
        directly addressed, regardless of the methodology adopted. A suitable cross-party
        governance regime, including (especially in an agile scenario) close-knit teams is very helpful
        in this regard, and will help flag possible issues, but is no substitute for genuine collaboration
        on the ground and a mutually constructive, courteous and open attitude.

        Appropriate resourcing and planning are key. Timeboxing and other short cuts are
        unquestionably necessary on occasion, but beware their potential implications.

        From a customer's perspective, it is worth remembering that a set of solid business
        requirements is absolutely critical. If a customer does not know what it wants or needs, then
        an initial fact-finding consultancy phase is essential to ensure such requirements are
        developed, even if time-consuming and potentially costly. The time and costs will be less than
        those involved in sorting out a mess later on down the line.

        From a supplier's perspective, such an initial fact-finding phase is equally important. If it is
        executed properly, it is the foundation on which most, if not all, of the rest of the project sits. If
        done badly though, a supplier may reap a whirlwind (as happened to Atos).

        Ensure the people responsible for any initial scoping phase and ultimate delivery of a project
        are heavily involved in, and have the necessary time to devote to, the proper definition of the
        ultimate parameters within which the latter are to act – the contract. It may be painful on
        occasion, but it is very necessary.

        Obviously, make sure your contract is clear as to who is responsible for delivering what,
        when, where and how. From a customers perspective, if you do not have technical expertise
        and you are relying on your supplier for certain things – e.g. to build to your requirements – do
        not compromise on such fundamentals. Conversely, from a supplier's perspective if you are
        required contractually to understand how a customer's business works, make sure you
        genuinely have an accurate picture (even at a high level) before committing to a contract. It is
        better to do too much work in this regard at the outset, than too little.

Robert Machin (Senior Solicitor)




© DWF LLP 2011                                                                                               5

Contenu connexe

Similaire à Diamonds & It Agile Software Development In Light Of De Beers V Atos Origin (Dwf 190511)

EC cloudconsult OASIS 20110831
EC cloudconsult OASIS 20110831EC cloudconsult OASIS 20110831
EC cloudconsult OASIS 20110831Jamie Clark
 
You're Not Ready for Internal Cloud
You're Not Ready for Internal CloudYou're Not Ready for Internal Cloud
You're Not Ready for Internal CloudBMC Software
 
Implement Data Ware House
Implement Data Ware HouseImplement Data Ware House
Implement Data Ware Housebhuphender
 
Optimize Your Execution by Aligning Business and IT
Optimize Your Execution by Aligning Business and ITOptimize Your Execution by Aligning Business and IT
Optimize Your Execution by Aligning Business and ITcapstera
 
Aligning business and tech thru capabilities - A capstera thought paper
Aligning business and tech thru capabilities  - A capstera thought paperAligning business and tech thru capabilities  - A capstera thought paper
Aligning business and tech thru capabilities - A capstera thought paperSatyaIluri
 
Operation research ppt
Operation research pptOperation research ppt
Operation research pptLakshmiPriyaM6
 
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...Peter Rosenberg
 
Linked in article_on_project_delivery
Linked in article_on_project_deliveryLinked in article_on_project_delivery
Linked in article_on_project_deliveryClaude Sajous
 
Buy? Build? Why Not Both?
Buy? Build? Why Not Both?Buy? Build? Why Not Both?
Buy? Build? Why Not Both?CTRM Center
 
Business Process De Pillis Tool Comparison
Business Process De Pillis Tool ComparisonBusiness Process De Pillis Tool Comparison
Business Process De Pillis Tool ComparisonG.J. dePillis
 
Enterprise Architecture
Enterprise ArchitectureEnterprise Architecture
Enterprise ArchitectureAlan Mather
 
Arcadia and Capella: Model-Based Systems Engineering made easier! euroforum -...
Arcadia and Capella: Model-Based Systems Engineering made easier! euroforum -...Arcadia and Capella: Model-Based Systems Engineering made easier! euroforum -...
Arcadia and Capella: Model-Based Systems Engineering made easier! euroforum -...Etienne Juliot
 
Spacex Presentation
Spacex PresentationSpacex Presentation
Spacex PresentationHariv Markus
 
R12%20 Features%20and%20 Functionality%20in%20 Tca%20and%20 Cdh
R12%20 Features%20and%20 Functionality%20in%20 Tca%20and%20 CdhR12%20 Features%20and%20 Functionality%20in%20 Tca%20and%20 Cdh
R12%20 Features%20and%20 Functionality%20in%20 Tca%20and%20 Cdhemonsalve
 
Vintage group-newsletter xbrl-final-lr-1017
Vintage group-newsletter xbrl-final-lr-1017Vintage group-newsletter xbrl-final-lr-1017
Vintage group-newsletter xbrl-final-lr-1017genein19
 
Architecture in a business context
Architecture in a business contextArchitecture in a business context
Architecture in a business contextKim Parker
 

Similaire à Diamonds & It Agile Software Development In Light Of De Beers V Atos Origin (Dwf 190511) (20)

EC cloudconsult OASIS 20110831
EC cloudconsult OASIS 20110831EC cloudconsult OASIS 20110831
EC cloudconsult OASIS 20110831
 
You're Not Ready for Internal Cloud
You're Not Ready for Internal CloudYou're Not Ready for Internal Cloud
You're Not Ready for Internal Cloud
 
Implement Data Ware House
Implement Data Ware HouseImplement Data Ware House
Implement Data Ware House
 
Optimize Your Execution by Aligning Business and IT
Optimize Your Execution by Aligning Business and ITOptimize Your Execution by Aligning Business and IT
Optimize Your Execution by Aligning Business and IT
 
Aligning business and tech thru capabilities - A capstera thought paper
Aligning business and tech thru capabilities  - A capstera thought paperAligning business and tech thru capabilities  - A capstera thought paper
Aligning business and tech thru capabilities - A capstera thought paper
 
Operation research ppt
Operation research pptOperation research ppt
Operation research ppt
 
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
2009 10-08 soa-og_itil_does service in it service rhyme with service as in so...
 
Linked in article_on_project_delivery
Linked in article_on_project_deliveryLinked in article_on_project_delivery
Linked in article_on_project_delivery
 
Buy? Build? Why Not Both?
Buy? Build? Why Not Both?Buy? Build? Why Not Both?
Buy? Build? Why Not Both?
 
Business Process De Pillis Tool Comparison
Business Process De Pillis Tool ComparisonBusiness Process De Pillis Tool Comparison
Business Process De Pillis Tool Comparison
 
Enterprise Architecture
Enterprise ArchitectureEnterprise Architecture
Enterprise Architecture
 
Arcadia and Capella: Model-Based Systems Engineering made easier! euroforum -...
Arcadia and Capella: Model-Based Systems Engineering made easier! euroforum -...Arcadia and Capella: Model-Based Systems Engineering made easier! euroforum -...
Arcadia and Capella: Model-Based Systems Engineering made easier! euroforum -...
 
Spacex Presentation
Spacex PresentationSpacex Presentation
Spacex Presentation
 
12 Steps To Soa Final
12 Steps To Soa Final12 Steps To Soa Final
12 Steps To Soa Final
 
R12%20 Features%20and%20 Functionality%20in%20 Tca%20and%20 Cdh
R12%20 Features%20and%20 Functionality%20in%20 Tca%20and%20 CdhR12%20 Features%20and%20 Functionality%20in%20 Tca%20and%20 Cdh
R12%20 Features%20and%20 Functionality%20in%20 Tca%20and%20 Cdh
 
Using itil prince2_together_august_2010
Using itil prince2_together_august_2010Using itil prince2_together_august_2010
Using itil prince2_together_august_2010
 
Vintage group-newsletter xbrl-final-lr-1017
Vintage group-newsletter xbrl-final-lr-1017Vintage group-newsletter xbrl-final-lr-1017
Vintage group-newsletter xbrl-final-lr-1017
 
Case study v7.2
Case study v7.2Case study v7.2
Case study v7.2
 
Architecture in a business context
Architecture in a business contextArchitecture in a business context
Architecture in a business context
 
10 Teps to SOA
10 Teps to SOA10 Teps to SOA
10 Teps to SOA
 

Dernier

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Dernier (20)

Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Diamonds & It Agile Software Development In Light Of De Beers V Atos Origin (Dwf 190511)

  • 1. Diamonds and IT – can the two be agile? Fundamentals of software development in light of De Beers UK Limited v Atos Origin IT Services UK Limited [2010] EWHC 3276 (TCC) There are not too many UK legal cases which touch upon agile software development, so to find one that mentions the concept in any material detail is something of a windfall. De Beers v Atos Origin is one such example. In developing a large, complex, end-to-end IT system for De Beers to cover its diamond-management processes, Atos set out with agile principles in mind. The project went awry almost from the outset, and in trying to steer things back on track, Atos decided to ditch agile and adopt a waterfall approach. This begs the question "Why?". Agile & waterfall It is perhaps worthwhile taking a moment to flag the differences between waterfall and agile methodologies. The waterfall methodology will be familiar to most readers who have been involved with software development to a greater or lesser extent. It was the original, and may still be the most common method of software development. In essence it is comprised of a series of sequential phases which start with a big scoping and design effort to establish a customer's business requirements, and agree a set of architectural and technical specifications to meet those requirements. This design phase is then followed by actual coding of all relevant software en masse; testing and rework followed by user acceptance testing (again en masse), and further rework as necessary. All this is to occur to a set plan and once the business requirements and specifications have been set, potentially in relative isolation from customers, until code is presented for acceptance. "Agile" is used to describe a grouping of methodologies which were developed in response to perceived failings in the waterfall model. They move away from rigid sequential phasing, and instead focus on a more collaborative and iterative process in which high-level business requirements are first identified, but then prioritised, refined to a detailed level, coded, built, tested, rectified, re-tested, accepted, cleansed and integrated in short iterations or "sprints", the outcome of which is intended to be fully functioning (or at least "potentially shippable") code. SCRUM, originally a Japanese product manufacturing methodology, is perhaps the most well-known example. The concepts have been around since at least the mid-nineties, and the "agile" term since at least 2001, but they have arguably only hit the mainstream in the last five years or so. General legal practice, it may be argued, is still catching up. Why did Atos abandon an agile approach? Atos' approach and reasons for changing to waterfall were as follows: "[The De Beers project] was originally intended to be developed agile-style. To this end, the team was organised into BA's [Business analysts] who would define the requirement, and then a pool of dev's [developers] who would be organised into teams to build elements of the solution incrementally, with the project beyond the requirements definition set-up SCRUM-style; all supported by an architect and a few key designer/dev's. This is all very DSDM [dynamic systems development method, a type of agile methodology] as an approach, and can work fine in the right context, and of course with the right customer. It became apparent that this wasn't going to work. This is for several reasons: © DWF LLP 2011 1
  • 2. The application was much larger than was originally thought, in terms of function points The application is much more integrated and complex than was originally thought; a huge end-to-end multi-country workflow, with many of the same business concepts and sub- processes popping up at many points in the workflow and many "wrinkles" in the detail of the processes At contract signature the requirements were high level. Detailed requirements were defined in January 2008 and signed off in February, and only then were the maintainability and extensibility requirements expressed in [a particular process requirements document] apparent. The customer is demanding, particularly on the technical side, and this did not fit well with an agile approach to build." It is probably inappropriate to be overly critical of Atos on the basis of the above extract alone; after all, it is only one brief snapshot of what was unquestionably a very complicated picture. Furthermore, this extract is not detailed enough to draw much in the way of a conclusion about how well agile had been implemented by Atos – although one might be tempted to speculate. It is, however, interesting to note that the first three bullets all relate back to one fundamental issue: Atos had not accurately appreciated at the outset what they were getting themselves into. An agile approach involves requirements being scoped at an initial, accurate, but relatively high level only, with the real detail being delved into later on. A waterfall approach requires all business requirements to be scoped in comparatively exhaustive detail. In moving between the two, Atos may have sought more detail, earlier (something waterfall could help with), but this should not be confused with a desire for more accurate information, which is fundamental to both. In any case, it transpires Atos were attempting to shut the stable door after the horse had bolted. They had already been through two requirements-gathering exercises by the time they wrote the report from which the above extract comes. They had also signed the development contract. At this stage no change of methodology would serve as a golden bullet and make up for a fundamental knowledge deficit, whether in detail or accuracy, or the legal position in which they found themselves. It is perhaps easier to be sympathetic with Atos wanting to move away from agile because De Beers were "technically demanding". This phrase is not fully explained in the judgment and many people would argue agile leads to better, not worse, technical development practices. On one reading, it may just refer to Atos' lack of technical business and process understanding to which we have already referred. On another reading, De Beers may have found themselves having to take a leap of faith with which they were uncomfortable, resulting in increasingly technical demands. Agile methodologies do require an element of mutual trust, in particular for organisations that are unfamiliar with them or their potential benefits. That said, if De Beers had to make a leap of faith, Atos had the opportunity at the project outset to recognise this and generate the required buy-in: if this was lacking, then it needed to be addressed. Managing it thereafter would just have been another standard project dependency. Another story of basic errors? The picture that begins to emerge from looking at Atos' shift from agile to waterfall hints at the wider reasons why they and De Beers ended up in court. Agile was perhaps the fall-guy for more fundamental failings, most critical of which was that Atos had leapt into a deal with De Beers, without looking properly to see where it would land. Some of these failings are outlined below. The quotations are all taken from the case report. © DWF LLP 2011 2
  • 3. Resourcing. Atos did not deploy enough time or resources in its otherwise sensible "initiation and analysis phase" (IAP) before the main contract was signed; one expert who appeared before the court felt it allowed only half the time that was actually required. This issue was repeated in a second phase of requirements gathering after the contract had signed. De Beers' requirements. During the IAP, De Beers found themselves in the position of being a customer who didn't know what IT system they wanted to buy, at least in part. "The workshops that were set up to enable Atos' business analysts to identify the requirements turned out to be unstructured discussion groups in which much time seems to have been spent by the [De Beers] users in trying to establish what they required as well as identifying to the Atos business analysts what those requirements were to be". Sound familiar though? De Beers are hardly the first customer to be in this position. Pro-activity. De Beers had concerns at the conclusion of the IAP that Atos might not have grasped the complexity of their processes, but appear (at least on the case transcript) not to have been pro-active in trying to address the point. Contracting process. Atos and De Beers proceeded to contract for the delivery of the relevant system based on the IAP output; however: "[ATOS] seriously underestimated [the risk that it had not understood De Beer's processes well enough], a problem that I suspect may have been compounded by an additional factor, namely that those responsible for the commercial negotiation of the contract did not liaise very thoroughly with Atos's project manager and business analysts who had been involved in the IAP." Such a divorce between the contract and commercial reality is regrettably not uncommon. In the judge's own words, "it was a failure of internal management for which Atos has no one but itself to blame". Availability & Notice: "There were problems with [De Beers] staff attending workshops and generally being available to provide information…many of the key people did not have the time to make themselves available…Atos business analysts did not give enough notice of when they wanted to see people or wanted them to attend meetings or workshops." Unrealistic timescales: "The March/April programme [of development] was never achievable in the first place because it relied on 100% performance by the members of the Atos team, so that there was no allowance for sickness or holidays, and because it carried no contingency. These two factors alone probably meant that it was over optimistic by at least a month…" Atos' technical practices were lacking in certain areas (to say the least): "…We have no definition of what system is to be built…In short, what is missing is systems analysis. This seems to be something of a lost art (within Atos Origin at any rate), and I am at a loss to understand why. To build a system of this size and complexity it is an essential activity, and doing it now will undoubtedly pay for itself in the long term and address many painful risks. But of course, it casts the current plan into outer darkness and will undoubtedly go down like a bucket of cold sick with [De Beers]." © DWF LLP 2011 3
  • 4. Unilateral checks. De Beers sprung an independent architectural and code review on Atos with at most limited notice. Although it was justified objectively, it came like a bolt out of the blue to Atos and damaged relations between the parties. Prior experience. De Beers had been bitten once previously on a similar project; should they have been twice shy? At the very least, the prior experience should have eradicated some of the behaviours that transpired in dealing with Atos. "[De Beers] had engaged Accenture to redevelop its integrated stock management systems, but the project did not go well and after three years it was terminated without achieving most of its objectives. Accenture complained that the project had gone badly because Accenture's team had not received sufficient cooperation from the relevant personnel within [De Beers], and so one of the lessons that came out of this unsuccessful project was that [De Beers] came to recognise just how unusual the nature of its business was and the difficulty facing outside consultants who needed to understand it." Anything to learn legally? The case largely turned on its own facts and the wording of the relevant contract, so at a technical legal level, is largely unremarkable. Three points are worthy of note to those interested in the law and IT though: Concurrent delay. The Court applied construction law principles by analogy in assessing the delays that had ensued from both Atos' and De Beers' actions (i.e. where one party's actions could not be distinguished as the underlying cause of a particular delay): o Atos was entitled to an extension of time as a result of De Beers' actions. A supplier has to perform within a reasonable period of time, but by the same token, is entitled to a reasonable period of time within which to perform; but o Atos could not recover damages for any losses it incurred. It would be unjust for a supplier to recover damages where it would have suffered the same loss as a result of its own actions. Scope changes. The Court upheld the accepted view that changes in breadth (i.e. the addition of new requirements, not contemplated by those originally agreed) are breaches of contract which unless agreed to, and paid for as contemplated by the relevant contract, are actionable. By contrast, changes in depth (i.e. adding extra detail to identified requirements sufficient to enable the build) fall within the contract terms, the risk of which is borne by the supplier. The manner of repudiation. Atos was held to have repudiated the contract. Of itself this is not particularly remarkable. What is more worthy of note, is the stance Atos took (after taking legal advice): "What Atos was willing to do was "to complete the project on a time and materials basis at our own internal standard rates". That is an expression of an intention to complete the work on different terms, not upon the terms originally agreed…This offer was itself subject, amongst other things, to [De Beers'] agreement to waive any claim that it may have against Atos in relation to Atos' delivery to date…There is a very significant difference between being willing © DWF LLP 2011 4
  • 5. to complete a project, and being willing to fulfil a contract. Atos may have been genuinely prepared to do the former, on its own terms, but that was itself inconsistent with a willingness to do the latter." To the casual observer this seems like a fairly audacious attempt by Atos to shift the contract onto terms where De Beers took all the risk of delays and cost overruns; presumably banking on the fact that De Beers would not want to lose a second project. De Beers ultimately called their bluff. It is questionable how many customers would have the financial strength and willingness to do likewise. Conclusions A software development project can work on a waterfall or an agile basis, but the basics have to be in place in either scenario in order for the project to succeed. Make sure you have the basics covered. For example: For both parties, burying one's head in the sand is not an option; being pro-active to head off issues is essential. A failing project will still be a failing project unless the causes of failure are directly addressed, regardless of the methodology adopted. A suitable cross-party governance regime, including (especially in an agile scenario) close-knit teams is very helpful in this regard, and will help flag possible issues, but is no substitute for genuine collaboration on the ground and a mutually constructive, courteous and open attitude. Appropriate resourcing and planning are key. Timeboxing and other short cuts are unquestionably necessary on occasion, but beware their potential implications. From a customer's perspective, it is worth remembering that a set of solid business requirements is absolutely critical. If a customer does not know what it wants or needs, then an initial fact-finding consultancy phase is essential to ensure such requirements are developed, even if time-consuming and potentially costly. The time and costs will be less than those involved in sorting out a mess later on down the line. From a supplier's perspective, such an initial fact-finding phase is equally important. If it is executed properly, it is the foundation on which most, if not all, of the rest of the project sits. If done badly though, a supplier may reap a whirlwind (as happened to Atos). Ensure the people responsible for any initial scoping phase and ultimate delivery of a project are heavily involved in, and have the necessary time to devote to, the proper definition of the ultimate parameters within which the latter are to act – the contract. It may be painful on occasion, but it is very necessary. Obviously, make sure your contract is clear as to who is responsible for delivering what, when, where and how. From a customers perspective, if you do not have technical expertise and you are relying on your supplier for certain things – e.g. to build to your requirements – do not compromise on such fundamentals. Conversely, from a supplier's perspective if you are required contractually to understand how a customer's business works, make sure you genuinely have an accurate picture (even at a high level) before committing to a contract. It is better to do too much work in this regard at the outset, than too little. Robert Machin (Senior Solicitor) © DWF LLP 2011 5