Hot answers tagged

11

IMO DevOps is culture, much like Agile (without choosing an agile methodology.) Therefore you don't "do" DevOps. You "do" a release methodology called Continuous Delivery as part of a DevOps Culture. (full disclosure, I don't think I've ever referred to CD as a release methodology before, but in my jetlagged state I think it works) If you'll buy that, then ...


8

Agile Software Development is not required to do DevOps, but I believe the argument can be made that the value proposition for DevOps is often a lot lower without Agile. DevOps is a lot of things, but automation is a central theme. The value of automation increases in direct proportion to the frequency with which Development creates new releases. Frequent ...


6

There is no "Deploy-once-a-day" rule in devops philosophy. It's more of: Deploy as soon as possible and as often as possible. Also it calls for decoupling architecture so different parts of it may be released separately and also for decoupling deploys from release. The Deveops Handbook by Gene Kim et al.calls for modifying Definition of Done to include ...


6

Make sure that your stories are not centered on Operations. Remember that DevOps is a culture not a role. Is an "Operations Engineer" really the stakeholder for the story? Think of the features and business value they provide. As a stakeholder I want feature so that business value. If you are struggling to identify the business value why are you doing it? ...


5

We don't use Agile for the DevOps group ourselves, but we do integrate with the normal Scrum Teams. When something is needed by the team from DevOps, such as optimizing the build server, the related team puts a PBI in their backlog with a 'DevOps' label. Our lead has a custom dashboard in Jira with all issues labeled 'DevOps'. They work with the Scrum Master ...


4

NO I would argue that Mature DevOps operation, does require a Mature Agile process. You are unlikely to be able to get the full confidence to continuously deploy or allow your developers to initiate the deployment process without a mature Agile process in place. However, I believe it is very important to make it clear that an organisation does NOT need to ...


4

Well, you won't be able to apply an Agile methodology to a large team. One of usual principle is to work on Pizza Team (Less than 10 persons which can share a large pizza for diner together) because the lack of formalism advocated by Agile process makes it hardly applicable to a large team, the information would be scattered and some would be lost in the ...


4

One of the earliest references to this term originate in Jim McCarthy's book Dynamics of Software Development. This term seems to also be embedded in the Lean Startup movement, which built upon ideas in Lean Manufacturing, TRIZ, and other sources explaining how to evaluate an experimental product and check if it fits the market before investing too much ...


4

DevOps and agile aren't same thing but they are complimentary to each other. Agile development is development that adheres to the principles stated in The Agile Manifesto. In brief, agile is the word for an environment in which the priorities, according to the authors of the manifesto, are- Individuals and interactions over processes and tools Working ...


4

The guidance that we've always followed in my various scrum teams is developers should get what they've got into testing as soon as possible. It may mean a little rework later on down the line if there are issues found in code reviews or developers haven't completely finished coding, but the earlier developers get feedback on what's been done, the earlier ...


4

start using it if you fail, you can select another technology This approach has two major drawbacks: Technical debt While it may be tempting to apply "fail fast" mentality to architecture and design, skipping or abbreviating the design phase would be a mistake. fast-fail should be used in conjunction with good design practices, not in lieu of them. Making ...


3

Open the PR, even if it's not ready. Basically, allow the QA testing & code reviews to operate in parallel. Pros: code review and testing can operate in parallel. Cons: if issues are found in testing, the code needs to change, even though it has already been reviewed. When code review prompts changes, testing has to be redone. This encourages the ...


3

I've never heard of an "Environment Manager." Release Management, on the other hand, has historically been consolidated to a single person or team. In a DevOps model, Release Management is more of a process supported by elements from both Dev and Ops. Organizations at high levels of "DevOps maturity" don't really have a distinct Release Management event-...


3

I would say that DevOps is a peer of Agile, not a child. Agile methods apply largely within software development. DevOps, by contrast, applies the same Lean Manufacturing/Lean IT concepts across the software delivery lifecycle, which begins with the business and ends with business value delivered (code running in Production.) I believe, after some ...


3

Eric S. Raymond is credited with popularizing "Release Early, Release Often" in his essay "The Cathedral and the Bazaar" where he credits Linus Torvalds as using that approach in the development of Linux to it's success.


