GOING AGILE - WHAT IS BEST PRACTICE? GOING AGILE: CHALLENGES AND OPPORTUNITIES GOING AGILE MAY NOT ALWAYS BE FASTER OR CHEAPER - BUT IT CAN DELIVER BETTER OUTCOMES GOING AGILE - WHAT IS BEST PRACTICE? CHALLENGES AND OPPORTUNITIES GOING AGILE - WHAT IS BEST PRACTICE? INTRODUCTION Going agile is not an excuse for chaos, or fumbling through a project without clarity as to where it is heading. And going agile is not just about sticking yellow post-it notes on a wall. Agile is a discipline – and in fact, best practice agile methodology requires far greater discipline than traditional projects. If it is done well: + “Going agile” can provide far greater assurance that a project will deliver the required outcomes. It can overcome the risks and uncertainties of the traditional “waterfall” approach - where projects can sometimes run for two or three years before the practical problems begin to surface. + It can lead to much better engagement and collaboration between the client and service provider – with a clear focus on required business outcomes. Projects are broken down into achievable “sprints”. The agile teams have input into the design of those sprints, as well as accountability for the required outcomes for each sprint. + At the same time, adopting agile methodologies is not a silver bullet solution for all project woes. Some projects are more suited to agile treatment than others. While there are also disaster stories around agile –projects running over time and over budget – many of those problems arise where there are failures in the implementation of best practice agile methodologies and disciplines. GOING AGILE IS NOT NECESSARILY FASTER “Agile” is one of the popular buzzwords at the moment – for both IT and non-IT projects, as well as broader organisational strategies. And while the plain meaning of the word suggests that going agile means going faster, that is not necessarily always going to be the case. There are many different agile methodologies around, but the general principles are the same: + Going agile requires stronger disciplines than traditional waterfall projects. This discipline begins with the right up-front preparation, identifying the required business outcomes (in agile terminology, the “Product Vision”) and developing the initial “Project Backlog” or use cases that will deliver those outcomes. + This up-front preparation provides the basis for developing a project budget and timetable. Going agile does not mean that you throw away budgets and scheduling – but it requires new tools and methodologies to manage those budgets and schedules. Pricing is based on estimated capacity requirements, rather than fixed deliverables. + Risk analysis and prioritisation are critical to this up-front preparation. One of the benefits of agile is “failing fast”, but that can only happen if the higher risk components of a project are prioritised up-front. This may require some up-front “spikes” to assess the viability and cost of the risky components where they don’t logically form part of the earlier sprints. + As a golden rule, no work streams or “sprints” should commence before this up-front preparation work is completed and agreed on by both parties. + While this up-front preparation may seem disproportionately slow and expensive, it is critical to the success of agile projects and should be faster than traditional business case creation and requirements gathering. + Each individual sprint can be viewed as a mini fixed scope project. Under agile, you do not make changes to the sprint parameters in the middle of a sprint. Once the sprint backlog is defined for a particular sprint, the team is committed to deliver it. Timeframe imperatives are not a justification for taking short-cuts under agile methodologies. + UPSKILLING FOR AGILE + To run agile projects, clients need to invest in agile training for their own teams, and build expertise in relation to best practice agile methodologies. This is not something that can be completely outsourced to third parties. + Even where third party service providers are engaged to assist, clients need to commit key individuals in their organisation to the agile project. + All individuals participating in an agile project need to “buy in” to the agile way of thinking and working – not just those in the agile teams, but also the business owners and executive sponsors. This demands leadership from the executive level to ensure that governance and escalation paths are working effectively. + The nature of agile projects require the client to be more actively engaged and to take a greater decision-making role throughout the project – with a higher level of engagement and collaboration between business leads, product owners and developers. All of this requires new skills on the client side to actively manage project direction and ongoing decision-making. + For those personnel involved in the development work, the increased level of engagement means that they are more empowered, rather than working to rule. + Ultimately, going agile can lead to: – productivity and quality improvements, due to the enhanced collaboration and visibility around agile team sprints; and – greater engagement, commitment and accountability from both the service provider and the client – focused on achieving the required timeframes, budget and business outcomes. BY FAILING TO PREPARE, YOU ARE PREPARING TO FAIL GOING AGILE - WHAT IS BEST PRACTICE? WHAT IS THE IDEAL RESOURCING FOR AGILE TEAMS? + Agile teams can be a blended customer / service provider team, or they can be resourced solely by the service provider’s expert personnel. This choice will partly depend on the client’s level of agile maturity. + A blended team may result in greater collaboration. However, without the right resources and effective governance, this can also lead to greater finger pointing, with tensions around who has caused or contributed to any project delays and failures. + Service providers may also be more reluctant to provide product warranties if the work is delivered via blended teams, particularly where they have not led those blended teams. FEEDBACK LOOPS + A key element of this engagement is active promotion and management of the feedback loops – so that the learnings of each sprint can be captured, reviewed and addressed before moving on to the next sprint. Failure to do this inevitably leads to inferior outcomes. + However, the ongoing engagement and feedback loops cannot be used as a substitute for up-front preparation - which still remains absolutely critical to agile project success. DIPPING YOUR TOES INTO AGILE + Going agile may not always be the answer. – There will be times when traditional waterfall approaches are more appropriate. If the requirements are known up-front, and the project is developing something that is “known” and has been done before, then a waterfall method may be less disruptive. – Also, the waterfall design process is still the best approach for projects where you can’t afford to fail and try a new method, and where there is no opportunity to test and learn, eg: if someone’s life will be at risk as a result of failures in a project deliverable. + Sometimes corporations decide to dip their toes in the water and try the agile approach, while at the same time combining it with elements of the traditional waterfall approach. They assume that this will lead to the best of both worlds. However, this hybrid approach can be inherently risky – so that instead of getting the best of both worlds, you end up with the worst (“Wagile”)! + It is critical to understand exactly what you are trying to achieve with either methodology – and the practical consequences arising where you apply parts of each methodology. CONTRACTING ISSUES + The contract for an agile project needs to enable best practice agile methodologies to work in practice, rather than impeding them. Just as a hybrid approach to project methodologies can be risky, a hybrid (or confused) approach to contracting can also be problematic. + The agile processes need to be incorporated into the contract. They provide clarity as to who can make what decisions, and when or how issues need to be escalated. While they can be documented in a separate methodology document, this needs to be referenced for the purposes of the contract. + The contract needs to reflect how project governance and decisionmaking will be implemented in practice: – The agile team needs to know exactly what is expected of them at any point in time. Agile decision-making processes can’t just be recorded in yellow post-it notes. All decisions need to be traceable and auditable, based on a known source of truth. Agile practitioners have developed various digital agile tools to make this an easier task. – The decision-making authority of team members also needs to be very clear. For example, what kinds of changes can a Product Owner make to the Backlog before they need to seek approval – either internally via escalations, or from the service provider? – Under a best practice approach, the contract may need to be linked to the software tools used to record ongoing agile decisionmaking and track the project outputs and outcomes. + The contract needs to identify the agile team members and their roles, regardless of whether they will be appointed by the customer or service provider. + Contracting for agile projects also requires: – an outcomes-based approach to contracting, with the “Backlogs” or use cases based on required business outcomes; – alignment with the sprint structure, so that there is clarity around the basis for determining when the work is “done”; and – a substantial re-think around basic concepts such as scope, pricing, acceptance, defects, warranties, termination and change management. + Scope: Certainty of scope can be achieved under agile contracts, but it will look different to the concept of scope under a waterfall contract. Agile contracts provide less certainty over what the deliverable will look like at the end of the project – but instead, the agile processes provide assurances to the client that it will have a “right-sized” outcome by the end of the project. + Price: The agile process provides certainty over price and rates for an agreed level of effort. This level of effort is typically measured by the “velocity points” allocated to each sprint. The client can generally request changes in the work performed (without a change in price), if the required level of effort still falls within the same velocity points. GOING AGILE - WHAT IS BEST PRACTICE? + Acceptance: Acceptance under agile contracts is linked to the activities required to be completed before a Backlog item meets the “definition of done” and the relevant sprint is completed. This is different to waterfall contracts, which focus primarily on a list of functional requirements for determining completion. Various practical challenges arise in relation to acceptance. For example: – The structure of a sprint may lead to a particular functionality spanning across more than one sprint or additional testing being performed outside the sprint team (e.g. penetration testing). To what extent can acceptance occur at the end of the first sprint (with consequent payment obligations), when the final outcome won’t be known until later? – Challenges also arise in relation to the financial consequences arising where a sprint Backlog is not completed at the end of the sprint, due to failures in acceptance testing. Should the cost of completing such work be borne by the supplier or the client? + Defects and warranties: Agile methodology is designed to eliminate defects as they arise, in the course of each sprint. As noted above, all of the requirements for a sprint need to be accepted before that sprint is completed – with any gaps being addressed via the feedback loop. This means that for project success to be achieved, there should be no outstanding priority defects by the end of the project. This means that for project success to have been achieved, there should be no outstanding priority defects by the end of the project. – The question of what is a “defect” is determined by reference to the acceptance criteria and definition of “done”. – Traditional approaches to warranties also require a fresh approach. Under waterfall contracts, the service provider’s output will typically be measured against a set of specifications that were agreed upfront. In practice, warranty disputes often arise due to the parties’ misunderstanding of those specifications (ie, client thought they were getting X, service provider thought they were delivering Y). – Under agile processes, these risks are mitigated as a result of the Product Owner continually reviewing the Backlog (and associated implementation details), together with the increased frequency of testing and reviews (ie, as part of each sprint). – However, this does not mean that warranties become irrelevant in agile – although the approach is very different in practice. For example, a “compliance with specification” warranty may apply to specifications that are documented during the project or at the end, rather than at the beginning (as under waterfall). To successfully implement this approach does, however, require the team to consciously document what they are developing with this specific use in mind. + Termination: – One objective of the agile approach is to deliver a “good enough to use” working version of the solution as soon as possible – even though it might not have all of the “bells and whistles” (ie: a “Minimum Viable Product”). Additional functionalities can progressively be incorporated via later sprints. – Consistent with this approach, agile projects should provide the client with far greater flexibility in relation to termination rights – enabling the client to terminate when it determines that the solution has reached an adequate level of functionality. This is different to the waterfall approach, where the client commits to the full project on an end-to-end basis (except in the case of a contract breach). – Depending on the pricing model and project structure, the service provider may incur significant project costs upfront. The pricing consequences of early termination should be agreed upon upfront, providing greater certainty to both parties around the costs payable in the event that a client elects to terminate before project completion. + Change management: – Under a traditional waterfall approach, any change in scope or requirements would generally be documented via a contract variation or governance processes. – Under an agile approach, those same decisions might not be treated as a “change” (because they still fall within the initial Backlogs and don’t increase the overall level of effort that was budgeted). Instead, those decisions might just form part of ongoing project decision-making and be documented within the recording tools adopted by the team for that agile project. CONCLUSION Many of the paradigms that underpin waterfall projects are turned on their head under agile. There are higher demands on clients under agile methodologies – so organisations need to invest in their own teams and build their own agile expertise and disciplines to reap the full rewards of agile. This expertise can’t just reside in IT teams – it also needs to be embedded in the business owners and executive sponsors. Failure to properly contract for an agile project raises the risk that organisations will be left in a half-way house where: + the contract does not reflect what is happening on the ground; + the full benefits of going agile are not being delivered; and + it is more likely that the parties will end up in dispute. Agile requires a fresh approach to contracting which reflects and embeds the best practice disciplines of the agile world. GOING AGILE - WHAT IS BEST PRACTICE? SHEILA MCGREGOR Partner, Gilbert + Tobin T +61 2 9263 4152 E [email protected] Sheila heads Gilbert + Tobin’s TMT Group and has a wealth of experience in Australia and the Asia Pacific region, focusing on technology and related commercial issues in procuring and managing complex IT solutions and services. Sheila has advised clients on a broad range of projects, including the outsourcing of information technology, infrastructure, telecommunications and key business functions and processes, and in relation to cloud and SaaS arrangements, offshoring, cyber security, data analytics and the acquisition and disposal of strategic assets. BERNADETTE JEW Partner, Gilbert + Tobin T +61 2 9263 4032 E [email protected] Bernadette is regarded as one of Australia’s leading lawyers in relation to large-scale corporate TMT and transformation projects. She advises on projects that are complex and transformational in nature with multiple dependencies, posing significant risks and challenges across the organisation. Key areas of focus include blockchain and private shared ledgers, As-A-Service, cloud, outsourcing, cybersecurity, data protection, off-shoring, applications development and technology investment. ANDREW HII Lawyer, Gilbert + Tobin T +61 2 9263 4046 E [email protected] Andrew is a senior lawyer in Gilbert + Tobin’s Technology, Media and Entertainment team. Andrew specialises in advising on a wide range of transformation projects, including IT infrastructure outsourcing, systems integration projects and software development. Many of Andrew’s clients have started structuring their project around Agile methodologies and Andrew has first-hand experience in guiding his clients on this relatively new way of running projects. CONTRIBUTORS MIRCO HERING Principal Director, Accenture E [email protected] FRANK CHILA Senior Legal Counsel, Accenture E [email protected] IAN OI Senior Legal Counsel, Accenture E [email protected] Mirco leads Accenture’s DevOps & Agile practice in the APAC region with a focus on Agile & DevOps transformations. For over 10 years he has worked on accelerating software delivery through innovative approaches. He supports major public and private sector companies in Australia and overseas in their search for efficient IT delivery. Mirco is a thought leader for modern IT. He has run >50 workshops with senior clients across the globe as part of the CIO Innovation workshop series. He is a regular conference speaker and publishes articles in industry publications and blog posts on his personal and the Accenture blog. Frank is the Director of Legal Services for Accenture in Australia and New Zealand. He is responsible for the Legal function and leads a team of contracting lawyers in support of Accenture’s ANZ business. Prior to joining Accenture, Frank held roles both in-house with the CSIRO and in private practice as a Senior Associate with the law firm Dibbs Abbott Stillman. Ian Oi is a Senior Legal Counsel with Accenture based in Perth, Western Australia. Ian focuses on Strategic Contracting and New Business Models across all industry sectors, particularly in the Asia Pacific geographies. His role includes providing legal leadership for “path finding” and “game changing” projects and initiatives, as well as support, guidance, training, coaching and mentoring on contracting and negotiation for other legal team members in the region. His recent areas of practice, interests and activities include formation, renegotiation and dissolution of various joint ventures; post-merger integration of New IT offerings and businesses; and development of best practices in contracting for Agile and like development projects.