• Security incident: ISF was recently accessed by intruders. Please change your password, and change it anywhere else you used it. Read more

Dear Users... (A thread for Sysadmin, Technical Support, and Help Desk people)

Status
Not open for further replies.
A little bit of training can save a lot of work later.

I once spoke to a person who was complaining that the formatting in some parts of her document were changing based on how she was formatting other parts of the document. I asked her if she knew how Styles worked, and she said "I don't need to know about that".

Well, yes you do, because it is the reason you are having a problem. If you understood how auto-updating Styles worked in Word, then you would not be experiencing the problem. You'd know what it was doing and why. But because you "don't need to know about that", you are wasting your own time - and mine - because you didn't bother to educate yourself about the tool that it's your job to use.
What's this wheel in the front seat of the bus?

The big one that makes the bus go right and left?

I don't know, I just drive it, so I don't have to learn what it does. Can you come here and do it for me?
 
What's this wheel in the front seat of the bus?

The big one that makes the bus go right and left?

I don't know, I just drive it, so I don't have to learn what it does. Can you come here and do it for me?

(A short while after an exasperating training session)

I was driving along and the bus just stopped suddenly, now I can't even get it to start. I don't understand, it was fine yesterday.

What does the fuel gauge say?

Which one is that?

...

What's that noise on your end? it sounds like something smashing against a wall.
 
Again we're all having a jolly laugh but that's exactly the mentality IT support people are supposed to operate under, being on call support/disaster recovery/end user training/just doing to user's job for them/etc people with no rhyme or reason and as evidenced by this thread called unreasonable or unprofessional for pointing it out.

We're supposed to be the guy who fixes your car, teaches you how to drive it, drives you wherever you want to go whenever you find a function on your car you never bothered to learn, and do the insurance adjustment when you total your car.
 
Yes, well worth reading, not just for the head-shaking factor, but because the participants come up with some very interesting solutions, technical and non-technical.



(I posted that link on Aug 30. No one responded to it, so I thought I'd respond to your posting of it so you wouldn't feel alone.)

I didn't respond because I lost the rest of my day going down that rabbit hole.
 
Good morning, Service Desk, this is Andrew speaking. How can I help?

Ah, hi. Yes. I need a dongle please.

*beat*

I'm sorry, can you explain a little further?

Yes, I need a dongle for the department's IP address.

*beat*

You need a... sorry?

Turns out they needed a wireless broadband modem so that they could access a website being developed by a third party, while working remotely from home. The developers restricted the website to be accessible only by departmental IP addresses, so when operating via DTA on her home network she didn't have the correct IP address to access the site. But it took quite a few minutes of pulling teeth to determine this information. All she had been told was "You need a dongle. Call Service Desk to get one."
 
That's not really her fault, of course.
It's the old "whisper the mystical incantation" idea that seems to pervade some places.

Either that or Python:
"One of cross beams has gone out skew on treddle."
 
That's not really her fault, of course.
It's the old "whisper the mystical incantation" idea that seems to pervade some places.

Either that or Python:
"One of cross beams has gone out skew on treddle."
Right, but it's not hard to learn the correct names for things. This particular one confused me because I'm old enough to remember the original meaning of the word "dongle", which was a pass-through device that plugged into the serial port of the computer that allowed proprietary hardware to operate. It was some time before I remembered that people use the word to refer to wireless broadband modems.
 
Right, but it's not hard to learn the correct names for things.

Ah, well it would be hypocritical of me to complain about things like that as I'm hopeless at remembering the names of things. And don't get me started on bloody acronyms. I do wonder why I'm in this job sometimes...

As for dongle, yes it does seem to have morphed into "anything that plugs into a computer". I suspect that some bright spark noticed that the not very big thing going into a computer (in that case the serial port as you say) was called a dongle, so this thing going into the computer that's not very big must also be called a dongle. Again, the "mystical word" thing.
 
I think this is related to the problem of "solutioning".

In general, IT folks operate best from a clear problem description, which they can evaluate to determine the cause and the solution. It doesn't even have to be a technical description. As long as you can describe in your own words what you're trying to do, what you expect, and what happens instead, your IT guy should be good to go.

Screen shots and error messages - verbatim! - can be used here to fill in the technical gaps in your description.

It's when you try to describe a *solution* that things go off the rails.
 
