Monday, The Death of Websites 207
An anonymous reader writes "Developers implementing 'weekend inspiration' are more dangerous than hackers.
Vnunet.com has this article about how eager developers and administrators create more troubles than hackers and viruses do for websites. How about those of us who start the week with a cup of coffee and the morning online-news? My inspiration and new ideas for development are definitely not the cause of the Monday-crash hour ... I think."
The Death of Slashdot??? (Score:2, Funny)
Does this mean I shouldn't expect anymore karma?
Re:The Death of Slashdot??? (Score:2)
Re:The Death of Slashdot??? (Score:4, Funny)
Does this mean that Monday mornings are peak productivity times for developers?
Re:The Death of Slashdot??? (Score:3, Funny)
Great sample:) (Score:5, Insightful)
And if slashdotting causes more downtime than developer mistakes, couldn't one argue that interesting content is more harmful than bad code for website uptime?
Re:Great sample:) (Score:3, Interesting)
A Google search for even the word "website" came back with: Results 1 - 10 of about 68,800,000.
Even with that number, which I would estimate to be low of the total number of websites in existance, that puts the 70 site survay at
Re:Great sample:) (Score:2)
Re:Great sample:) (Score:2)
I think most statisticians would want at least 100 to consider the results statistically significant, and you need at least 3,000 respondents to guarantee a 3-percentage-point margin of error.
With all the different kinds of sites out on the internet, with extremely different dev cycles, content, and audience, 70 websites picked completely randomly still could turn out to be 50 pr0n sites and 20 Geocities N'Sync fansites. At
Re:Great sample:) (Score:4, Informative)
1,000 respondents give a +/-3 percent 95% confidence interval.
Rule of thumb - worst case is if the population is split 50-50. This gives a base 95% confidence interval of 1. Divide by the square root of n. That is your worst-case confidence interval.
If you can make a random sample of all major websites (define major websites), then no need for stratified sampling - only if you wish to talk about specific subgroups or if sampling the general population is difficult is stratified sampling necessary.
Re:Great sample:) (Score:2)
Re:Great sample:) (Score:2, Informative)
I've been working on a project for the last two months, and when they created our 'live' date- they picked today.
Moving the site from test, to live, we noticed 5 or 6 small problems (due to browser cache issues, people still had parts of the old pages).
So- I guess that Monday morning we had issues, but not due to the developer (me) I hope- due to the arbitrary date set by people in charge.
day traders (Score:5, Interesting)
Re:day traders (Score:5, Funny)
Maybe you should lead the way in doing this study. Then, you can publish your results, get Slashdotted, and become an inexplicably famous Internet personality!
Re:day traders (Score:2, Interesting)
Second, I don't know about bandwidth studies but you will find that most of the activity in the markets takes place on the open or on the close. Mid morning and mid afternoon markets are generally dead.
Also, to do a
Re:day traders (Score:2)
Emphasizing the story? (Score:4, Funny)
The cause of bugs (Score:5, Funny)
Re:The cause of bugs (Score:5, Funny)
Re:The cause of bugs (Score:5, Interesting)
For the concrete "holiday lockdown" example, I think he's only partially right. In my development group, we explicitly lock down ALL changes to our production web apps well before, and all through, the Christmas shopping season, to prevent the inadvertent introduction of any (new) bugs. It's not a side effect of vacation time -- it's an explicit operations decision to reduce the risk of breakage.
So, yeah, while we're not touching it the stability seems to increase, but no existing (but less critical) bugs get fixed either. No large-scale app is bug-free -- the lockdown period just seems to stabilize things but it's an illusion caused by the lack of new species of bugs popping up.
In the more abstract "development introduces bugs" sense, it's a fact of life in complex systems that new code means new bugs -- and if we never introduced new code (->features) then we'd lose customers. So I take his statement to imply that we should only be introducing 100% bug-free code -- which is a PHB pipe dream.
Re:The cause of bugs (Score:2, Insightful)
He does have a valid point about testing before putting code into production and being able to roll back changes. That's all pretty obvious stuff.
The mention of managers pressuring for changes, but not allowing for adequate testing time is also typical.
-Craig.
Not just Programmers (Score:5, Insightful)
The article suggests that developers come back from their weekends and start fiddling with websites, but I think this last paragraph is perhaps equally or more accurate. Managers get "inspired" over the weekend just as much as code writers.
Re:Not just Programmers (Score:5, Insightful)
Like:
No, Im sure it's a great idea, so just do it. I want it done before 10am.
Re:Not just Programmers (Score:2, Insightful)
Sysop on vacation syndrome (Score:5, Funny)
Re:Sysop on vacation syndrome (Score:3, Funny)
My boss went on a trip to Europe for a month. A few months previously, she had two racks full of servers managing our needs. It all ran like clockwork. Of course, this one-month trip included a 2 week stint where she couldn't be reached. The day after she was completely out of contact, *poof*. I shit you not, there was a *poof*. Something on the motherboard let all it's smoke out.
Re:Sysop on vacation syndrome (Score:3, Funny)
Re:Sysop on vacation syndrome (Score:5, Funny)
Unprofessional development (Score:5, Insightful)
Any codebase, be it a program, a web site, or a router's firewall rules, should be changed IN TEST FIRST! Then you do your best to break it, and only after you and several others have had at it do you move it to production/HEAD/whatever (and hold your breath).
If you had a wonderful idea over the weekend, GREAT! Implement it in a test branch, try it out, and then move it to production. But if you merge it into the mainline without testing you are not acting professionally.
I will give the
At least, some of the time.
Re:Unprofessional development (Score:4, Insightful)
Re:Unprofessional development (Score:5, Funny)
Re:Unprofessional development (Score:3, Insightful)
And that is EXACTLY my point. I've been bit by that too many times myself - "Oh, this is so simple I'll just roll it in". Then all goes to hell.
True, there are things that won't break until they go live - that's life in a universe ruled by Murphy. But the idea is to reduce the likelihood of an error as much as possible.
That is why, no matter how tempting, no matte
Re:Unprofessional development (Score:5, Funny)
"Grammer"? You're just trolling, aren't you?
Re:Unprofessional development (Score:2)
I believe this is even better...
It's a law of USENET - transmogrified to discussion web sites - that anyone criticising the spelling or grammar of another poster will always make a spelling or grammar gaffe in that their very own post.
Re:Unprofessional development (Score:2)
It's almost like all sense of professionalism evaporates when you're working on a website. Database developers do some awesome work, and their specialty is accorded a high level of regard. Yet when they work on a website's backend they stumble and fall. I've seen Java programs that are the pinnacle of
Re:Unprofessional development (Score:2)
I think the problem is the immediacy of a web site - it is possible to make quick changes and see the results (as opposed to a lengthy edit/compile/link/load/swear cycle) so people get used to making quick changes. When you can make a quick edit and immediately see the results, you get sloppy - when you are looking at a 15 minute e/c/l/s cycle you are a bit more careful.
On my project at work [p25.com] we do much of the work in TCL/Tk - and so you can make changes while the system is running. This is good, in
OMG (Score:2, Funny)
Developers shouldn't be able to break stuff (Score:5, Insightful)
If stuff breaks on Mondays, either someone is skipping steps, or there is more going on.
Re:Developers shouldn't be able to break stuff (Score:5, Funny)
You mean something like this?
Re:Developers shouldn't be able to break stuff (Score:2)
Re:Developers shouldn't be able to break stuff (Score:5, Funny)
Re:Developers shouldn't be able to break stuff (Score:2)
Re:Developers shouldn't be able to break stuff (Score:3, Interesting)
I enforce upon myself the requirement to run new code on a test server first, but a formal and managed development environment just isn't going to happen at small companies, or larger companies with small dev staffs.
Then there is also the issue of things that are extremely difficult to model in a test environment. Complex failur
Re:Developers shouldn't be able to break stuff (Score:5, Informative)
But they (we) always do.
Speaking purely from my experience, half the problem is managers who don't understand that "I've finished coding" does not mean "I am ready to deploy."
It's been years since I got time to do serious "pre-deployment" testing. The code deadlines are so tight...well, you can imagine.
In school they always talked about post-production/predeployment. I've never worked in a place where that was anything but a dream. I've watched people edit LIVE CODE before, I mean the ACTUAL pages, while they're up! Used to be, compile time was so long, people exhaustively checked their code before trying to compile it. Now we compile to check for typos. Guess this is similar sloppiness.
Just my 2 cents worth.
Re:Developers shouldn't be able to break stuff (Score:3, Funny)
It's great, ain't it. I bet you didn't know gcc has a "LEARN TO TYPE YOU IDIOT!" error.
Re:Developers shouldn't be able to break stuff (Score:4, Informative)
In the project that I'm working on, this is done. And it's the main reason that changes to the "live" web sites are usually disasters.
I develop something new, test it very thoroughly on my test machines. It all seems to be working, so I hand it over to the guys running the live systems. They install it in different directories than I did (and won't ever tell me where they plan to installl things, so I can't defend against this very well). They change the cgi scripts' search paths so they can't find some of the things they need (or find old versions). They install images in random new directories without changing the tags.
Then they complain that my stuff doesn't work, and was obviously not tested thoroughly.
Well, of course it wasn't. I have no way of knowing how it'll be mangled when its installed in the live systems. I can't find out the directory structures of the live systems. But I get the blame when it's installed all wrong.
Re:Developers shouldn't be able to break stuff (Score:3, Insightful)
Saying "Well, it works on MY machine" is irrelevant - the only box that counts is production.
Manic monday eh? (Score:5, Interesting)
I mean its easy for it to happen. We had problems like this with our monitoring system (tho it was manic friday where someone would attemtp to impliment something before the weekend because of course, the weekend is when you want pages the least so you want to get anything that causes false pages fixed on friday to maximize enjoyment of the weekend)
Now we have development and test servers where things live BEFORE they go production. I never had any idea that it would help so much until we finnaly implimented it.
-Steve
Tesing (Score:5, Funny)
I'm not saying the artical is wrong. The developers are still the biggest problem with our web site. It just doesn't always happen on Monday. Some times it takes tell Wednesday to get through the system.
What is it about developers? (Score:5, Interesting)
Just a thought: The rest of the world lumps all of us IT people together; the distinction between, say, a "developer" and "sysadmin" means nothing to my non-geek friends.
I don't think stuff like this happens often to sysadmins or DBAs. How often do you come into work on a monday and decide to migrate to xfs because you read on slashdot over the weekend that SGI ported it to linux, and SGI is cool? Likewise, how often does an Oracle DBA decide on Monday to move some production tablespaces over to rawfs from cooked, because she read a whitepaper from Oracle on Saturday that talked about performance increases from raw filesystems?
I've written a lot of code, and also sysadmin'd an awful lot of servers, and in my experience probably 90% of "production outages" are software changes--exactly like the article said--poor change control, etc etc. So, what's the point of dynamic multipathing, patching, dual power supplies, etc etc, when most problems occur because someone got excited and forgot a semicolon somewhere?
Is it fair to say that sysadmins fix things and developers break them? What is different about a software engineer's brain than a systems engineers? Talk amongst yourselves :)
Re:What is it about developers? (Score:3, Funny)
Re:What is it about developers? (Score:5, Insightful)
Well, first of all those are all pretty big changes. No developer worth a damn would try to do something that massive over a weekend, by himself. Also in general I think there is more possibility of a small change causing big problems in development work than IT work, although this certainly does happen with IT, as I can attest to, having spent many a late night struggling with some sever setup or what have you.
Is it fair to say that sysadmins fix things and developers break them? What is different about a software engineer's brain than a systems engineers? Talk amongst yourselves
Again I think it comes back to the job of a developer, not being harder per se, but perhaps being
Re:What is it about developers? (Score:5, Insightful)
Not in my experience. I've seen sysadmins break software by installing security patches, changing server passwords, changing firewall rules, restarting servers at the wrong time, swapping hardware, tinkering with network topology, failing to follow proper startup or shutdown proceedures, failing to perform necessary maintenance, etc. DBAs can cause just as much trouble tinkering with optimization, DB parameters, passwords, etc.
Thing is, anyone involved in the software process in any meaningful way can break it if they do something stupid, and in my experience, stupidity is not a trait confined to a particular profession, culture, religion, or ethnicity but is shared generally by all.
Developers don't have beepers (Score:2)
Re:What is it about developers? (Score:2)
Our last three major outtages were as follows:
1) DB Server failed in a way we cannot reproduce in development (recovered easily, but manually).
2) Sysadmins didn't install the correct certs the second time (renewing).
3) Major power outage to main office pointed out that all DNS was served from the main office.
The last one produced a minor bug where someone had configured production servers to ignore (NOOP) a reasonably large percenta
Taking the point to its logical conclusion (Score:2)
Am I crazy? (Score:3, Insightful)
Changes on Monday? (Score:4, Interesting)
On the other hand, I'm not sure incremental development is that much worse than large releases. You're either releasing a bug or two a week or waiting eight weeks to release all your bugs at one time.
Where'd it go? (Score:2)
Yeah... Unless you are a
It's better than Friday, stupid. (Score:5, Insightful)
Monday is the best time to implement changes to most sites. The irresponsible coder implements on Friday, when errors might not be caught, or fixed, until the next working day, after a full weekend of downtime, bugginess, or insecure behavior.
But that wouldn't make for an interesting story. News flash: updating code often results in bugs that need to be fixed. When do the authors suggest we roll out new versions?
Nope - Tuesday or Thursday (Score:5, Interesting)
hmmmm (Score:3, Funny)
i tend to spend the weekend trying to think of excuses to avoid doing any work on monday morning, somehow i figured other people did the same thing
p.s. our website hasn't gone down in 2 years, go figure
Re:hmmmm (Score:2, Flamebait)
i tend to spend the weekend getting blowjobs from hookers behind the circleK, somehow i figured other people did the same thing
Re:hmmmm (Score:2)
I wish my group of friends had thought of that.
Sounds about right (Score:2, Insightful)
Mondays & Fridays Should Be Banned! (Score:5, Interesting)
I and my fellow Contractors had an unwritten rule to "hold off" on all "good" ideas generated in meetings etc on Monday & Friday. Almost inevitably they would
all be canceled within a couple of days. Not subjecting ourselves to post/pre weekend madness saved ourselves a ton of work and helped us bring the project in on time!!
Re:Mondays & Fridays Should Be Banned! (Score:2)
Alternate Theory (Score:2)
Well thought out article. I put less thought in my article, which is why it is at Slashdot.
Re:Alternate Theory (Score:2)
But who knows? I don't think either of us is right because there's no way to really know without doing more research on it.
Which is why I'm posting at Slashdot.
Weekend Update (Score:4, Informative)
They talk as if the developer has an idea over the weekend, then comes in Monday morning and implements this idea without any testing. But if that were true, the websites would crash Tuesday. I mean, really, how many of you think these guys are really making the changes Monday morning and the websites are thus breaking Monday morning? Any changes you see Monday morning were loaded over the weekend, and are probably the result of all last-week's work. Whatever ideas anyone got over the weekend will be coded and tested this week and installed next weekend; they won't show up until next Monday at the earliest.
Re:Weekend Update (Score:5, Interesting)
Yes but... (Score:2)
Re:Weekend Update (Score:2)
My cause for Monday morning crashes (Score:5, Funny)
Cup of coffee.
Browse online forums.
Read witty remark.
C|N>K
Change keyboard. Curse profusely.
I would fire the IT staff (Score:2, Interesting)
Of course I'm the one that implemented a testing domain (live on the Net) for just such pur
Re:I would fire the IT staff (Score:4, Insightful)
Oh, but you don't do anything interesting on it.
Have you considered that running complicated software that your business relies on could reduce reliability simply because it's actually doing something more interesting than serving internal files and transferring e-mail?
Re:I would fire the IT staff (Score:2)
Way to keep those systems up-to-date and current, mister IT director. Are you planning on firing your security staff too?
- A.P.
Re:I would fire the IT staff (Score:2)
Any black hats out there want to know about a system that hasn't seen any security patches in the last 10 years?
You, my friend, are a fool. There is one school of thought that says "if it ain't broke, don't fix it." There is another school of thought out there that says "stay up to date on your patches." Somewhere in the middle there is a happy medium. I myself prefer to wait a couple of months for the general publ
You UK guys need to work on this (Score:2, Interesting)
I'm going to start with pointing out that the first sentence of the article said "UK websites", not "US". Obviously that means the people across the Pond need to work on this.
And what a surprise that when people roll out changes sometimes things break. Oh My God. Have you cured cancer yet?
And I'd say more often than not the "problems" on Monday are caused by bug fixes that developers are rushing on to production to fix bugs that were found over the weekend. And, as we all know, sometimes bug fixes ski
Inspiration and discipline.. both needed (Score:5, Insightful)
First of all, presumably it is a good thing that people think, and get inspiration. Mon-Fri 9-5 is not the best time for thinking - this is the time for meeting deadlines, sitting in meetings, answering the phone, putting out fires, and so on. The only time most of us have to actually sit and think is the weekend. Personally, I think that should be encouraged.
The next step is implmenting what you have dreamt up. Obviously, most ideas fail - ask any patent officer. And obviulsly, implmenting a new idea without checking with colleagues, drawing it 0ut in a spec, getting that spec approved, then protoyping, testing, tuning is not ideal either. These procedures were invented for good reasons - not just to constrain the creative mind. This is where most developers fail - not in coming up with ideas, but in being disiplined in implmenting them. I hear "we cannot plan ahead, it does not work like that for us" all the time from my developers - this is always a misconception, and seems to me simply a combination of inexperience, laziness and inability... nothing that cannot be fixed!
Michael
What's next? Late night overtime produces bugs? (Score:5, Insightful)
Maybe Small Websites (Score:2)
M@
ohh come on.. (Score:5, Insightful)
QA (Score:5, Informative)
We have an 8 people tech team now (manager, programmers, support, QA). Whereas before we programmers would just use a development environment somewhat similar to the production (live) environment, test it a bit, deploy at will and monitor if anything went wrong, things have progressed a lot. Now we develop on a development environment as close to the production one as possible, then this is released to a test environment (also as close as possible to the production one) to be tested by QA, and that is finally released on the production (live) environment after it all tests ok (including regression testing).
Moreover, all the code changes are now under CVS, and we have automatic tools for monitoring the site, emailing errors, etc. QA is also done by separate people. IMHO it is conceptually flawed to allow the developers to do the final testing, by definition. (Though of course this is not always possible for cost reasons, it should be a goal).
The quality of our site is much better now. Problems almost always only arise when people want to bypass QA or force things through for emergencies.
IMHO, what is needed is:
1. Professionalism by the developers.
2. Testing, testing, and testing -- by the developers.
3. QA, QA and QA -- by someone other than the developers!
4. Managers must know the test/ QA process should never by bypassed -- this unfortunately is probably the hardest point.
I taught a couple of ecommerce classes for MBA students and had them actually do hands on development (in a limited sense of course) so they could get an appreciation of this process. Hopefully if some of them are managers they will remember that and not try to shortcut the due process.
Re:QA (Score:3, Insightful)
Of course it is. If the code breaks, it's the developer's fault, even if the Manager broke the process. The Manager can FORCE it to be the developer's fault, so what reason does the manager ever have to accept blame?
When you have a choice between waiting 3 days for a fix that has to be done TODAY, and risking breaking something that absolutely MUST NOT BE BROKEN, it is your fault, a
My "weekend inspirations".. (Score:4, Insightful)
Requirements? (Score:2)
I don't know about some of these development teams they are talking about but around here, you don't just implement "ideas" you might have had over the weekend. "Hey! Wouldn't it be cool if it did this... !" If it's not a requirement, it doesn't go in.
If that were the case... Wouldn't it be cool if Slashdot loaded a random pr0n image with every article posting!
It has to be said... (Score:2, Funny)
This rings so true. (Score:5, Funny)
1. Make changes last thing on a Friday.
2. Or before a 2 week holiday
3. Change Management does not apply to developers
4. CVS is for wimps
5. And if you must use CVS, wait a week before committing fixed code.
5. Don't bump version numbers
6. Don't update init scripts
7. Ecept if they are correct
8. If anyome is aware of what you are upto... go to lunch.
Stupid article (Score:5, Insightful)
And generally business websites don't see as much traffic on the weekends, so naturally the weekend is the time to make changes.
So wow, it's no shock that Mondays are when you're most likely to see problems with a website. But these problems and hiccups are the price you pay for progress.
If you don't want to chance any disruption in your life, then I guess you should never change. Otherwise, get over it.
Need 4 environments Dev, UAT, IT & prod (Score:5, Insightful)
They need a Dev environment. And THAT's ALL they touch. They deliver their code to UAT.
QA needs 2 environments:
- Unit Acceptence testing (UAT) and all bugs go back to Dev
- Integration Testing (IT) and all bugs back to Dev or you need SysAdmins who need to hack the OS middleware &| environment)
Production where NOHING is allowed until its gone through UAT & IT.
What a gyp! (Score:4, Funny)
a solution (Score:2, Funny)
[/sarcasm]
What does this have to do with Mondays? (Score:2)
Obligatory Office Space Quote (Score:5, Funny)
Lawrence: No. No, man. Shit, no man. I believe you'd get your ass kicked saying something like that.
bah (Score:2, Funny)
Web applications suck because the developers are stupid and the users are smart.
Solution: have the desktop developers design web sites and fire the webdevs! I mean, I've been waiting WAY to long for a boss key on e2 [everything2.net], anyway.
Weekend Inspiration? (Score:4, Insightful)
I find it quite disturbing how these companies are blaming downtime on developers. This means that:
a. You have no change control over your environment, and developers can do as they please, hence poor management.
b. Developers are implementing changes that haven't been thouroughly tested. Again poor management.
Technology and competition isn't moving so quickly that you cannot take the time to use a test/qa environment.
Have they heard of QA? (Score:5, Insightful)
Two little words: (Score:2, Flamebait)
Any place that doesn't use them deserves all the shit it causes itself.
- A.P.
Film at 11 (Score:2)
In other news, more people die in hospitals than at McDonalds, so if you get appendicitis, you should go to McDonalds.
Change controls? (Score:2, Interesting)
We recently dropped the policy, but I'm not sure if there has been any fallout from doing so.