3

We went from a large, monolithic backend application worked on by 100s of devs into docker based microservices, deployments using ansible and similar DevOps fluff. Here are some notes on the process: Determine the domain boundaries inside your monolithic app. Make sure calls between boundaries happen as less as possible (by call I mean either in-process ...


3

The idea of lead time is that when the customer asks for something, a clock starts ticking in their head and that clock stops when they have it in their hands. Therefor, a feature's lead time would be from when the request is received (this usually corresponds to adding it to the backlog) until it is delivered and usable to the requestor. Full disclosure, ...


2

Yes, splitting the bigger team into smaller, agile-size sub-teams is obviously necessary. But it's far from sufficient to also be performant overall, at the bigger team level. With a highly scalable CI system in place it is possible even for very large teams to use trunk-based integration, in a single master branch, thus completely avoiding the intermediate ...


2

At the Agile 2008 conference, Andrew Clay Shafer and Patrick Debois discussed "Agile Infrastructure". This was the start of the DevOps movement. But while DevOps has it's roots in Agile Manifesto, the fact is that it is not strictly required for the development teams to be Agile. Most of the Agile Principles are indeed important to follow, but no specific ...


2

Not sure if there aren't any others, but these are the criteria I use: +-------------------+-----------+-----------+ ! Criteria ! Agile ! Waterfall ! +-------------------+-----------+-----------+ ! Release Events ! Frequent ! Rare ! ! Risk ! Less ! High ! ! Required Effort ! Smoother ! Peaks ! ! Volume of ...


2

Not necessarily; as the other answers have stated, Agile methodologies and DevOps mentality can build off of each other, but to me, DevOps is broader than either agile or lean development efforts. Companies that adopt DevOps look at the entire value stream, including operations, development, product design, marketing, security etc... the movement can ...


2

Some great answers here, but I thought I'd chime in with an example of how we deliver features. "shipping" to production is not the goal, the goal is to deliver value. Shipping code to production is a means to an ends and we usually deploy many times to enable a feature. Here's a contrived example using a 1 week sprint for succinctness. During planning on ...


2

The Agile software development method describes a set of values and principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams. It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and ...


2

In a sense your question exactly underlines the problem faced by teams trying to be agile but without having the benefits of a good DevOps culture in place: there is practically no guarantee that at the end of each sprint they'll be able to deliver to their customers. In some cases teams may end up using more relaxed definitions of done (like passed QA in ...


2

I believe in 'fail fast' but it's also important to tackle understanding an opportunity in the right way. If you come up with an idea, code in a vacuum for a bit, then release it to people, you will undoubtedly fail fast, but not in a way you would like. A better approach is if you come up with an idea, clearly articulate your hypotheses on why you think it'...


2

Agile fits very well with a DevOps culture and pair programming is no exception. The following are some examples of "pair programming" principles applied in a DevOps context: A pair of individuals working together on a Dockerfile for their service. A pairing sits together to work on defining their infrastructure as code. A traditional developer and an IT ...


1

Agile works very well for this type of chaotic environment. However, for the reasons you highlighted, pure textbook Scrum may not be a great fit. As a Scrum Master who does a fair amount of DevOps I've used Kanban boards in Jira to track work. Kanban Advantages Visualization of the work the team is doing. Identifies bottle necks for the team. Helps keep ...


1

I see three way to handle this need. The software declare its dependencies and is released with each dependency at the correct version independently of others. This may create problems if two version of the same dependency are not compatible for database access for example and need a system above to ensure only compatibles version are deployed toward an ...


1

I'm not clear how a Sprint which is timed-box to a predetermined length (1/2/3 weeks) fits with a DevOps principle of being able to deploy on demand or as needed. As usual, there is no commonly agreed-upon definition of DevOps, or description of what it entails, so we're just spouting opinions here. But in mine, DevOps encourages operations engineers to do ...


1

The concept of the devops has arisen precisely because of the proliferation of agile, so it is appropriate to use the devops approaches in a agile. For example, with agile, continuous integration is used (which is part of the devops approach), orchestration of services and containers for testing and rolling out new releases for test and prod environments.


Only top voted, non community-wiki answers of a minimum length are eligible