• No results found

DevOps Agile eBook

N/A
N/A
Protected

Academic year: 2021

Share "DevOps Agile eBook"

Copied!
22
0
0

Loading.... (view fulltext now)

Full text

(1)

DevOps Pushes

DevOps Pushes

Agile to IT’s Limits

Agile to IT’s Limits

Implementing DevOps Where Agile Rules

(2)

DevOps Pushes

DevOps Pushes

Agile to IT’s Limits

Agile to IT’s Limits

Software engineering is changing and

Software engineering is changing and

DevOps is at the heart of it.

DevOps is at the heart of it.

The demands of today’s

always-The demands of today’s always-on business depends on the abilityon business depends on the ability of IT to be

of IT to be more nimble & responsive to the needs of more nimble & responsive to the needs of the customer.the customer. An organization’s abilit

An organization’s ability to be responsive requires y to be responsive requires better collaboration,better collaboration, communication and integration across all key stakeholders inside communication and integration across all key stakeholders inside and outside of IT.

and outside of IT.

The principals of the both the

The principals of the both the Agile and DevOps approaches fostersAgile and DevOps approaches fosters holistic thinking, heightened engagement, and communication and holistic thinking, heightened engagement, and communication and problem solving skills.

problem solving skills.

This style of work results in a greater understanding of practice This style of work results in a greater understanding of practice areas among the larger team and

areas among the larger team and encourages individuals to considerencourages individuals to consider varying points of view, even when they work in isolation.

varying points of view, even when they work in isolation.

ITIL ITIL S       S       E      E     R   R    V    V   I  I  C  C   E  E  S S T T  R  R  A  A    T    T    E    E    G    G

       Y

       Y

DEVOPS DEVOPS   S

  S  E  E R R V V I ICCE E D D E E S  S  I  I  G  G  N  N  

 S  S  E  E  R  R   V   V   I   I   C   C

    E     E     T     T     R     R      A      A      N      N        S        S      I      I       T       T       I       I          O           O           N          N  S     S     E      E      R     R     V      V     I        I        C         C         E         E         O       O       P        P        E      E      R     R    A    A     T    

T    I    I    O   O    N    N   

Agile and DevOps are related ideas who share a common Lean ancestry, but work

Agile and DevOps are related ideas who share a common Lean ancestry, but work

on dierent planes. While Agile deep dives into improving one major IT

on dierent planes. While Agile deep dives into improving one major IT functionfunction

(delivering software), DevOps works on

(delivering software), DevOps works on improving the interaction and ow acrossimproving the interaction and ow across

IT functions stretching the

(3)

DevOps Pushes Agile to IT’s Limits

Many enterprises over the last decade have undergone a radical change as a methodology known as “Agile” was introduced, gained rapid acceptance and proliferated throughout the enterprise.

One key tenet of the Agile development process is to deliver working software in smaller and more frequent increments, as opposed to the the “big bang” approach of the waterfall method.

When the shift to Agile development was

made, it required development to change the

way the entire organization operated.

Agile has been instrumental for development to produce higher-quality sof tware that is more in tune with user needs and oers swifter release cycles.

(4)

DevOps Pushes Agile to IT’s Limits

Today, we’ve reached another

infection point.

In response to market pressures and new technology like cloud computing, the DevOps movement has been born to improve IT service delivery agility and quality.

As Agile gained momentum over the years, it unintentionally left IT operations behind due to the piled up deployments waiting for operations to deploy, manage and control.

When code is not promoted into production as it is developed, deployments will pile up, customers don’t get value and the deployments often result in chaos and disruption.

This is where DevOps principles come in—not as a new approach as much as an enhanced one that builds o the Agile principles founded in the Agile Manifesto.

(5)

DevOps Pushes Agile to IT’s Limits

Some say DevOps is

the new-age version of

Agile development.

DevOps, which is a relatively new movement (rst mentions can be tracked back to 2009) occurring within IT, promotes collaboration & automation among development and operations to increase the velocity of code into production while improving it’s resiliency, availability and stability.

Sounds pretty familiar to Agile in fact.

Both share many common traits, however implementing DevOps to increase speed and innovation requires adopting Agile development methodologies, and Agile development requires quicker and more frequent release cycles.

 Agile and DevOps share many

common traits, however

DevOps enables a far more

continuous ow of work into

IT Operations, which is critical

to increasing velocity while

improving quality of software.

(6)

Agile vs. DevOps

Practical Dierences in Methodology

The goals of DevOps sounds similar to the goals of Agile,

but the two approaches are dierent.

The goals of Agile are to:

• develop software faster • be responsive to changes • and get higher quality results

The goals of DevOps are similar in that it strives to:

• accelerate time to market

