Slashdot Asks: Are DevOps, Agile, and Lean IT the Same Thing? (zdnet.com)
ZDNet writes:
There have been three great movements shaping the information technology landscape. There is Agile, which emphasizes collaboration in software development; Lean IT, which promotes delivering software faster, better and cheaper; and DevOps, which seeks to align software development with continuous delivery...
These three movements have their own advocates, methodologies and terminology. But when you think about Agile, Lean IT and Agile, aren't these all the same thing, essentially? They all have the same goals, which is to deliver high-quality software on a continuous basis, collaboratively. Is it time to chuck the terminology and semantics and bring these three activities under the same roof?
Their article cites "advocates" -- two authors who have both written books about Lean It -- who are pushing for the concepts to all be brought together into a single mold. But it'd be interesting to get some opinions and real-world anecdotes from Slashdot's readers. So leave your own thoughts in the comments.
Are DevOps, Agile, and Lean IT the same thing?
These three movements have their own advocates, methodologies and terminology. But when you think about Agile, Lean IT and Agile, aren't these all the same thing, essentially? They all have the same goals, which is to deliver high-quality software on a continuous basis, collaboratively. Is it time to chuck the terminology and semantics and bring these three activities under the same roof?
Their article cites "advocates" -- two authors who have both written books about Lean It -- who are pushing for the concepts to all be brought together into a single mold. But it'd be interesting to get some opinions and real-world anecdotes from Slashdot's readers. So leave your own thoughts in the comments.
Are DevOps, Agile, and Lean IT the same thing?
But they all stem (in part) from the same root-cause: A slow realization that IT personnel is routinely not very good and that you would need far less IT people if the were really good. Of course, the usual implementation does it completely wrong by paying peanuts and then being surprised when they get monkeys.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
They really are all part of the same thing.
But this "splitting" it up into different fields is an attempt by some people to over-specialize.
Over-specialization, in turn, is an attempt to get paid more for doing less.
Now iterate.
Lean IT is about delivering quickly and cheaply, Agile about delivering high value compared to the costs, devops about taking responsibility for your work. If you start with one of these methods and take it to its logical conclusions, you'll end up with something that isn't very far from the others.
The idea that you can start with a mishmash of all three is probably not productive - there's a kind of learning journey you have to go through - but I'm willing to change my mind if somebody delivers proof.
They are all bullshit ideas from management that do not work in reality
from tfa..
Well, two of them are ..
The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
it works only if the practicioners (teachers or coders) are phenomenally good. That is to say, in the real world where most teachers or coders are average, most of the times it doesn't. That's why there are so many failed Agile projects out there, for the odd one that functions well.
I thought the development world had realized that by now: are we still under the spell of this fad?? Jeez... Some things just refuse to die.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
But when you think about Agile, Lean IT and Agile, aren't these all the same thing, essentially?
Didn't take much thought to identify that two of those are pretty much identical, not sure about the 2nd Agile though.
Only a Millennial would ask such a silly question.
"Eve of Destruction", it's not just for old hippies anymore...
"Destroy && Deploy"
They are not all the same thing, but they have components which are similar, like overlapping circles in a Venn diagram. DevOps is the result of Lean IT. If you need to make things such as release cycles go faster, then you will end up with automation of manual and repetitive tasks, hence DevOps. Lean IT is largely about reducing waste. So if you reduce the size of the development cycle, you reduce the likelihood of a large amount waste occurring. From that comes Agile, small bite-size chucks of work. Although lean IT is not just about development.
Agile is a project management paradigm.
Devops is a software *delivery* paradigm.
Lean IT is an accounting paradigm.
Agile is usually in contrast to a waterfall model. Agile has quick iterations where things can change whilst waterfall has one large iteration which hopefully ends with a delivered product.
Devops is the application of development tools to managing operations. This then paved the way for things like continuous integration, automated testing and deployments, cloud infrastructure, infrastructure as code, continuous delivery etc etc i.e. operations driven by code.
Lean IT is the is the elimination of waste.
You can implement devops practices with both Agile and waterfall. Devops doesn't rely on Agile's iterative premise of essentially not knowing what you're building until it's built. If you're doing waterfall and youve come up with all the requirements before hand, written Z notation or whatever to define behaviour, front loaded the work to complete all the test plans before the code is written, why not run CI to do automated testing and deployment as the code is written?
If Lean It is the elimination of waste, why does a devops environment have to be lean? Why can't I over provision cloud or physical infrastructure and just have it sit idly by doing nothing whilst running perfect, by the book, Agile project management and Devops takes place? What does the elimination of waste have to do with Agile or waterfall style project management? Neither Agile or Devops has the goal of eliminating waste, they have goals of delivering working code.
It could be said that Agile has a goal of not writing code that doesn't need to be written but the reality of that is when doing iterative sprints often because of the model, not knowing exactly what the customer wants for instance, you're going to end up rewriting code upon discovery that your assumptions were wrong. That's waste.
All three run together beautifully and there's plenty of cross over but to say they are the same or even have the same goals is naive.
The problem with slashdot is that most of its users were bullied and stuffed into lockers as kids!
'Agile' (etc) is all a bag of crap. I've seen places employ the 'philosophy', turn into a bag of crap, and then others blame not implementing it properly.
Just take the *ideas* that work for your team, use them, and dump the crud that fails. All this crap about agile, devops, etc, should simply be treated as seperate, segmented ideas on how to run things and you should choose the *bits* that work for you. Nothing is going to fully be how you should work, no one-size-fits-all, everywhere is different.
And Jesus H don't buy/read a book on it. Everything you need is on the internet already!
(and the sooner the terms devops, agile, lean get dropped, the better) BUZZWORD BINGO!
Sounds like a trio of black women.
Featuring Lil' Scrum on their hit single "Waterfalls"
... dentist, ophthalmologist and surgeon. Just subtle differences.
management.
basically "Fast, Cheap, Easy, Pick 2"
You can also study "The Mythical Man-Month" Fred Brooks, 1982
You implement and practice DevOps to be more Agile. You're need to be Agile to be Lean enough that it matters.
All of these are shit, compared to the X6Delta way of sculpting the future in ways unforseen to achieve greatness!
Proper Engineering fields have professional exams & liscensing which unregulated I.T. does not. Any regulated field has fewer, hopefully more competent, workers, and therefore commands higher wages.
”Are DevOps, Agile, and Lean IT the Same Thing?”
Yes, they are all the same thing. They are buzzwords.
#DeleteChrome
What you are looking for in your 5-yr exp. candidates are, Neo-Agile, Neo-LanIT, and Neo-DevOps. Anyone not onboard the Neos is already far too damaged to be useful. Mark my neo-wisdom in neo-yellow highlighter and you will be mightily rewarded ... by the press.
Software development managers like to appear to be in control. All methodologies are merely a way for them to give themselves that appearance. Developers come, as is well-known, in two sorts - those who can, and therefore don't need any of this stuff, and those who can't. Those who can't won't be any better for any of these techniques, but it gives them something to hide under. The big benefit of these techniques is they stop your boss playing with critical path/PERT tools. That really screws development.
"Agile" - Bullshit term (fake nown) stemming from the very real term "agile software development". The correct nown would be "agility" or "agility in software development" or "agile development". This is usually achieved by focusing on strict procedures and a clearly defined and limited set of tools and technologies in order to automate most tasks and be ready to quickly react to clients who don't know what they want to somehow know exactly what it may cost and when it needs to be finished. This is usually the case in the broader industry of web software development. This is why Scrum (offering those exact traits) is often used synonymous with "agility in software development" although it's just one method for agility. Albeit - done correctly - a very usefull and effective one.
"DevOps" - DevOps is the merging of administration and development through automation, standardization and ever increasing performance of computers and networks. Administrative tasks and development tasks move closer together, as both take less work and offer more enablement for IT workers. The line between development, administration and maintenance blurs, hence the portmanteau term "DevOps" - as in "development and operations". These tasks are also moved together because in the SaaS world product lifecycles are increasing shorter or in some cases perpetually changing, requireing IT experts to switch between development, maintenance and administrative tasks on a hourly basis.
"Lean IT" is a broader term describing the trimming down of IT in companies and ventures due to the ever increasing power and versatility of hard- and software. Tasks usually left to special computers and software are now increasingly being handled by off-the-shelf hardware, such as headless desktop computers serving as utility servers, upper-range consumer-grade NAS devices as essential fileservers or cheap generic web-based groupware for mission-critical document management. Stuff like this can nowadays also often be easily moved on to SaaS (aka "Cloud") offerings and back again with enough reliability and fault-tolerance that the risk associated with such an infrastructure shift is justifiable. IT gets leaner and cheaper, with less requirement for highly trained staff. A good example these days is the demise of the on-premise self-hosted MS Exchange groupware/mailserver that is replaced by web-based solutions or subscriptions purchased directly from MS and putting many high-earning MS Exchange experts out of jobs.
One could argue that all three concepts exist only because of ever increasing efficiency in digital technology, but the terms itself do describe different things.
My 2 eurocents.
We suffer more in our imagination than in reality. - Seneca
Lol somebody just realised his degree is worthless
They are different schools of thought, with different origins, and different communities. That said, there is overlap, and today many "Agile coaches" are intimately familiar with all three schools of thought, although the reality is that most Agile coaches know very little about DevOps.
In fact, DevOps arose partly out of the failure of the Agile community to address the things that DevOps addresses. The Agile community is largely controlled by the Scrum community, which is highly dysfunctional, because it is driven by a set of thought leaders who have turned it into a certification mill. It is their moneymaker, and they have proven to be rigid in their thinking (not very Agile!) and treat Scrum like an ideology. The Scrum community has done enormous harm to the Agile movement, which was founded on very strong principles (the Agile Manifesto), but which ran aground in the mid-2000s because of its inflexibility and dogmatic extremism. The ideas are not the problem - the "thought leaders" were the problem.
DevOps arose out of a need by big companies to deliver Internet scale things fast, while managing their risk. This later came to be known as DevOps. They did it by looking at the whole delivery process, end-to-end, and by creating enough automation and tests so that if something passed all the tests, it was good enough to release. Automation of deployment was an essential part of that, because end-to-end test require continuous delivery - you must deploy to a test env to run such tests. If you want to run those tests continually, you must deploy continually to the test env - hence the need for automated deployment. And of course A/B, canary and scaling deployments are a natural evolution of that. All this happened inside the Googles, Facebooks, Netflixes, and Amazons, and later came to be called "DevOps".
The Agile community was caught with its pants down, because it should have been talking about these things, but wasn't - it was stuck in the same old conversations over and over again - about how to have a good retrospective, how to engage the product owner, and so on - and completely ignored the technical side of things. This was regrettable because some of the early advocate thought leaders, such as Kent Beck and Ron Jeffries, were ardent advocates of automation and technical practices, but the Scrum community co-opted the whole thing and drove it into a ditch. Eventually, the Scrum community realized they were being overshadowed by DevOps, and they started to try to get back in the game by saying that one should use "Scrum plus extreme programming's technical practices". That's kind of weird because extreme programming also has ceremonies very much like Scrum, so if one uses XP, one doesn't need Scrum at all.
Now today the Agile community is trying to take itself back from Scrum, and get on board with DevOps.
Lean IT is another similar story. It because clear that the Agile community was not addressing how to "scale" Agile. The Agile community was saying useless things like "don't do Agile, be Agile" - yet offered no insights as to how to take action on that. So people looked to "Lean" and found some answers there.
And then there are things like Less and SAFe, which were attempts by some individuals to answer the question of how to scale Agile. The Scrum community was immensely derisive of SAFe - an indication of how insular and dogmatic it is, because they felt threatened by it - and indeed today SAFe is immensely useful in organizations that build big things - large programs needs actionable models for how to apply agile ideas at scale. Yet SAFe had its own gaps, namely it said little about the technical practices, but unlike the Scrum community, the thought leaders of SAFe embrace other ideas and have added DevOps to their mix of recommended things to consider. SAFe is not a methodology by the way - it is just a model for how to think about scaling issues.
So to bring all this "under one umbrella", one must consider that for those who know these schools of thought, they
Your advice to do what works for your team is great. But your advice not to read books... not so much. Reading books is one of the best ways to learn and grow. The underlying theory that explains _why_ things work for your team is not at all obvious and deserves concentrated study.
They're all stupid; imposed by busybody management types that don't have a clue what they're doing.
True. And with the abysmal state IT is in these days, I do not really see a way around that regulation.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Indeed.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Buzz words !
Totof
IT is like healthcare. Similar knowledge is required, but the pay is much less than that.
Now, lets see how good the doctors are at what they do. After all, they have to pass specific schools, training in hospital, tests etc.
"20 percent of patients with serious conditions are first misdiagnosed"
That is all I had to say.
I've worked in a dozen agile houses at this point, and it's been my assessment that agile does have its advantages. It's good for things where there's feedback coming and running a constant qa process. When done right, a good way to squeeze a little more creativity in the process. When done badly, it's little more than project managers yelling at their developers who have no idea what to do next. Honestly, most of the time, agile is an elaborate cover to hide the simple fact that there simply isn't any kind of process going on at all.
This signature has Super Cow Powers
But when you think about Agile, Lean IT and Agile, aren't these all the same thing, essentially?
Pizza is made from grain.
Pasta is made from grain.
Both have basically originated in Italy, main ingredience are tomato and cheese. Both have the same goal: to be tasty and make you full, therefor: they are the same thing!
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
They are all ways for other non-programmers to exert more control over the code creation process. Iâ(TM)ve been a professional programmer for 30 years and can say unequivocally that none of those âoeprocessesâ create better code. They all add needless complexity and transfer important decision making to non-technical people. Thankfully I work in a very technical, mathematical field where programmers donâ(TM)t have to deal with that bs. I blame the current state of programming on Java, OOP, and design patterns not to mention all the unsufferable millennials that would rather do something âoeelegantlyâ then correct. Ugh....
They all have the same goals, which is to deliver high-quality software on a continuous basis, collaboratively.
This is obviously what everyone wants and some people think waving some philosophy or methodology wand can magically make this happen. The people who kick off these pseudo-religions by reflecting upon the moments they experienced a good team making a good product, and thinking "boy if everyone pretended they were like this good team, everything would work out, here's some ways to pretend..."
If they do a good enough job naming and headlining their methodology, marketing type folks jump on board, get it out in the media, get certification mills running, advertising efforts start to coalesce around this next silver bullet that will make your terribly dysfunctional team of bottom of the barrel employees perform like the best. Key leaders get seduced by the profit potential and likely don't even realize their original vision isn't panning out.
Then when a critical mass of people observe that terrible teams are still terrible teams despite ostensibly adopting 'habits of effective people' someone inevitably proclaims a *new* methodology (which generally is the same as the old methodology) to start the cycle all over.
The reality no one wants to acknowledge is that success requires a *small* team of *really good* folks at the core. At *best* that would mean a company actually has to spend money and that is not the answer they want. At *worst* it means that the talent they need is simply unavailable at any price, or that if it is, they wouldn't have a clue how to recognize and distinguish such talent from crap.
XML is like violence. If it doesn't solve the problem, use more.
Those three are all continuations of the failed human wave ideology. Where bean counters and managers love to hear that they can toss more bodies on a problem to solve it in time. Regardless of skill, competence, concentration, ramp up time and work-motivation.
Of course this doesn't work, but complex work methodologies always leave ample opportunity for the real culprits to hide and find a scapegoat.
In real life, nothing can replace a good plan, a good developer or enough time to do things properly. Nothing.
If a company uses any of these in work advertisement, just move along. Else you will waste a lot of time on useless endeavors.
DevOps is a portmanteau.
Agile is an adjective.
Lean IT are two words.
"We mustn't be caught by surprise by our own advancing technology" -- Aldous Huxley
It was designed by talentless hacks who got sick of being code monkeys to "manage" more competent developers who were younger then them because they "put in their time" and damnit, they've been shit on for being talentless hacks for so long they deserve to do some shitting of their own.
I'd say you described the reality of any team, regardless of 'Agile' or not.
I've seen shops that said 'sorry, we can't take on this urgent requirement because we've planned out the next 2 *years* of sprints, strangled by process but they call it Agile so they think they are good.
I've seen shops that are as you imply, are aimless and don't really have any structure and when pressed say 'uhh.. Agile'.
The common thread is: if a methodology is a buzzword, it will lose any hint of meaning as it gets adopted by companies desperate to use buzz to fix real problems.
XML is like violence. If it doesn't solve the problem, use more.
The underlying theory that explains _why_ things work for your team is not at all obvious and deserves concentrated study.
The problem is that this is mostly understood if we are being honest with ourselves, but the money train of management consultancy is running on the illusion that you can extract the essence of a quality team and inject it into a poor team and have that work. As such books with branding aligned to the buzz word of the day will minimize the awkward reality to encourage people that they can throw some money at the peddler of the methodology instead of having to pay more for people or that perhaps the people they need to succeed don't even exist.
XML is like violence. If it doesn't solve the problem, use more.
Honestly, most of the time, agile is an elaborate cover to hide the simple fact that there simply isn't any kind of process going on at all.
"Agile" is a meta process. Except for Extreme Programming most Agile "Methods" don't tell you what process to run, look e.g. at Kanban or Scrum.
If you don't have automatic tests, a version control system, and an issue tracker ... you can be as agile as you want. You simply fail the same way you would fail with water fall or other processes.
And is exactly the reason why Scrum is dogmatic: you define your process and use Scrum as an overall framework. If you change the framework: it is not Scrum. That does not mean it does not work or is not agile ... it simply should be not called Scrum then. And I would go so far: if you do Extrem Programming, do everything of it. If you drop one aspect, it is not XP.
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
They all belong into the same box. The one where a consultant gets a lot of money to teach you something that makes you more productive if you don't use it.
We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
Yeah, sure, buddy. Of course, by mis diagnosed, you mean that very common case where treatment is part of diagnosis. And you, like most "developers" don't know fiscal nest add much as you think you do.
If you mean, are they a mess when implemented poorly, then Yes, they are the same.
The halting problem applies to "computers" with infinite storage. As we don't have ACTUAL computers with infinite storage (though admittedly a huge cloud system with ever increasing storage COULD be considered such, MAYBE), it is purely an interesting theoretical observation. It has 0 relevance to real-world programming, and the idiotic "OMG halting problem" shouts may well be one of the many things that needlessly have held back computer science.
Imagine all the architects would have shouted "but we can't built a bridge that can withstand a meteor!" and as a result everyone had started to acceot bridges that get blown over by the next big storm.... That's the world of programming.
The summary has it wrong.
According to Scrum.org, Agile is *not* supposed to improve quality, that's not one of its goals, and indeed it deliberately chooses to sacrifice quality in order to achieve it's goals.
Agile has two main goals it can achieve:
1. Working around the fact that most programmer were never taught how to properly determine requirements.
2. Getting partial implementations out the door faster, so the organization can get part of the benefit before the system is finished.
By giving up on teaching how to determine and document requirements, quality is reduced.
By purposely pushing out code before it's done, as soon as it might be somewhat useful, quality is reduced.
That's not to say Agile is bad. Getting half-finished software TODAY instead of completely finished software three months from now may be very valuable in many cases. It just doesn't improve quality.
Are Ford, Chevy, and Dodge the same thing?
There have been three great movements shaping the information technology landscape.
I stopped reading there.
Yes they are all the same thing; they are the fad diets of IT. Designed to give you a list of things to do and suddenly you have better IT; the problem is just like a fad diet they don't work long term (honestly short term is iffy as well) and often have massive negative side effects.
The secret to good IT, is the same as all other professions. Get and retain the best people you can. I have seen many business fail because they want to treat IT as a sunk cost; IT is an investment in your business and if you treat it like that it empowers all of your employees and has lasting positive effects throughout your whole organization. /endrant
They are three different fads.
Well, at least agile is the same thing as agile. So, at least two are the same thing.
All signs that crap is being produced, with no design or controls.
Best Info Share !
DevOps is a job description that merges development and system/database/cloud administration into one job. This is why we have security holes galore in modern software and web applications. One person can't learn it all, code it all, and secure it all.
First, obviously because of Betteridge's law of headlines, second, because 'lean IT' is when all the IT stuff is done by the bosses teenage son on the weekends.
I haven't been involved with Lean IT or DevOps really ( I have read a little about them), only a couple of workplaces that advertise "we are Agile!" as if its the new veganism.
My practical experience with Agile in such places leads me to believe it's something concocted by some people having a very narrow understanding of software development, but dismiss decades of development of software development best practices with a simple all-inclusive invective "Waterfall!!" and think that you can use the same principles for developing a 4-page website and a mission critical central banking system. Managers that have never programmed themselves love the concept of quickly delivering something working, then go and buy vaguely worded books and consultancy on the matter.
That sounds very similar to the OP article where 3 widely separate concepts are described in such broad and vague strokes that from the lofty distances of management levels they all look like the same thing ("moar moneeee!!!!")
Fact of the matter is, if you are in some position of authority to implement really any way of how the developers are going to do their job, you need to understand more than just for-loops and if-conditionals. You have to have a broader picture of how information and work products flow, what the bottlenecks and hindrances are, and put measures in place to alleviate that. The Agile Manifesto won't tell you that, it won't even know the issues particular to your organization let alone suggest solutions.
Document writing was put in place for a reason (higher levels of abstraction of information). True, many organizations have done it just because that is the way it's done. One actually has to understand why it's done then tailor it for max benefit. Fred Brooks described the pitfalls of "collaboration" in The Mythical Man Month decades ago (i.e. exponential rise in communication with linear rise in complexity) and suggested solutions - which seem to be thrown out again with Agile. If people don't learn from history, they will continue to repeat the same mistakes.
See subject: I challenge YOU to find bugs or security flaws in a program I give away freely vs. your statement APK Hosts File Engine 2.0++ 64-bit for Linux/BSD h t t p : / / a p k . i t - m a t e . c o . u k / A P K H o s t s F i l e E n g i n e F o r L i n u x . z i p
* All this "new hotness" (agile bullshit etc.) LEADS to TOO MANY cooks in the kitchen & "modern wares" problems. Look @ it out there nowadays in general & tell me different.
(Why do you THINK Linus Torvalds STILL governs what goes into OR out of his Linux kernel? (last I knew of it spanned 15++ million lines of code (far smaller than NT-based OS @ iirc, 30-40 million) & something of that SIZE might need specialization & division of labor, but the core of it?? He built, himself...))
APK
P.S.=> When you have 1 guy that directs & DESIGNS information systems & the networks they ride on HE has the overall understanding to MAKE THEM WORK & WORK RIGHT (Linux kernel IS a prime example & improving almost daily) minus too many cooks in the kitchen - & I don't have to say anything other than LOOK @ THE MESS OUT THERE NOW in wares galore full of bugs etc. ... apk
I don't know about that. Waterfall can really leave a mark on the production process. The cold, top down order of the thing. If you're working in waterfall, or reverse waterfall, you know it. It may not be the most efficient system there is, but it's implemented consistently, and it gives you something to fall back on. Agile on the other hand is 12 simple ideas that together, are impossible to implement the same way twice. You always get the feeling that the team you're on is "learning" Agile, no matter how long they've been working with it, and that can drive you nuts. Personally, I've always been driven by order and efficiency. To that end, Agile's a crapshoot. And it all depends on the managers and the stakeholders. Either they get it, or they don't. My feeling is that most of the time, we as developers would be served better by simply taking the basics out of agile. Sprints, retrospectives, and just use those, without trying to focus on the pieces everybody always gets wrong.
This signature has Super Cow Powers
If you don't have automatic tests, a version control system, and an issue tracker ... you can be as agile as you want. You simply fail the same way you would fail with water fall or other processes.
Well, that could be interesting. I wonder what agile might look like if you're not using a tool like JIRA or Redmine to track the items in your sprint. How would you do it without version control or issue tracking?
This signature has Super Cow Powers
As in "management fads that will all be forgotten within the next 10 years"?
Yes. Yes they are!
Progressivism: Parasites helping parasites to help themselves - to other people's stuff.
It also stems from a management ideal, of squeezing assets. Ops people are expensive, so might as well have DevOps who know the full stack. Agile is a great, broken system, like Total Quality Management, and other fads, which helps the PHBs optimize their synergies.
In reality, when you get tired daily of four hour SCRUM meetings which are like kangaroo courts where the SCRUM master calls out every dev and asks them why they don't have everything done in their swim lane, and where the place is in a permanent sprint, where not much get done other than name calling and good people bailing for work at less shitty places.
Then, there are the "Agile" settings, the open air workplaces where you have to wear earphones all day otherwise you won't get any work done. The open air workspace saves square footage, which makes the bean counters happy, but is a worthless environment for the people who have to work trying not to pay attention to the co-worker on the phone talking about his hysterectomy, the other co- worker chowing down on chips or popping popcorn.
Then there is the "lean IT" or NoOps. Again, management. They want to brag about having zero IT staff, all the while offshoring or putting stuff on the cloud. Great for lowering those pesky CAPEX numbers, while pushing OPEX through the roof... but hey, it looks great next quarter.
I worked in Agile environments for years. It is no wonder why we get the shitty, failed, insecure products we do with this methodology.
Just use a kanban board on the wall to practice agile without jira. Works great if everyone is in the same room. You absolutely need source control though. You don't need branching necessarily.
How can you compare a job role (DevOps) , and methodology (Agile / Lean IT).
It's not even 'apples' and 'oranges'.
Items in your sprint are classically tracked on cardboards half the size of US legal or European DIN A4 paper. ... the issue tracker was not used by developers.
The best scrum team I was in actually only used cardboards
My point however was: using a version control system correctly and efficiently is an important point for success. And that has nothing to do with being agile or not. Many teams don't use version control right (e.g. not including the issue number of the issue tracker in the commit, not having a commit hook that rejects such commits, etc.)
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Programming is a world unbound by physical rules, only logic and reason dictate what works. There is a large "art" aspect to making quality programming. Many projects fail not due to a lack of following rules, but a lack of creativity. They can't think of the many ways their design can fail, they can't figure out which methodology works best, they don't know when to break the rules. In programming, rules aren't written in stone like civil engineering, but rules are "more like guidelines". Those who follow the rules are mediocre at best. I don't know if you've seen the state of programming, but mediocre is crap.
I've worked in IT for about as long, before Linux was even something that was available, and if you wanted to run UNIX, you had to use Mt. Xinu, or BSD/386, and pay for it.
In those times, you had the massive physical book to search for something. There were no usable search engines, even with Archie and Veronica. Gopher was useless. At best, you had man pages and USENET groups, but at best, unless you were 95% of the way there, you would be laughed at out of town. If you wanted a software package, you built it from source, and you rewrote the code so the package built on your flavor of UNIX, be it AIX, Ultrix, BSD, Dell SVR4, IRIX, Minix, XENIX, A/UX, NeXTStep, UNICOS, or whatever you were using. If it didn't compile, it was on your shoulders to get the application going.
You had to be competent then. As a UNIX admin, you had to be a network admin, a storage admin, and many other roles that are separate today. You give the wrong person the root password, or physical access to your Suns or SGI boxes, and thousands of people would be fucked. You made DAMN sure your backups were working, because there wasn't a cloud provider that you could click Next on a few steps and be done.
Fast forward to today. You don't have to know anywhere near as much. For Windows, you can get by in a lot of cases with Google and clicking "next". For UNIX stuff, it can be harder, but there is something out there. You really don't have to know much about computer science, but just watch some YouTube vids.
I have worked with DBAs who didn't even know how to CD to the Oracle directory in Linux. It is very easy to become a "DevOps guy" and get hired in not knowing a damn thing. When fired, bounce to the next thing, saying that they had layoffs.
SunOS 4.1.4, AIX 3.2.5 and IRIX 4.x did not suffer fools gladly.
They are all bullshit. Next?
=p
The referenced article uses the phrase "laser-focus", which means it's marketing fluff.
Lasers aren't focused, they are collimated. If you do not know the difference, you are not smart enough to talk about process and development
I think they are all methods of convincing management to let developers do their job.
Especially the former and the latter are absolutely positive the same thing :-D
> half-finished software done is the only way to get the customer to actually start trying to say what they wanted instead of just waving the question away.
If that's the only way you've been taught, that's the only way you know. It's not the only way!
Largely that misconception comes from starting with the idea that you can only determine requirements based on "rhe customer saying what they wanted", or more commonly, the customers' boss's boss saying what they think.
You CAN document, in detail, the exact requirements for a complex $15 million project, without building anything first. Proof is most every civil engineering project ever. My mentor routinely did that with software projects. But you can't do it if you haven't been taught how.
Yes. Yes they are.
Don't waste your time.
In a perfect world, Scrum would be useful. However, in a real world, the Scrum master position is abused and becomes a bully pulpit. Stand-up meetings become daily floggings on the devs, forcing devs to use any out they have, even if the outs are unethical, unscrupulous, or even illegal (as in hacking root access in production to get their code artifacts pushed out, because their code doesn't past a unit test and "ops" refuses to allow the request to complete until it does.)
Scrum just ensures shitty code and shitty developer morale. Combine that with the open spaces, the fact that devs are pretty much fungible, especially with offshore dev houses and H-1Bs costing pennies on the dollar (or rupee), and it is no wonder why code is such garbage in general.
It wasn't civil engineering projects that she did.
A couple of her projects included:
Building Dell's innovative customer order to inventory to manufacturing system. With this system, when a customer orders a custom-confugured computer via Dell.com, it immediately checks the inventory of parts and orders new parts from the suppliers as needed. Based on parts availability and all of the computers scheduled to be built, it then schedules that particular computer to be built on the assembly line. The assembly line scheduling optimizes for several factors to make it more efficient - orders using similar parts are batched together. Shipping is scheduled similarly. Within a few seconds after the customer places the order, the system knows when it will be assembled and placed into the box, within a margin of a few minutes.
Designing an integrated information system for Martin Marietta, an enterprise consisting of many companies in different fields, including mining and aerospace.
Her method for determining requirements was NOT asking the users' boss what they think they need.
Her methods also did NOT involve throwing shit and the wall and see what sticks (Agile, as often practiced).
The entire system was designed, in detail, based on *actual* requirements, not what some manager thought of when asked "what do you want?"
Three major parts of determining requirements included:
1. *Watching* the assembly line workers build the computers and taking detailed notes of what users *do*. (Not asking their boss's manager what they do, actually watching).
2. Documenting business inputs and outputs. Inputs include customer orders and vendor shipments. The key output is computers shipped to customers. (Note there are no integers or floats af the top level - these are business inputs, not data formats).
3. Analyzing the legacy systems, computer based and paper based, that did the same operations less well. Especially the databases were analyzed. If you understand the databases that run an enterprise, you will understand the operations of the enterprise better than any C suite executive does.
All three are scams for consultants to bill.
Doesn't an "agile workplace" just mean less desk space for all employees?
> Lean IT, which promotes delivering software faster, better and cheaper
This just sounds like marketing bullshit. The other two were described more ... descriptively
I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
> articulate it sufficiently
That's the key word in Agile.
I do not believe in karma. "Funny"=-6. Do good and forbid evil. Yours, Oft-Offtopic Flamebaiting Troll.
There may a place for Agile, but imposing it's used on an O&M organization "just because" is extremely poor management and a HUGE waste of O&M staff time
The number of possible states of a program operating in a memory of 1 Gigabyte is approximately 2 ^ 8,000,000,000.
To determine if the program is going to halt, you need to wait til the program has explored all of those states.
Practically, as in, in the life of the universe, that is not decidable, even though theoretically it may be.
Where are we going and why are we in a handbasket?