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 ...


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

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

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

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

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 ...


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

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 ...


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

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

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 ...


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.


1

I've been working on couple of Agile projects with over 100 developers without any problems, so from my personal experience, to deal with such big workflow, here are some suggestions: Team definitely should to be split (max. ~12 people each). Make sure you've the right people with the right skills in each team, so they're independent (cross-functional ...


1

IMHO it doesn't need to. From DevOps (emphasis mine): DevOps (a clipped compound of "software DEVelopment" and "information technology OPerationS") is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process ...


1

Scope-wise, Agile covers development of software, i.e. mostly/only the Dev aspects of DevOps. They best work together, however they are not exactly conditioned/dependent on each-other: non-devopsy orgs can still use agile in development devopsy orgs can still use non-agile development methodologies


1

DevOps is not an 'offspring of Agile', though it has been influenced by concepts from the Manifesto for Agile Software Development. DevOps consists of a set of characteristics of building, deploying, and monitoring software systems, as well as configuration management of source code, with a heavy emphasis on continuous integration and continuous delivery (CI/...


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