the agile in devops!

16
The Agile in DevOps! Successful Outsourcing

Upload: michael-dunham

Post on 15-Apr-2017

396 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: The Agile in DevOps!

The Agile in DevOps!

Successful Outsourcing

Page 2: The Agile in DevOps!

What’s it All About – DevOps?

• DevOps implementations are increasing dramatically– But there are many differences between the practices

and goals among users.• What should DevOps accomplish? Who is it for?– Is it just for enterprise? Enterprise with agile

development practices?– Should companies with service applications (SaaS and

other network-based apps) be using DevOps? – Is it only for apps with continuous support and updates or

should every app pass through DevOps systems?

Page 3: The Agile in DevOps!

From Agile, Lean & More

• DevOps came from input from many sources in 2009– IT Operations was primarily waterfall-based– Dev was rapidly moving to agile-based practices– Inputs from agile, Lean, Theory of Constraints,

ITSM and operations management movements• Resolved with primary inputs from agile &

many new practices & tools

Page 4: The Agile in DevOps!

Comparing Agile & DevOps

• Agile Values – the Agile Manifesto

• Agile Principles – The Agile Principles

• Agile Methods – process implementations such as Scum, XP & others

• DevOps Values – expressed with Agile Manifesto with focus on service & value delivered to customer/end-user

• DevOps Principles – broadly follow Agile with the inclusion of systems & operations required to deliver software functionality continuously to users instead of stopping at code check-in.

• DevOps Methods – Extended implementations of agile methods such as Scrum with Operations, Kanban with Operations, etc. Entire delivery value chain integrated into one agile system.

Page 5: The Agile in DevOps!

Comparing Agile & DevOps

• Agile Practices – tactical techniques such as standups, backlogs, planning poker, and other artifacts

• Agile Tools – specific tools or apps to facilitate process such as JIRA, Bugzilla, KanBoard, etc.

• DevOps Practices – agile techniques plus specifics such as continuous integration & deployment, toolchains, metrics, monitoring, virtualization, etc. Techniques to accelerate change and lower risk.

• DevOps Tools – Many in use. Tend to overshadow agile values & principles. Provides for integration & automation from dev to delivery to users. Puppet, chef, TeamCity, OpenStack, AWS – among the tools used widely

Page 6: The Agile in DevOps!

DevOps & Tool Hype• DevOps is not just the

tools you use, anymore than agile is just an implementation of scrum– Entire value chain of

delivery must buy into values & principles

– All stakeholders must be part of agile collaboration throughout app lifecycle

• In practice, “done” is moved to delivery to the end user. – Operations practices & tools are

moved to as early in the development cycle as possible

– Silos are flattened, the value of incremental release is allowed to flow to end-users without barriers

Page 7: The Agile in DevOps!

The Agile Release Train (ART)• The integration of agile development with IT operations is sometimes called the Agile

Release Train– Silos of Dev, QA, Operations are flattened– QA, integration, configuration, release, and all activities related to delivery of software

functionality are included in sprint planning and app backlog– The entire team participates in agile practices and rituals, taking responsibility for their tasks,

being aware of goals and outcomes.

• Is there agile in DevOps?− Yes. There has to be, or it doesn’t

provide value.

Page 8: The Agile in DevOps!

The Deployment Pipeline

Page 9: The Agile in DevOps!

Nuts & Bolts – Deployment Pipeline

• The primary characteristic of DevOps – continuous delivery system to bring new features & software updates to the end user– Includes all the people, principles, processes and

tools required in a flexible, repeatable, automated system

– Scale depends on the size of the organization and the complexity of the software stacks involved

Page 10: The Agile in DevOps!

Deployment Pipeline• Production-equivalent staging environment

– Development staging as close as possible to production configuration– Include all aspects necessary – version control, continuous

integration, test frameworks, configuration management, etc. in the build system

• Flat, integrated development and production test environments– Insure testing environments in dev and for production are as closely

matched as possible– Entire DevOps team needs to participate in prorogating configuration

and specifications forward and backward across all environments in pipeline

Page 11: The Agile in DevOps!

Deployment Pipeline• Deploy to staging every iteration with deployment to

production frequently– Deployment to staging improves confidence that releases will

pass through to production successfully– It may not be possible to release every iteration to production.

• Delays may be necessary to assure full feature sets are released in context for users to make use of or to allow evaluations of security and regulatory issues or market impacts

• End to end version control– Manage all the artifacts, metadata, supporting configuration

and test data

Page 12: The Agile in DevOps!

Deployment Pipeline• Automated builds for new environments

– Use virtualization, tools and scripts to automate the implementation of new environments and lower the risks of manual implementations. Quick and consistent implementations are key.

• Automated deployment to production– Avoid the risks and inconsistencies of manual processes and

passed responsibilities between silos as much as possible. – Getting all stakeholders on board and to loosen their grip on

processes to allow them to be automated is not light work – but it is necessary to reach the goal

– Consistency, don’t lose momentum in the pipeline

Page 13: The Agile in DevOps!

Outsourced Teams in the Pipeline

• Can it work with an outsourced team?– Everyone on the same page, committed and involved in

an agile deployment pipeline– Staging, working environments, testing, automation –

the entire pipeline as flat & consistent as possible. Every step away from the ideal introduces risk and unknowns.

– With continuous delivery to end-users, not a discrete project

• Assumed – Dedicated development team is required

Page 14: The Agile in DevOps!

What Does this Tell Us?

• Either the outsourcing vendor will need to replicate the environment locally or the team will need to work remotely in the host DevOps environment– For agile teams, it is more likely they will work remotely– Remote team needs the infrastructure and security to meet

requirements of host environment to work efficiently• Real-time collaboration & communication are critical

– With more people & processes in pipeline, more collaboration is necessary

– A 12 hour delay or a circular cycle of questions is not acceptable

Page 15: The Agile in DevOps!

What Does this Tell Us?

• Nearshore or geographically close vendors are going to work best– Language, cultural issues cannot be

allowed to become barriers• Vendors need to be fully engaged

in getting their teams up to speed and involved in the team as a whole– Will require face-to-face meetings,

team building as it does for any new agile team

Page 16: The Agile in DevOps!

Can It Work?• Yes!

– We have participated in DevOps teams and been a strong member of the team throughout

– Yes, there are lots of moving parts, but this is true in all DevOps teams (outsourced or not) regardless of locations or how the team is integrated into the organization

• Is it worth it? – In most cases, certainly– Depends on the value of continuous release within your organization. Large shift if

you are not now DevOps implemented. – On the other hand, how many times have you taken on risk from large changes to

new software versions (instead of incremental changes) or untested approaches?

Scio is a provider of nearshore software development services to clients in North America. We have extensive experience with dedicated teams in DevOps situations, working remotely. If you have a question or requirement, contact us for more information.