• improve IT’s value by more closely aligning development, IT operations and the business • increase IT productivity

(7)

Agile vs. DevOps — Practical Dierences in Methodology

 Just because their goals are similar,

each methodology has its uniqueness.

Agile stresses frequent releases of software with an emphasis on collaboration between development and the business.

However, Agile development tends to produce releases faster than they can be deployed leaving IT Operations with a backlog of production-ready code that has to be tested, deployed and managed.

These short release cycles followed by delays in deployment can prevent IT and the business from achieving their goals.

DevOps, on the other hand, stresses collaboration, communication and culture between development and IT operations which help in building timely, reliable and high quality software.

The fear of change, evolving roles & responsibilities, and organizational behavior & incentive structures make DevOps transformation dicult to say the least.

The fear of change, evolving

roles & responsibilities, and

organizational behavior &

incentive structures make

DevOps transformation

dicult to say the least.

(8)

Agile vs. DevOps — Practical Dierences in Methodology

DevOps is as much a technical problem

as it is a business and people problem.

DevOps creates visibility between development and operations team.

• It is concerned more about the product rather than the project.

• It is about automation rather than documentation.

DevOps ensures that good software does not end wit h it’s release.

• It is about ensuring a continual feedback loop between development and operations team.

DevOps principles aim to extend development into production, create production feedback loops into development, plus embedding development into IT operations and vice versa.

What Are Agile’s Limitations? 

• You may not identify a software defect until

late in the lifecycle or in the production. • Gains of Agile methodology evaporate

once the application goes into production. • Delays when developers and testers

wait for resources they want to access. • Hard to pinpoint problems in

develop-ment, testing or production phases. • Development views their job as done

once the code is in production. • When problem arises, everyone starts

(9)

Agile vs. DevOps — Practical Dierences in Methodology

DevOps works a lot better if operations

teams adopt Agile methods.

DevOps enables realization of the benets of continuous and faster delivery of functionality achieved through Agile.

DevOps has two approaches that change how Agile methodology is implemented.

• The rst approach is the removal of team silos between Dev and Ops.

• The other approach is the use of continuous

integration/continuous delivery and automation tools in order to achieve a very lean value stream and reduced batch sizes.

(10)

Agile vs. DevOps — Practical Dierences in Methodology

You don’t have to choose between

Agile or DevOps, they are compatible.

But you do need to design an implementation that aligns them appropriately as you undergo this business transformation.

There will certainly be some challenges along the way and you’ll likely hear things like:

“DevOps is just another buzzword.” 

“It’s not new. We’re already ‘doing DevOps.’”  “Our managers don’t allow us to do DevOps.”  “Our employees don’t take responsibility.” 

 A recent survey of 110 CIOs conducted by IDG

Research Services found the following as the

 greatest obstacles to implementing DevOps:

Source: ca technogies Report — Market Pulse Research: The State of DevOps  (link)

Need to understand what technologies can help IT organization and environment are too complex Lack of right skills within development and operations Lack of an executive mandate Benefits/ROI are difficult to quantify Organization is resistant to change Not sure where to start Other None 37% 34% 31% 29% 28% 26% 22% 5% 5%

(11)

DevOps is a response to the fact that there exists a

disconnect between development and operations team.

Across most enterprises, there exists:

• need for greater collaboration between development and operations team • need for simultaneous deployment across multiple platforms

• pressure from the business to release applications more quickly to meet customer demands

• need to improve end customer experience

• need to develop and deploy cloud-based apps for scale and to reduce costs

Agile + DevOps

(12)

Agile + DevOps — How DevOps Compliments Agile Development

DevOps is stretching Agile principles

beyond the limits of the code

to the entire value chain.

DevOps builds on Agile to deliver quick, high quality releases by streamlining development and operations. DevOps inherits principles of Agile development, but extends service delivery and team interactions to increase the value of the product delivered to customers. DevOps involves embracing automation that speeds up and smooths out the ows across and within the various silos.

Plus, DevOps is tackling the cultural & behavioral aspects of IT that when solved improve quality of code, quality of releases and better job satisfaction.

Time spent per week on key activities:

(13)

Agile + DevOps — How DevOps Compliments Agile Development

DevOps is simply Agile best practice that software development teams

should aim for—whether you’re doing Agile, DevOps, ITIL, CoBIT, ISO,

Lean, cloud or whatever.

Call it what you will, DevOps promotes continuous ow of work into IT Operations and in turn continuous deployment and integration. In Agile methods, if the development team delivers code every t wo weeks, but it’s deployed only every two months, customers don’t get value and the deployments often result in chaos and disruption. DevOps, on the other hand, empowers developers to test and automate their code before releasing it to the operations stakeholders and in some cases just bypass this step altogether.