I would argue about... half my time is trying to pull what the actual problem out of a user that only wants to keep saying some minor variation on "It doesn't work" over and over.
 
Despite having been in IT for nearly 40 years, I have no idea what the highlighted phrase means.

The basic idea is that there are two broad paradigms for software development. The older paradigm, prevalent for many years, went something like this:
1. Define requirements.
2. Spend a year developing software to meet those requirements.
3. Release the software all at once.
4. Discover all the bugs and all the missed requirements and all the implemented requirements that nobody actually wanted.
5. Define new requirements.
6. Spend a year...
Etc.

This paradigm was called "waterfall" software development, for some reason. Probably because you can visualise the process as a cascade of activity, Requirements > Development > Discovery.

The waterfall paradigm made a lot of sense in the days when software came on physical media. You'd buy a disk, insert it in the computer, install the software, and use it warts and all until the new version came out next year. Then you'd upgrade, and hope that the new version had more useful features and less bugs than the previous version. Mostly this worked.

But as we moved into an age when more and more software was running as a service over the Internet (Turbotax Online, for example), software companies realized they didn't necessarily have to wait six months or a year for a new version. They could fix bugs and add features as they were discovered. You could update your service every six weeks, or every six days. Or every six hours. And being able to produce beneficial updates quickly gave you an advantage over your competition.

But to do that well, a new paradigm was needed. The new paradigm needed to have a system for breaking down software development into small tasks that could be completed quickly, tested quickly, and released quickly. And, in order to be valuable, the new system had to link these tasks to specific tangible benefits to your users.

The implications of such a system are literally paradigm-shifting. Instead of your software developer laboring for a year on a massive code base, making hundreds of changes without really knowing if they're useful or wanted or even simply not harmful; your software developer can labor for a week on something he knows is desirable, and at the end of the week he can test it and know that it's working as intended. Shortly thereafter, that improvement that customers actually want - the bug fix, the new feature - can be released, and customers can be made happier thereby. This is, in a word, *awesome*.

And this awsomeness hinges on knowing what customers want. You know there's a bug that affects database performance, but have your customers even noticed that? Or are they all clamoring for a delete button that warns them before they delete stuff? Gathering that customer feedback, and using it to decide which development goals to prioritize, is critical to the success of the system.

This new paradigm is called "agile" software development, probably because it's the same basic cycle of activity as the waterfall, but done at a much faster pace. Customer feedback about what they're trying to do and what they expect from your software is called "user stories". The phrase "recording user stories" is the agile paradigm's term for defining requirements.

A mature agile development team will usually have a Product Owner assigned or embedded with the developers. Their job is to gather the user stories, prioritize them, and bring them to the developers. The developers, armed with the knowledge of what the users want, are then responsible for breaking the requirements down into incremental development tasks that will produce real improvements as each one is completed.

One side effect of the agile paradigm is that it requires an acceleration of the entire software development lifecycle *and* of all the tooling required to get a piece of code from the developer's head onto the customer-facing website. When I started out in systems administration, I could leave a software QA server down for a week or two while I worked on more important tasks. What's a week or two of QA downtime, on a year-long development cycle?

But when that same cycle is supposed to run multiple times a day, and the developer has committed to having some good thing ready for customers by the end of the week, even an hour of QA downtime really hurts. So the entire pipeline has gotten more robust, more efficient, more fast.

And more automated. When you're cycling through the entire process multiple times a day, you can't just hand a guy an installer and some instructions and tell him to upgrade the server so they can test the new version. Instead, you fill your pipeline with robots that do all that automatically, on the fly, all day every day. Instead of telling your quality engineer to manually step through all of the testing processes, you tell him to write automated testing scripts using a standardized suite of tools, so that his expertise can also be applied continuously by robots, without having to wait for human intervention.

And that's basically my job: Administering an automated software delivery system, so that my developers can drop their code into a code repository, sit back, and let the robots do their job.

tl;dr - it means you start by finding out by what your customers actually want, so that when you give them stuff it's stuff you know they'll be happy to get.
 
The basic idea is that there are two broad paradigms for software development. The older paradigm, prevalent for many years, went something like this:
1. Define requirements.
2. Spend a year developing software to meet those requirements.
3. Release the software all at once.
4. Discover all the bugs and all the missed requirements and all the implemented requirements that nobody actually wanted.
5. Define new requirements.
6. Spend a year...
Etc.

