Sigh... I did not mean that they literally dawned black ski-masks, snuck into Xerox Parc at night, and stole the idea. My previous post should have clarified this for you.
Well, not really. Apple gave Xerox stock in exchange for allowing the devs to see what was going on at Parc with the express understanding that Apple was attempting to create a UI. Xerox didn't expect Apple to completely rip off their work (which was stupid) and they later sued Apple for that fact. This is almost exactly what MS did to Apple.
Also, Apple didn't win in court. When Apple sued MS for theft Xerox sued Apple for the same thing. Once Apple lost the suit against MS they simply settled out of court w/ Xerox.
Wow, the root post could not be more wrong. Not even more wrong than a 400lb woman in a 2 piece bikini. C# (actually, the.NET Framework) was built from the ground up to support Web Services. Get a clue.
The reason for this is really very simple: MS was late to the market and as a result they weren't able to dominate the market. By opening up the XBox to play other formats they are opening up the market for their device. Microsoft hasn't changed its stripes. They only want to work with their competitors when its financially beneficial for them to do so.
This is an interesting question considering the fact that the same people who say these greedy companies should held responsible are the same people who would hold P2P companies free of all blame for software piracy. Warning: Slippery slope ahead.
This is just what the software industry needs: Another business guy who has never written a line of code trying to tell the rest of us how to do our jobs. For all of the whining and crying about bad software you'd think they'd actually put the developers in charge for once. I can't speak for the industry as a whole but from my perspective 70% of the problems in the development world come from business types setting impossible deadlines and failing to listen to their developers.
...or you could just download log4net, add a few lines of code to your app, and use notepad as your wizbang administrative interface.
Seriously, could they overkill exception logging to any greater degree? You want me to make a remote call to a 3rd party web service just so I can read my own exceptions??
If they are like other managers, the reality of the situation is irrelevant. They will make unreasonable demands and you will be held responsible when the demands are not met. To them, all the graphs, charts, timelines and other stuff is just part of your whining.
I get the impression that you and I are both in the same situation: We've been there before and have grown bitter at our own inability to change the situation (and management's refusal to change their own behavior). It's unfortunate that this is such a common problem in the software development world.
However, the original poster is on the right track. I've learned over time that the only way to even moderately improve the situation is to educate upper management. No matter how hard you try you'll never be able to change them by talking to them. You MUST provide documentation backing up your points and that's exactly what he's trying to do.
Education aside, it's also critical to CYA on these things. If your critical project is 6 months late then you better be able to show documentation proving that it was because your managers made it late. Otherwise it's going to be your fault. Whether it actually is or not.
For some reason we accept that software should be just thrown together rather than properly designed and proved.
As a software engineer, I'd love to have the proper amout of time for design and testing. But, getting management to allot time (aka: money) for design and testing in a new project is like trying to teach latin to a monkey.
The problem is not the acceptance of thrown-together software. It's that someone decided to put MBAs in charge of software development.
How many times has someone made a change to one part of an application only to find out that it breaks something else? It seems to me that this type of problem is the very reason MS didn't want to pull out MP in the first place.
-K
Re:Getters/setters bad?
on
Holub on Patterns
·
· Score: 2, Insightful
Ok, this post completely misses the point. You don't provide getters/setters to insulate the client from functionality - you provide getters/setters to insulate the client from change.
Change is inevitable. You've got to plan for it. So, 6 months down the road when you realize that you need to change this requirement and add some functionality you won't be able to because you've directly exposed the member without hiding it behind a getter/setter.
Every time I hear this I can't help but chuckle. Just like I chuckled when everyone was freaking out about the Y2K problem. Sure, we have a problem with outsourcing jobs to India - but the sky is not falling people! Outsourcing is just the trend de jour and management and the media (who tend to whip each other into a frenzy anyway) will realize this in a few months/years. There are serious problems with outsourcing which will quickly make this problem go away: language barriers, timezone differences, the inability to monitor development activites, and the loss of business intelligence (he who writes the code knows the code). Besides, because of the high costs/risks associated, outsourcing tends to be relegated to large companies. Most small development organizations simply aren't capable of utilizing this option.
You may try implementing weekly (or daily) code reviews. People tend to work harder when they know their code is going to be on public display. Also, you'll be able to suggest improvements in smaller and more frequent increments as opposed to being overwhelmed at the deadline. Plus you'll be able to instruct everyone at once instead of repeating yourself over and over again.
Sigh... I did not mean that they literally dawned black ski-masks, snuck into Xerox Parc at night, and stole the idea. My previous post should have clarified this for you.
Well, not really. Apple gave Xerox stock in exchange for allowing the devs to see what was going on at Parc with the express understanding that Apple was attempting to create a UI. Xerox didn't expect Apple to completely rip off their work (which was stupid) and they later sued Apple for that fact. This is almost exactly what MS did to Apple.
Also, Apple didn't win in court. When Apple sued MS for theft Xerox sued Apple for the same thing. Once Apple lost the suit against MS they simply settled out of court w/ Xerox.
Perhaps you meant Merzouga Wilberts? People forget that Jobs just stole the idea from Xerox before Gates stole it from him.
Wow, the root post could not be more wrong. Not even more wrong than a 400lb woman in a 2 piece bikini. C# (actually, the .NET Framework) was built from the ground up to support Web Services. Get a clue.
The reason for this is really very simple: MS was late to the market and as a result they weren't able to dominate the market. By opening up the XBox to play other formats they are opening up the market for their device. Microsoft hasn't changed its stripes. They only want to work with their competitors when its financially beneficial for them to do so.
This is an interesting question considering the fact that the same people who say these greedy companies should held responsible are the same people who would hold P2P companies free of all blame for software piracy. Warning: Slippery slope ahead.
This is just what the software industry needs: Another business guy who has never written a line of code trying to tell the rest of us how to do our jobs. For all of the whining and crying about bad software you'd think they'd actually put the developers in charge for once. I can't speak for the industry as a whole but from my perspective 70% of the problems in the development world come from business types setting impossible deadlines and failing to listen to their developers.
...or you could just download log4net, add a few lines of code to your app, and use notepad as your wizbang administrative interface.
Seriously, could they overkill exception logging to any greater degree? You want me to make a remote call to a 3rd party web service just so I can read my own exceptions??
It's sad when only 1 of 107 comments is actually on target. Cudos Dangero - I couldn't have said it better myself.
However, the original poster is on the right track. I've learned over time that the only way to even moderately improve the situation is to educate upper management. No matter how hard you try you'll never be able to change them by talking to them. You MUST provide documentation backing up your points and that's exactly what he's trying to do.
Education aside, it's also critical to CYA on these things. If your critical project is 6 months late then you better be able to show documentation proving that it was because your managers made it late. Otherwise it's going to be your fault. Whether it actually is or not.
Because, of course, it's Microsoft fault you can't read Spanish.
Sweet, now all we need to do is develop an application that is attractive, easy to use, and addictive. Wow, why didn't we think of that before.
For some reason we accept that software should be just thrown together rather than properly designed and proved.
As a software engineer, I'd love to have the proper amout of time for design and testing. But, getting management to allot time (aka: money) for design and testing in a new project is like trying to teach latin to a monkey.
The problem is not the acceptance of thrown-together software. It's that someone decided to put MBAs in charge of software development.
How many times has someone made a change to one part of an application only to find out that it breaks something else? It seems to me that this type of problem is the very reason MS didn't want to pull out MP in the first place.
-K
Ok, this post completely misses the point. You don't provide getters/setters to insulate the client from functionality - you provide getters/setters to insulate the client from change.
Change is inevitable. You've got to plan for it. So, 6 months down the road when you realize that you need to change this requirement and add some functionality you won't be able to because you've directly exposed the member without hiding it behind a getter/setter.
Every time I hear this I can't help but chuckle. Just like I chuckled when everyone was freaking out about the Y2K problem. Sure, we have a problem with outsourcing jobs to India - but the sky is not falling people! Outsourcing is just the trend de jour and management and the media (who tend to whip each other into a frenzy anyway) will realize this in a few months/years. There are serious problems with outsourcing which will quickly make this problem go away: language barriers, timezone differences, the inability to monitor development activites, and the loss of business intelligence (he who writes the code knows the code). Besides, because of the high costs/risks associated, outsourcing tends to be relegated to large companies. Most small development organizations simply aren't capable of utilizing this option.
You may try implementing weekly (or daily) code reviews. People tend to work harder when they know their code is going to be on public display. Also, you'll be able to suggest improvements in smaller and more frequent increments as opposed to being overwhelmed at the deadline. Plus you'll be able to instruct everyone at once instead of repeating yourself over and over again.