Developers discover defects early in the SDLC and also test whether the code will work properly in production early in the SDLC which enables quick and timely releases.

(14)

Agile + DevOps — How DevOps Compliments Agile Development

The key indicators of a successful

Agile to DevOps implementation are:

+ an increase in the number of releases

+ less time taken in production

+ increase in release date adherence

+ low/no defects in the application

+ increased collaboration between departments

+ improved quality of deployed applications

+ exploration of new software

+ reduced time to market software

+ an increase in revenue

+ software made available across

multiple platforms

+ increased frequency of deployments

of software

(15)

Moving from Agile to DevOps

Key Challenges and Considerations

So you’re thinking about transforming from Agile to DevOps?

Agile means that developers can issue more releases, more frequently, to keep applications fresh and in line with user requests and with marketplace trends.

With DevOps you can enable developers and operations personnel to work better— together—and the whole company benet s.

But, both methodologies are chock-full of challenges.

Whether it be a complexity, culture, roles & responsibilities, or a skills gap, you’re sure to run into them.

For the business at large,

the culture of DevOps

ensures that developers

and operations people are

working together so that

 Agile development can occur

without reams of crappy code

that make user’s cringe.

(16)

Moving from Agile to DevOps — Key Challenges and Considerations

Organization Complexity

DevOps is a people problem and enterprises by nature are complex. If the organization has too many people, too many departments, pockets of automation, poor communication between teams and incentive structures that drive a particular behavior, then imple-menting DevOps can be a challenge.

Roles Unaligned and Misunderstood

In many organizations, there exists invisible barriers between silo’d independent teams. Whether it is a turf war, a lack of under-standing or ‘just the way it has always been’, this poses a problem when adopting DevOps since it requires interdepartmental coor-dination, collaboration and communication. It is hard to break old habits and there could be competing goals at work all at once. Many existing IT enterprise processes, tasks and workows are not representative of the needs of DevOps. In addition, by adopting DevOps, development & operations teams are assigned roles previously done by others which can create a lack of clarity surrounding who is responsible for what.

Key Challenges

If you’re considering transforming from Agile to DevOps, here are some of the key challenges to be mindful of:

Fear of Change

Who moved my cheese!? Many organizations, teams and individuals tend to be rigid and resistant to change. Adoption of DevOps may take time before organizations fully understand and embrace it.

Security

When adopting DevOps, an organization may have security concerns especially when data is moved to the cloud. The organi-zation may be reluctant adopting DevOps and cloud computing. However, DevOps should be considered an opportunity to address security requirements early and often.

Tone at the Top

DevOps is par tially about transforming and changing your business and without the proper buy-in and tone from senior leadership, having long-term success will be very dicult. Also, having clear expectations to drive accountability and results should be required.

(17)

Moving from Agile to DevOps — Key Challenges and Considerations

Key Considerations

Below are some key considerations when transitioning from Agile to DevOps in the enterprise:

Development Culture vs Operations Culture

The culture of an organization is crucial before jumping into automation. Automation is a noble goal, but is secondary to solving the cultural aspects of your business. The development team and the operations team must change their way of operations for DevOps to be implemented.

Continuous Involvement of the Operations Team

The IT Operations team should be continually involved in the development of the application. Participating in discussions, decisions and execution of things involving the technical and schedule feasibility of the solution should become commonplace. IT operations (as well as Quality Assurance, InfoSec, Service Management and Enterprise Architecture) related requirements should be taken into account as early in the SDLC as possible to create trust, break down silos and improve speed & quality.

Stability vs Change

Pushing speed versus stability is a delicate balance in the SDLC, but enterprises must strike a balance to achieve its goals. Careful coordination between development and operations is a start, but getting end-to-end visibility and creating account-ability & collaboration across previously separate teams is crucial to making prog-ress with the DevOps implementation. But sometimes not changing and keeping things much the same is the right decision—only you know the answer to what is best for your organization.

(18)

Moving from Agile to DevOps — Key Challenges and Considerations

Demand for Increased Number of Releases

If business owners are demanding an increase in the number of releases compared to your current velocity, then at least proof-of-concepting a DevOps initiative for a specic project or program should be considered. Experimenting with org struc -tures, incentive struc-tures, and working on building a winning culture across dispa-rate teams can help prove whether more widely deploying DevOps in your enterprise makes good sense or not.

Cost of Change

The organization must consider if there are enough resources to invest in DevOps. To implement DevOps, an organization must investment in tools, training, and the hiring of new skills.

Going Mainstream with the Cloud

