Agile Methods in System Administration? 61
sta asks: "Agile methodologies focusing on development techniques and approaches abound, many of which at the very least give food for thought. I have been in constant discussion with our dev manager about agile approaches and their extension to the systems administration world. Can agile methods and the agile mind set be applied to the systems administration world? Does systems administration rely on policy and procedure for it's integrity and reliability or is that just an ingrained habit? There appear to be a number of administrative tools that claim agility but are there any established agile methodologies?"
Uh... (Score:5, Funny)
Geekness has put food on my table for 20+ years but I have no idea what the submitter was asking and Babelfish isn't helping.
Re:Uh... (Score:2)
Re:Uh... (Score:2)
When will people learn that buzzwords and trendy methodologies are no substititute for real knowledge, experience, and creativity? Apparently never...
A bile-filled SA writes - was Re:Uh... (Score:5, Insightful)
Well, unless it involves us learning how to get a job where we can put any misconfigured piece of DHCP request answering shit on someones production network, then go away to play pool on the table that was installed "because we're creative and have special needs", then I don't really want to know...
But, let's be fair and take a look at what agile is... (from http://agilemanifesto.org/ [agilemanifesto.org])
Processes are bad.
"Hey, my account won't let me sign in!"
"Yeah man, that new account generation proccess that ensures you get access to the dozen departmental systems that people designed themselves because they know better, that was just too fascist for me man!"
Deliver stuff early when it partially works - yes, we SAs invented that, it's called kludging.
Talking to people in your team is a good way of communicating - yes, also we've heard there's this thing called fire that you can use to heat things up.
Working software is the primary measure of progress - you don't say! Really? I also heard there's this thing called fire that you can use to make cold things hotter.
You should try to make your software well designed and technially excellent - that's where my Perl scripts have been going wrong! I've been trying to make them shit all this time! D'oh!
Motivated people make better programmers - cattle prods are motivating, aren't they?
Do I sound bitter? Well, today I had to spend an hour of my life (that I won't get back again) teaching a perfecty intelligent person how to jump through the stupid hoops needed to make a piece of shoddy software designed by an intellectually challenged monkey perform a simple task for them. Yeah, making all twenty icons look the same, that was good idea. Maximise should show you more of the current document? No way man, it's just a conspiracy - don't let those Micro$oft bastards force you to comply to interface standards.
Re:A bile-filled SA writes - was Re:Uh... (Score:2)
And to any ex-SSA programmers in the house, I say: Show yourselves! Admit the awful truth!
"It was my fault! I wrote BPCS! I drove Biglig mad! It was me I tell you, me! But you'll never take me alive while I have this cyanide pill!"
Anyway programmers are always saying that code re-use is a good thing...
Re:A bile-filled SA writes - was Re:Uh... (Score:1)
boycott (Score:3, Funny)
you want an answer? use your agility (+13)!
Maybe if you used some Extreme Sigma Patterns (Score:5, Funny)
Then... PROFIT!!!!111
Re:Maybe if you used some Extreme Sigma Patterns (Score:2)
Agility is all well and good... (Score:3, Funny)
Just one word of advice (Score:2)
Hmm... (Score:4, Funny)
Re:Hmm... (Score:2)
Re:Hmm... (Score:1)
Re:Hmm... (Score:4, Funny)
I found an intro to agile methodologies... (Score:1)
The following factors suggest an adaptive [agile] process
* Uncertain or volatile requirements
* Responsible and motivated developers
* Customer who under
Re:I found an intro to agile methodologies... (Score:2)
Except that we sysadmins make our money because no one bothers to rtfm and understand, and any involvement on their part is usually best fixed by a drastic means such as reformatting and starting over. Every question i've ever been asked was either
1. impossible
or 2. best answered by summarizing the output of "man $topic"
That's it. (Score:5, Funny)
JUMPED THE SHARK
I mean, this post is basically a form question. "Can I use [buzzword] to achieve [unrelated goal]? How can I [verbed noun] my [neologism] to [marketing speak]?"
I'm just waiting for the dupe. Seriously. Where's Jon Katz to ask "If only people would pay attention to Agile Methodologies, they wouldn't have shot all those kids in the face! Agile Methodologies are the unsung heroes of high school!"
Re:That's it. (Score:2)
sounds like a round of "can you get a round of bullshit bingo to slashdot".
agile? run around the block. or buy a ring of +5 agility.
FuckedCompany said this a few weeks ago... (Score:5, Insightful)
Lard. [siliconsatan.com]
Re:That's it. (Score:1, Offtopic)
Re:That's it. (Score:1, Offtopic)
No hyperlinks? (Score:2, Funny)
Hang on, that makes this an oxy-moron....
gus
Speaking out of my ass... (Score:4, Insightful)
First, and most obviously, you can apply agile methodologies to creating sysadmin tools to help you do your job.
Second, more subtlely, and perhaps more importantly, you can apply the idea of pervasive testing, probably the most important tenant of agile methodologies (although that's my opinion, not necessarily held by the "experts"), to your sysadmin job.
Every time a user calls you up and says a resource is down, and you didn't already know about it, that is a failure. Really, creating test scripts for such things isn't too hard on average; a script to send email through the corporate email system and retrieve it, once a minute. A script to iterate through all user files and do some basic permission checks every night. A script that pings critical machines every five seconds and does something drastic if they don't reply.
A lot of this is available haphazardly already, some of it you'd have to write, and some things you'd have to get a little creative with. (Example: Checking if the voice mail system is still up is not impossible, but would take a bit of work.) What I'd recommend to go forward in an "agile" sense is to start plucking low lying fruit: Whatever you current most common problem is that you get from users, write a script to detect it before they do. Then proceed to the next most common problem.
A completely adaptive system that detects everything is probably out of your reach. On the other hand, the number of relatively simple precautions that could be taken and aren't sometimes surprises me. You can reach a happy middle in most cases, I think.
Re:Speaking out of my ass... (Score:3, Insightful)
>everything is probably out of your reach
http://www.nagios.org/ [nagios.org]
you've never done this, have you ?
Re:Speaking out of my ass... (Score:3, Interesting)
I did mean that starting from scratch probably isn't doable. I didn't bother looking for something that already existed since, well, frankly I didn't care. Advice gathered from Slashdot is worth every penny.
It still doesn't look to me like Nagios solves everything off-the-shelf that I've encountered in my life, but that sure does go a long way towards it.
So I'll revise my statement to say you're insane not to use something like Nagios, and write whatever plugin
Re:Speaking out of my ass... (Score:2)
Re:Speaking out of my ass... (Score:2)
The big "profit motive" in IT is to adapt to what the business needs as fast as possible. Waiting 3-6 months for new servers and testing software is not something most businesses have luxury for anymore. Customers demand packing and information about your product now! You can't provide it they move on. The biggest deal is creat
Agility in System Adminstration (Score:5, Funny)
I think agility is very important. Yesterday, I was using typing on the computer to repair damage done to our system by one of our clueless lusers (Bob) while simultaneously delivering a series of side kicks and back kicks to his abdomen to make sure he understood the gravity of his mistake. This involves both balance and agility. Lucy walked in on us and was about to cry for help when I immediately executing a beautiful spinning roundhouse kick to her temple. Again, fast reaction times and the ability to rapidly change direction and momentum -- agility -- saved the day. In the meantime, Bob was able to gasp a breath of air and was about to run away. Seeing Lucy drop to the ground, I whipped around a delievered a picture-perfect forearm smash right into Bob's teeth! Knocked him out cold. I continued typing on the computer, repairing the mess while simultaneously flicking the door to my office closed with my foot to conceal the physical mess.
Agility is the key to sanity as a sysadmin, my friends. If you can't multitask like that, you're gonna have a tough life. They don't teach you this shit in school.
GMD
Answers: (Score:5, Funny)
Yes and Yes (in that order).
No (see answer 1).
XP option theory (Score:1)
You don't have that problem in system administration because so many of the tools are so cheap. And YOU ARE GOING TO NEED IT. We've seen the YAGNI approach to home firewalls and spyware checkers and anti-virus. System Administration is about having it all. So many great tools out there and
Re:XP option theory (Score:1)
(Actually, this was an interesting post, but I only have snarky comments, not mod points!)
Guiness time already? (Score:1, Funny)
Re:Guiness time already? (Score:2)
Thank You Slashdot (Score:1)
I hate these flavour of the month marketing-memes that always generate more heat than light.
As in paired denial? (Score:2)
okay enough scoffing (Score:4, Interesting)
if it came to a choice or not, i'd not be very inclined to following any porcess. my favourite programming tools are a clipboard and a mechanical pencil -- and frankly after i've drawn up a UML i end up wanting to be an Agile programmer almost by default. it depends on how you're defining Agile.
for that matter, IBM claims that its Rational Unified Process is inherently flexible, but having had to program in that process a few times, i'll argue that it's not.
let's argue that one of the key tenets of the Agile Method is to encourage the talented and motivated to do a good job and lead through their individualism. in a small or even medium sized business, that is a good way to run things (and this is true of fields other than IT). it encourages random improvements and magic features that might not have been planned in the roadmap since version 0.1.1. and if you are running a particularly small group, it is brilliant way to do things.
by comparison, if i was managing the development of a prodcut like M$ Word, i would live in dread of a rogue coder doing something brilliant but failing to properly check that every object and variable behaved like it was supposed to. i'm reminded of a blog by a microsoft programmer with a bug that caused havoc with the mac version
bringing it back to the sysadmin question: i thik there is a lot of potentilal in using Agile Methods. flexible and fast are what the cutsomers want. but i think there needs to be a further defining of what the "official" Agile Method is because i can certainly see problems with it.
as someone who sysadmins some very strange situations, i can imagine horrible problems if one of my junior admins decided to go all rogue elephant on a DNS server using some OS that is incompatible in a weird and unknown way
i love and encourage people to find their magic solutions to scertain questions, but yes i must admit that if you do something that means a batch of our users can no longer find the network then i'm a little worried.
to my future junior sysadmins: yes we can already run the directory and network with any damn OS you choose, they all fit. magic improvements are highly welcomed and i look forward to them. but please, follow the damn chart, there are a couple things that are in place and already work.
Stepwise Deployment + advances in virtualization (Score:2)
Incremental adding of features, upgrading, transitions etc. One step at a time, evaluating the value of each step.
It is not as easy as it sounds, although recent advances in virtualization at the OS level [cam.ac.uk] and service level [linuxvirtualserver.org] is going to make it a lot more interesting if not easier.
Guh? (Score:1)
ohh... (Score:1)
Yes, with due care (Score:2)
This was on Multics, which had to stay available 7/24, and for which there was support for changing hardware (a brand new thesis on that one) and softwware on the fly.
If they'd blown it during the the first pack, they could revert to a backup disk pack, fix the problem and continue.
The method was continuous small changes, applied in low-load periods, watched through hig
Wrong website (Score:2)
Agility vs. Stability (Score:2)
I think that agility is the opposite of what we're driving for in a production system. The IT Infrastructure Library (ITIL) [itil.org] is a codification of best practices for operating data centers. One of the key tenets is to control changes by a formal release management program: bundle the changes into a release, test the release, and migrate to the release.
The point is that production has to be reliable and stable between releases. Agile methodology is designed to create rapid change cycles,
Poster has managment written all over him/her..... (Score:2)
1. Standards Standards Standards
2. good change management that is actually used, that involves testing before production
3. knowing when it is appropriate to ignore the first 2 rules an
*sigh* "Agile" has dropped to buzzword status (Score:4, Interesting)
But by giving it this new name, there's a risk of backlash. I guess that's happened already, judging by the utterly vapid responses to this post!
To me, agile means the following things:
* don't do work until you need to
* do everything in the simplest way you can
* write tests for everything
* make your work relocatable and reusable
* use version control
* communicate with customers
* release your work to the customer as rapidly as practical
Now, I happen to wear both a sysadmin and a programmer hat depending on the time of day. Mostly sysadmin, but since discovering this philosophy of programming, I've started doing more coding. It's a pretty amazing feeling to have 100% code test coverage with everything tucked away in version control, with single-command deployment and distribution to client machines. They never taught me this stuff in school.
So, if you're a syadmin, and you're not as cynical as the other slashdotters here today, can you see anything in that list that might help you?
Here's some things I do as a sysadmin:
* use version control for
* practice "test-first sysadmin"
* do everything in as simple a way as possible: for your next script, use environment variables and the presence/absence of files in a directory to configure it, instead of inventing Yet Another Config File format
Use the filesystem instead of MySQL
Don't ever install things by hand. Build a custom package. If your OS doesn't let you do this easily, switch to one that does (gentoo rocks for this as well).
* document everything: when you do something, make a note of it on a wiki or a text file. Give the other sysadmins access and chide them when they don't keep the file up to date. lead by example.
* automate: don't do anything 3 times. anything you do a third time, automate it. (you will appreciate the simplicity of using the filesystem as your config file when you do this, by the way). need to watch something on a box? create an rss feed. you don't need a web server, just build the rss feed and scp it from your laptop every hour. do whatever it takes for you to work as little as possible yet meet your goals.
Yeah, you probably do a lot of this already, but you'd never think of calling it "agile" or anything else other than "a good job". Fine, whatever. Agile is more of a mindset than anything else, based around simplicity and being ready for change.
Re:*sigh* "Agile" has dropped to buzzword status (Score:2)
Enjoy.
Can Agile Methods in System Administration? (Score:1)