This paradigm was called "waterfall" software development, for some reason. Probably because you can visualise the process as a cascade of activity, Requirements > Development > Discovery.

The waterfall paradigm made a lot of sense in the days when software came on physical media. You'd buy a disk, insert it in the computer, install the software, and use it warts and all until the new version came out next year. Then you'd upgrade, and hope that the new version had more useful features and less bugs than the previous version. Mostly this worked.

But as we moved into an age when more and more software was running as a service over the Internet (Turbotax Online, for example), software companies realized they didn't necessarily have to wait six months or a year for a new version. They could fix bugs and add features as they were discovered. You could update your service every six weeks, or every six days. Or every six hours. And being able to produce beneficial updates quickly gave you an advantage over your competition.

But to do that well, a new paradigm was needed. The new paradigm needed to have a system for breaking down software development into small tasks that could be completed quickly, tested quickly, and released quickly. And, in order to be valuable, the new system had to link these tasks to specific tangible benefits to your users.

The implications of such a system are literally paradigm-shifting. Instead of your software developer laboring for a year on a massive code base, making hundreds of changes without really knowing if they're useful or wanted or even simply not harmful; your software developer can labor for a week on something he knows is desirable, and at the end of the week he can test it and know that it's working as intended. Shortly thereafter, that improvement that customers actually want - the bug fix, the new feature - can be released, and customers can be made happier thereby. This is, in a word, *awesome*.

And this awsomeness hinges on knowing what customers want. You know there's a bug that affects database performance, but have your customers even noticed that? Or are they all clamoring for a delete button that warns them before they delete stuff? Gathering that customer feedback, and using it to decide which development goals to prioritize, is critical to the success of the system.

This new paradigm is called "agile" software development, probably because it's the same basic cycle of activity as the waterfall, but done at a much faster pace. Customer feedback about what they're trying to do and what they expect from your software is called "user stories". The phrase "recording user stories" is the agile paradigm's term for defining requirements.

A mature agile development team will usually have a Product Owner assigned or embedded with the developers. Their job is to gather the user stories, prioritize them, and bring them to the developers. The developers, armed with the knowledge of what the users want, are then responsible for breaking the requirements down into incremental development tasks that will produce real improvements as each one is completed.

One side effect of the agile paradigm is that it requires an acceleration of the entire software development lifecycle *and* of all the tooling required to get a piece of code from the developer's head onto the customer-facing website. When I started out in systems administration, I could leave a software QA server down for a week or two while I worked on more important tasks. What's a week or two of QA downtime, on a year-long development cycle?

But when that same cycle is supposed to run multiple times a day, and the developer has committed to having some good thing ready for customers by the end of the week, even an hour of QA downtime really hurts. So the entire pipeline has gotten more robust, more efficient, more fast.

And more automated. When you're cycling through the entire process multiple times a day, you can't just hand a guy an installer and some instructions and tell him to upgrade the server so they can test the new version. Instead, you fill your pipeline with robots that do all that automatically, on the fly, all day every day. Instead of telling your quality engineer to manually step through all of the testing processes, you tell him to write automated testing scripts using a standardized suite of tools, so that his expertise can also be applied continuously by robots, without having to wait for human intervention.

And that's basically my job: Administering an automated software delivery system, so that my developers can drop their code into a code repository, sit back, and let the robots do their job.

tl;dr - it means you start by finding out by what your customers actually want, so that when you give them stuff it's stuff you know they'll be happy to get.

Thank you.

I'm more familiar with "agile" as used in physical manufacturing, not software. This was very enlightening.
 
I would argue about... half my time is trying to pull what the actual problem out of a user that only wants to keep saying some minor variation on "It doesn't work" over and over.
Indeed. This is something that I'm usually very good at. That particular call stumped me, though. How are you with strong accents?
 
And what you invariably get in new agile shops is people "waterfalling the sprint" because it's all they know. That's where my team is at currently. It's a work in progress. Sigh.
 
Status
Not open for further replies.

ISF - Join now!

Every member here is approved by hand. No bots, no spam, just people who care about evidence and honest debate.

Membership is free!

Create your free account

Back
Top Bottom