The business is demanding the agility that both cloud computing and DevOps provides. Whether public, private or hybrid—cloud is foundational to helping scale at mach speed. Cloud and DevOps are not mutually exclusive, however the avail-ability and power of the cloud enhances your avail-ability to practice DevOps by oering a dynamic platform to develop and run applications.

(19)

Implementing

DevOps Where Agile Rules

The motivation driving the DevOps movement is the frustration involved in

releasing and maintaining software systems across teams with opposing goals.

In the end, what DevOps hopes to bring to Agile is the understanding and practice that soft ware isn’t done until it’s successfully delivered to the user and meets their expectations around performance, availability, reliability, and faster delivery.

On the following pages are some recommendations for consideration if implementing DevOps in an organization where Agile is the norm:

(20)

Implementing DevOps Where Agile Rules

Step 1

Tone at the top is key.

Get buy in early from senior leadership and be sure to collaborate with middle management to ensure alignment. The organization must commit wholly for DevOps to be a success. It is not a one-o investment; it is a process that involves people, communication and integration.

Step 2

Employ ‘services thinking’ and ‘systems thinking’

...to help in the breakdown of complex systems into simple components and modular services allowing rapid and incremental changes.

Step 3

Identify the waste, bottlenecks and delays in the SDLC.

This process involves mapping all the stages and handos and measuring how long work takes to move through the cycle. Once you have identied the main points of failure and waste, begin automating individual components appropriately. Use automation tools to test the software, practice conguration automation, consider leveraging continuous integration and deployment tools to integrate work done in a given period of time, and scan for integration errors early and often.

(21)

Implementing DevOps Where Agile Rules — Key Challenges and Considerations

Step 4:

You must invest in your people.

Sta in DevOps needs to augment their skills for better collaboration among each other, with project managers and business programs. The Dev and Ops sta need to build new skills to add to their core skills in a DevOps environment. And as this cross-pollination begins to occur, new skills will emerge that you will need to identify and plan for.

Step 5:

Focus beyond the lower costs and high speed that is brought by DevOps.

Recognize that there are more substantial benets possible with successful implementation of DevOps. Here are some interesting stats:

Devops produces Devops results in Devops reduces

63% 33% 60%

more frequent software releases

more time devoted to improving infrastructure

of time spent handling support cases

Statistics sources:

http://www.theserverside.com/discussions/thread.tss?thread_id=78446(link)

(22)

Conclusion

As DevOps adoption continues to rise, organizations who have not

implemented DevOps are at continual risk of being left behind.

DevOps encourages faster release of features, more stable operational environment and production of high quality products with more value to the customer. Making the transition from Agile to DevOps means leaving behind many of the comforts you and your team have gotten used to. Both approaches stand for iterating and improving, discussing and redening— many things that pose challenges within a traditional, entrenched IT enterprise.

For these reasons, your biggest bump in the road may be shear resistance and fear of the unknown—some of which may even be your own.

But these obstacles should not stand in your way from making the transition since it is one way you can make a true step-change in your IT department, regain the trust of your business and begin to align your entire product lifecycle to take advantage of the many talented resources and tools available to all of us.

Visit Us: Email Us: Calls Us: Follow Us: www.scriptrock.com [email protected] (888) 882-3223 @scriptrock

Want to learn more about how ScriptRock can unlock DevOps for your IT Enterprise? Get to know us better.

References

Related documents

Then, we define a Laplace transformation of a Čech‐Dolbeault representative of a Laplace hyperfunction and its inverse Laplace 2010 Mathematics Subject Classifications: Primary *..

-Y114b* mounting variation block „UP“ -Y115b swinging out variation block -Y115a swinging in variation block -Y116 release variation block -Y45 brake winch 2 -S39 supply

They are reported around the mud volcanoes of the Moroccan Atlantic margin ( Vandorpe et al., 2016 ) and the Gulf of Cádiz ( Palomino et al., 2016 ), around the Pontevedra obstacle

Taking up this call, this research on Canadian game developers, community or- ganizers, and others involved in indie games suggests that contemporary cultural pro- ducers locate

Lutheran Church in America (ELCA) has called Pastor Bill Tesch as its Bishop-Elect.. A simply majority of votes

Lqirupdwlrq djjuhjdwlrq dovr ghwhulrudwhv dv wkh suhflvlrq ri wkh vljqdov gh0 fuhdvhv + 0 lqfuhdvhv,1 Wkh lqwxlwlrq iroorzv iurp wkh glvfxvvlrq ri jxuh 715 dqg jxuh 914

Its offer includes proprietary products, engineering and network consultancy services, managed services and solutions such as VoIP, unified communications &

• Step 5 – Create an ADO.NET data adapter object to retrieve the data from SAS datasets or create and execute an ADO.NET command to modify data in a SAS dataset.. Sample code