25
© Tasktop 2016 © Tasktop 2016 A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

  • Upload
    tasktop

  • View
    496

  • Download
    3

Embed Size (px)

Citation preview

Page 1: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016© Tasktop 2016

A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

Page 2: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Agile, DevOps and Lean are common approaches to modern software delivery. But how are they actually being used in large enterprise? What do you need to consider to make your transformation successful?

Page 3: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

THE BASICS

Page 4: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Waterfall is a development process that is characterized by moving through a series of phases in a strict, sequential order. All requirements are established and agreed upon at the inception of the project, creating an environment that is largely resistant to change and inflexible.

WATERFALL

Page 5: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Agile is an alternative to Waterfall processes that support the team’s ability to regularly deliver software to their customers, while continually improving business value. Agile methods focus on self-organizing, empowered, cross-functional teams that are able to respond quickly to changing environments. Timeboxed iterations allow for evolving requirements and facilitate faster releases. Feedback loops help ensure that better products are developed.

AGILE

Page 6: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Lean software development is a mindset, rather than a methodology. “Lean thinking” in software is patterned after lean manufacturing principles and emphasizes finding and eliminating activities that don’t add value. Bottlenecks are identified and removed. The end-to-end process, or “value stream,” is optimized. Both Agile and Lean place a lot of emphasis on adaptive planning, empowered teams, continuous learning and delivering value to the customer.

LEAN

Page 7: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Most people agree that the goal of DevOps is enhanced communication and collaboration between the development (“Dev”) and operations (“Ops”) teams. However, interpretations of this vary. Some organizations hire “DevOps Engineers” who bridge the gap between the development and operations teams, and help automate the delivery of software and infrastructure. Others believe that this is too narrow a view, and DevOps is a more holistic culture of change and cooperation that cuts across all phases of software development and delivery.

DEVOPS

Page 8: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

“The biggest cause of failure in software-intensive systems is not technical failure; it’s building the wrong thing.”

Mary Poppendieck, Leading Lean Software Development: Results Are not the Point

Page 9: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

COMBINED APPROACHES

Page 10: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Old habits die hard. And for large enterprises there can be a lot of old habits that need to be broken in order for full adoption of Agile, DevOps or Lean to work. Combining these new approaches with each other, and with older waterfall practices, is often seen as a more practical approach, that can still improve the quality and speed of software delivery.

NO ONE-SIZE FITS ALL

Page 11: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

The most widely used of the Agile methods, scrum is defined by key roles (Product Owner, Scrum Master, Team Member), a “backlog” of work that must be prioritized and executed in timeboxed iterations called ”sprints.” Coordination among team members is performed using quick daily meetings called “scrums.”

SCRUM

Page 12: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Kanban is a method used by teams with a Lean mindset. It focuses on managing the flow and amount of work though the lifecycle by visually monitoring the WIP (Work In Process). Useful in maintenance situations where teams have a high volume of bug fixes and small changes. Mixing scrum and kanban can help increase status transparency and help manage capacity.

SCRUMBAN

Page 13: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Like scrum, Extreme Programming is a variation on Agile principles. It’s typified by a drive to simplicity, pair programming, creating the unit test before writing the code and weaving a “theme” through the stories in order to keep the team focused on the big picture of what they are trying to accomplish. Like all Agile methods, development work is timeboxed, though XP suggests using weekly development cycles and quarterly cycles for planning.

XP

Page 14: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

“Sixty-five percent of Agile expert firms mix ad hoc Agile practices, while only 42% of neophytes do.”

The 2015 State of Agile Development: Learn From Agile Expert Firms, Forrester Research Inc., August, 2015

Page 15: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

WATER-AGILE-FALL

While many large enterprises are adopting agile, the reality is that many are not able to completely switch to this approach. A long history of waterfall processes, annual corporate planning and budget activities, and Operations teams that cannot deploy software more frequently than quarterly, make it difficult to adopt agile practices in full. Many adopt Water-Agile-Fall which splits software delivery into three phrases:

1. High-level planning and budgeting2. Agile development in two week sprints3. Monthly or quarterly software deployment

Page 16: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

MAKING IT WORK IN THE ENTERPRISE

Page 17: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Breaking up silos and implementing cross-functional teams can be a big cultural change in large enterprise. Successful implementation requires careful management and senior leaders to embrace the cultural shift, as well as finding people with the right skills. Leaders must embrace change.

EMBRACE CULTURAL CHANGE

Page 18: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

As illustrated in this guide, there are a number of different approaches that you could take when implementing Agile. Pick one that best suits your organization and train a core team of developers and testers on that approach. Once you’ve achieved success with one team, implement your new techniques in more core teams. Once you’ve achieved success on several projects, “scale” your agile practices to incorporate other disciplines within software delivery.

START SMALL, THEN SCALE

Page 19: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

”Operations has too many manual processes, and the cost of the errors these manual processes cause comes out in the dollars lost for the business.”

Gene Kim, author of The Phoenix Project: A Novel About IT, DevOps, And Helping Your Business Win

Page 20: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Software development and delivery is an inherently scientific and creative process that requires highly skilled professionals. However, some aspects can be automated to reduce wasted time and errors caused by manual processes. IT automation to trigger builds and tests, automated tests for repetitive testing and the integration of the tools practitioners use to manage and execute their work, can all increase the effectiveness of teams.

AUTOMATE WHAT YOU CAN

Page 21: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Reduced batch size, more frequent delivery, and a focus on enabling collaboration means that you have to communicate much more, and much more frequently. Unless everyone is working in the same tool and with the same process, this can quickly become overwhelming. Automating the integration of tools allows information to flow, and increases visibility, traceability and productivity.

INTEGRATE YOUR AGILE TOOLS

Page 22: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Start by integrating your development and test tools.

Aligning development and testing teams is difficult when they are using different tools. Syncing defects between the tools means that everyone can continue to work in their tool of choice, while still getting all the information they need to deliver software faster.

GETTING STARTED TIP

Page 23: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

“Measuring and diagnosing delivery pipeline delays gives organizations the insight they need to improve their practices.”

Boost Application Delivery Speed and Quality With Agile DevOps Practices, Forrester Research Inc., March 2016

Page 24: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Aggregating data across teams, projects, domains and tools is essential. This will help answer questions that can improve the delivery process such as:

• What teams are producing the most severe defects? • Why are those defects happening? • How quickly are they fixed? • Are teams getting project requirements on time? • Which teams need more resources to meet their deadlines? • What type of features results in the most customer complaints?

METRICS FOR CONTINUOUS IMPROVEMENT

Page 25: A Quick Intro to Agile, DevOps & Lean Development in the Enterprise

© Tasktop 2016

Tasktop enables organizations to benefit from a connected, end-to-end software delivery lifecycle – starting from the needs of your business through software production. We look forward to discussing how your organization can scale Agile, Lean and DevOps initiatives through an integrated software lifecycle.

[email protected]