Slashdot Mirror


What Gartner Is Telling Your Boss

Littlewink writes, "Esther Schindler's latest analysis reveals what Gartner is telling your boss at their annual conference. Excerpts: '"The future of application development is not about programmer productivity," said [Gartner analyst] Hoyle during the keynote presentation, "but in assembling functionality from components." [Gartner analyst] Veccio stated "Why would you ever code an app from scratch again? Why would you need to?"' According to Schindler (who does not 'drink the Kool-Aid'), Gartner urges managers to consider better process control and governance, managing 'application portfolios' much as they do stock portfolios. Part of this discipline is 'killing development projects early and often.'"

67 of 284 comments (clear)

  1. Gartner tells my boss whatever anyone pays em 2 by Anonymous Coward · · Score: 5, Insightful
    My boss hears things like Linux's a legal risk, SCO might win, etc.


    Basically they're just another rent-a-quote firm for people who buy their services

    1. Re:Gartner tells my boss whatever anyone pays em 2 by cayenne8 · · Score: 2, Informative
      Geez....I see more time and money spent WASTED on meetings to put together paperwork to bet processes documented, and procedures set, most of which is done by people who have NO clue as to how to code or put together a database, or gui or webpage.

      More crap time is spent doing this stupid stuff, rather than getting the ball rolling and actually putting something together. I've seen projects waste their time and money on this.....and run out of both, to never get the project off the ground.

      Sure, I know you need to do some of this stuff, but, really...often these days, all you have are mgmt types that know nothing besides these buzzwords, meetings and paperwork....the actual work to be done and deliverables to be produced are merely a nagging side item.

      "It is the process that is the most important thing..." Thank the Lord I've not had a gun each time I've hear that one.

      --
      Light travels faster than sound. This is why some people appear bright until you hear them speak.........
    2. Re:Gartner tells my boss whatever anyone pays em 2 by lucabrasi999 · · Score: 5, Insightful
      Sure, I know you need to do some of this stuff, but, really...often these days, all you have are mgmt types that know nothing besides these buzzwords, meetings and paperwork....the actual work to be done and deliverables to be produced are merely a nagging side item.

      While I admit that sometimes the process does get in the way, the fact is there is a good reason for 'process'. Presently, I am consulting at a place that doesn't really HAVE a process. They don't have meetings to complete paperwork or to discuss plans. They are very much into cutting edge technology. Every critical application is on the very latest OS and Hardware combination possible. They purchase the latest version of everything the very week it is released. And, their developers are busy coding away, instead of worrying about submitting documents or creating change requests.

      While that may SOUND like a great place to work, the fact is, the place is a disaster. They are almost entirely in reaction mode. They never use project plans, so no one has any idea how long it will take to complete a task. That is a bad thing, if YOUR project is dependent upon someone else complete that task and you don't know how long it will take them.

      They are always rushing to place a hardware order, or to configure the hardware to get it in place, because they want to have the latest and greatest of everything. Unfortunately, because most of their application vendors haven't even agreed to support the latest technology, they are either installing the latest technology without support (a very dangerous thing) or they are always on the phone to various developers, trying to get support.

      Because they don't plan their system changes (using formal change procedures), I know of at least one example where payroll production crashed and burned because of an unrequested change (that is completely unacceptable when you have thousands of employees waiting for their pay stubs).

      Oh, the developers? They are putting in 60 hour weeks, always juggling tasks, trying to complete EVERYTHING, because EVERYTHING is last-minute rush.

      I could go on for pages, but I think you get the point.

    3. Re:Gartner tells my boss whatever anyone pays em 2 by djrok212 · · Score: 2

      I'm glad there are people out there like you who think meetings and project plans have anything to do with productivity and organization. I work for a company who's entire business is based around being nimble and trusting our employees to make educated decisions rather then having to bring everyone into a room to discuss it before moving forward.

      We choose our hires very carefully for this very reason, and don't hesitate to terminate someone who can't get it done. We are EXTREMELY productive and very organized but don't really on charts and powerpoint presentations. Frankly if we were more procedure driven, we couldn't do what we do.

      Everyone thinks that in order to bring stability to an IT organization you have to have process, and this might be true if you hire run of the mill low quality techs, but if you hire smart, you'd be amazed what you can get done when your employees can take ownership.

    4. Re:Gartner tells my boss whatever anyone pays em 2 by Doctor+Memory · · Score: 2, Interesting
      Presently, I am consulting at a place that doesn't really HAVE a process
      Is this a "Web 2.0" shop? Because it sounds a lot like the places I heard about trying to crank out web apps back in the late 90s.

      I've worked with processes and without, and the best is...just having good competent developers and a manager who can both crack the whip to get things done and shield his team from the political BS. It's only happened a couple of times, but it was nice while it lasted.

      Interestingly, my last gig was with a "CMM level 5" organization, who turned out some of the worst code I've ever seen. They gathered requirements (which the client couldn't completely verify, due to language issues), then created their use cases, then their sequence diagrams, and then they proceeded to cut and paste existing code into EJBs. The result is totally unmaintainable (as they found out when they had to add a new requirement to an existing module), and largely non-performant. They were able to address the performance by splitting the app between two machines (one of the few nice things about EJBs), and since they're contractors, they won't have to address maintainability. So much for CMM level 5.

      The place where I work now is a total cowboy shop. No source code management, no process, no procedures, total anarchy. And it works pretty well. Pretty soon we'll have a source code management system in place, because *I* don't feel comfortable without one, and because when I told that to my boss he said "Go ahead and set one up". He also told me I could write a task-tracking database system in Ruby, which I'm looking forward to as I've never used Ruby before. But this all works because we all have pretty basic tasks (data comm and data conversion) with pretty well-defined deadlines and everybody's pretty competent. We don't miss deadlines and we don't screw around with new technology on customer-related tasks (unless it's unavoidable, like when we all sat down and learned SOA because we had to interface with a new system and that's the interface the vendor supported). I think it helps that the tasks are pretty discrete and tend to have short deadlines (two weeks to a month is typical).

      As always, having a good team is all the really matters. And that tends to be tough enough to assemble even over here, forget about it if half your developers are in another country and don't speak your language very well. I think it works with open source because OSS tends to attract people who are good at what they do and can deal with language and time zone issues, but I doubt you'll ever be able to assemble a decent team from a couple of senior developers and a lowest-bidder team from the outsourcer of the month.
      --
      Just junk food for thought...
  2. A little more context... by Lord+Grey · · Score: 5, Informative
    From the original post:
    ... Gartner urges managers to consider better process control and governance, managing 'application portfolios' much as they do stock portfolios. Part of this discipline is 'killing development projects early and often.'"
    From TFA:
    Another management function that Hoyle suggested is to kill development projects early, "and often," he said, "if your failure rate is high." You can improve productivity by 20%, Hoyle advised, "by killing projects when you should: which is early in the lifecycle." For example, a project that has had three baseline adjustments because of scope creep is already in trouble.
    Let's hope that the managers who "belong to the Silver Bullet of the Month Club" read the entire article rather than just the /. headlines.
    --
    // Beyond Here Lie Dragons
    1. Re:A little more context... by Jim+Hall · · Score: 2, Funny

      For example, a project that has had three baseline adjustments because of scope creep is already in trouble.

      For example: Duke Nukem Forever

      Sorry ... too obvious, had to do it. :-)

  3. Gawds... by ackthpt · · Score: 2, Insightful

    Gartner urges managers to consider better process control and governance, managing 'application portfolios' much as they do stock portfolios. Part of this discipline is 'killing development projects early and often.'"

    Whatever they're smoking, it's worse than paraquat.

    While about 1/3 apps I program are sort of cookie-cutter, a routine from here, a routine from there and a little glue, most are completely from scratch and have never been done before. The nature of things is change and change dictates writing new apps which handed data differently and produces information in a different light each time.

    These people are analysts and don't know this???

    --

    A feeling of having made the same mistake before: Deja Foobar
    1. Re:Gawds... by erikdotla · · Score: 2, Informative

      Man, Gartner must hate Perl.

      I've re-written the same applications dozens of times, sometimes because my code is unreadable, sometimes just for fun to find a new way to do it, and occasionally because it's so easy that it's actually faster than spending 2 minutes finding the previous version. Gotta keep my mind fresh, I'm over 30 you know.

      Though.. I suppose if I could call my Perl application portfolio manager and ask them where that 10 line text parser is that I wrote yesterday, and they could provide it right away, it would save me 2 minutes of searching my own hard disk. Of course, since the portfolio manager can't understand what the app does unless I spend 15 minutes writing documentation and explaining it to them, I get a net loss of productivity anyway.

      --
      # Erik
    2. Re:Gawds... by ackthpt · · Score: 2, Insightful

      I've re-written the same applications dozens of times, sometimes because my code is unreadable, sometimes just for fun to find a new way to do it, and occasionally because it's so easy that it's actually faster than spending 2 minutes finding the previous version. Gotta keep my mind fresh, I'm over 30 you know.

      Typically when I've re-written an app it is because it has been modified so much from its origninal form it is unable to accomodate a new option and/or has become fragile. There are chunks of code you can reuse and if you've worked in the same job long enough you know where to find them.

      The concept of Code Portfolios is rather humourous in that you could easily, as you say, spend a lot of time documenting it only to replace it the next time. We kept a compendium at one of my past employers, but it fell out of date rapidly unless it was some tiny piece of code which was highly specialised and rarely changed. (Typically these were the routines which required extreme care when changing as they were widely used.)

      --

      A feeling of having made the same mistake before: Deja Foobar
    3. Re:Gawds... by gutnor · · Score: 3, Insightful

      If it takes you 2 min to develop the application, I guess that's not the same kind of application Gartner has in mind. The smallest application I worked on was about 120 Man-Days development (not including QA, Analysis and "corporate crap overhead"). Even if you can code 10 times faster than me, that's still 2 week worth of work and that's not something you just want to throw out the window. ( and even if you have time to kill, you would not want to go through QA, TAT, UAT, xxT, xxT2, ... without a good reason )

      What gartner has in mind is telling the manager what they already believe. Several year ago it was so fashion to rewrite an application from scratch. As a manager, saying that you were reusing something made you look so old school, not a true dot-com mentality. Nowadays you must sacrifice a chicken to get some hope of having the budget to look at the code.
      Look at the buzzword friendly tech in the development world, like SOA and Co, this is all about flow management, gluing application together, ...

      I don't know what gartner is for. Basically whatever is the tendency of the day, they just acknowledge that the right way to go.

  4. Bits & pieces by fenodyree · · Score: 5, Funny

    Why would you ever assemble wisdom and business savvy when it's simpler and easier to assemble random quotes & concepts from popular seminars and "Best Seller" managerial books.

    1. Re:Bits & pieces by ackthpt · · Score: 3, Insightful

      Why would you ever assemble wisdom and business savvy when it's simpler and easier to assemble random quotes & concepts from popular seminars and "Best Seller" managerial books.

      You have to keep in mind, there's an industry which keeps inself employed by selling seminars and books. If everyone got all the right answers the first time, what would these people do?

      Going out of business sale, nostrums 50% off!

      --

      A feeling of having made the same mistake before: Deja Foobar
  5. I worry about what gartner is telling my boss by mollog · · Score: 3, Insightful

    No, really. I worry about the junk that comes out of Gartner. Like the outsourcing binge. Where I work, they have tried several ways to outsource (overseas) our work. Gartner was flogging this heavily and it seemed to become 'cause celeb'. The word we got from our managers was that it wasn't going to be allowed to fail. I'm pretty sure some people's careers would be damaged if it did, so they're going to continue to push it regardless of the results. This sort of 'tell us what to think' mentality is not going to help corporate amerika.

    Please, someone tell Gartner Group to be a little less certain about their predictions. The mass of middle managers are afraid to do think anything that isn't supported by someone like Gartner.

    --
    Best regards.
  6. Old ideas and old promises by Frans+Faase · · Score: 2, Interesting

    Just like AI has been promissing us real AI for many decades, the idea of producing information systems by combining building blocks still has not become a reality yet. The whole SOA hype is just one of the many "build systems from components" hypes. My experience with building information systems by combining separate applications (and that is how most informations systems are build in practice) is that these systems often crumble to pieces due to mismatching data models. I sometimes get the idea that data modeling is one of least used methods for building information systems. I wonder why.

    1. Re:Old ideas and old promises by PeeAitchPee · · Score: 5, Informative

      I sometimes get the idea that data modeling is one of least used methods for building information systems. I wonder why.

      I absolutely agree. Data modeling is one of the most fundamental skills out there, but time and again I encounter apps with just an absolutely atrocious data model. Much more time needs to be devoted in school to the fundamentals of data modeling and the why behind data modeling best practices. Think about it -- in a "classic" MVC stack, the controller and GUI are often interchangeable, but if you're stuck with a poor way to persist data, the rest of the app *will* be quite limited no matter what you're using for business logic and / or presentation. Furthermore, none of these "component" vendors will help you . . . you'll just end up with a turd wrapped in Company X's duct tape.

    2. Re:Old ideas and old promises by kpharmer · · Score: 2, Interesting

      > I suspect it's a common scenario.

      Yep - data modeling is now out of vogue, and so it is mostly done by programmers.

      Unfortunately, programmers are seldom good data modelers (if only because they seldom take the time to really learn the discipline). You can take a look at some of the very good books on data modeling patterns (I recommend the one by David Hays).

      But there's no substitute for experience when you get into a tight spot - knowing when to break the old rules and use something like:
          - a star or snowflake schema
          - a hierarchy or network
          - dynamic attributes
          - materialized query tables
          - triggers
          - etc
      all takes experience and knowledge. One thing that I often do when in a spot like yours - is to define a good object model at least - then use that as the basis for persistence apis. These apis can be stored procedures (best case) or views (worst case). Then (assuming you have a dba that will be owning this code) the dba is free to remap that api layer to the physical tables. Change is inevitable, but at least this way you've got one role that has access to all the code that needs to change, and hopefully your api interfaces will encapsulate the code well.

      Unfortunately, stored procedure use is on the decline. But as long as you take a cautious approach with them they're not a bad thing.

  7. Re:Of course that's what Gartner is saying . . . by Angostura · · Score: 3, Insightful

    Of course, the savvy OSS officiando will explain to management that this is exactly what they are striving for: "WE only write new code where strictly necessary ... most of this project is utilizing reusable components generated by the open source community..." etc.

  8. And so it goes ... by Greymoon · · Score: 2, Insightful

    Those who can, do. Those who can't, analyze.

  9. Re:its in the glue or its in the code by kin_korn_karn · · Score: 4, Informative

    It's an outsourcing thing. You can usually get away with offshoring glue code, but not major component work.

    Gartner is just trying to justify offshoring and make $$ by telling MBAs what they already believe.

  10. Re:its in the glue or its in the code by ackthpt · · Score: 3, Interesting

    The best solutions to specific problems are going to be custom made, at least for a while.

    Yeah, but sometimes you have to gird yourself for those days when the sheep come home from being fleeced at the latest management fad sheering.

    I vividly remember the epic battles that took place when managers returned from TQM (Total Quality Management) training. The all had these purposeful looks of the new acolyte and a Franklin Planner under their arm. They cooked up Vision and Mission statements and tried to get everyone on the bandwagon. It was a trying time because most of the way we already did things were obviously the most efficient. Work under the gun a lot and you tend to find the shortcuts yourself. If anything we became less efficient until the whole clamour died away and most of us returned to getting it done the proper way.

    --

    A feeling of having made the same mistake before: Deja Foobar
  11. Your boss is just an object by Anonymous Coward · · Score: 5, Funny

    Remember.. your CEO is just business object--- I set of components and business logic. His job responsibilities are just more components.

    Any of these business objects can be swapped out and replaced willy-nilly as you see fit. If the CEO has too much work on his hands, you can simply run a process scanner against his position-- the process scanner will highlight the areas for improvement. Then you hire a new person and assign some of the objects to him.

    Heck? Want to replace the boss? Fire him and hire a new object to assume the responsibilities. The transition is seemless.

    Don't forget that you paid some consultants $1 million for this study, and these are the conclusions.

    ---

    Look-- looking at things as components is a useful exercise for modelling. It's an easier way to get a "big picture" perspective without getting mirred in the details.

    But it will only get you so far, because DEVIL IS IN THE DETAILS. Anbody who believes in such object-oriented drivel is certain to go out of business. Trouble is, the CEOs who promote this crap can jump from ship to ship-- not all of us can do that.

    1. Re:Your boss is just an object by aussersterne · · Score: 5, Interesting

      Trouble is, the CEOs who promote this crap can jump from ship to ship-- not all of us can do that.

      Seriously. Over the years I've worked in software, networks, and publishing, and I've never had the pleasure of working under any person for longer than about a year. Invariably when I've been hired, I've had the feeling that my new boss wasn't quite on top of things.

      But on top of things or not, sure enough, within a couple of months of my being hired there's always an announcement that congratulations are in order because boss will be leaving us for much bigger and better things, or has been promoted to a new and more ridiculous level of abstraction within the organization. Then there's a party and some cake and silly goodbyes.

      Then, the new guy comes in. He's always groomed, young-middle-age-ish, clearly an MBA or someone who's read a few too many business books and has been wearing a tie since he was four. He wrings his hands a lot and speaks in a worried-measured-reassuring tone and holds "orientation interviews" (or some variation thereon) with everyone during which he asks a lot of dumb, general, or both questions and says that he'll appreciate help in getting up to speed and he's really excited to have the opportunity to work with everyone.

      Within the first two-three months, he'll fuck everything up, miss a pile of obligations or responsibilities, implement a whole slew of unworkable programs, misrepresent nearly everything we're doing in meetings with upper management, and then after a few months, just as everyone gets the feeling that he might finally be having to face the realities of the business, pull his head out of his ass, learn and scale back a little, and roll back some of the stupid changes he made, there will be an announcement... and a goodbye party...

      And in will come a new guy, pick up all the old guy's stuff that wasn't quite working anyway, and soon there will be the meetings again... and the initiatives and changes again...

      Wash, rinse, repeat as these jackasses earn six figures and get promoted up, up, and away in their beautiful balloons while the people at the bottom do the real work *in spite of* their idiotic tie-speak, with nary a reward year over year.

      --
      STOP . AMERICA . NOW
    2. Re:Your boss is just an object by danpat · · Score: 2, Insightful

      Green with envy?

      Complain as much as you'd like, but if your measure of success is place in the hierarchy and size of paycheck, then these guys are better at the game than you. You may not like it, but life's like that. It's kind of like complaining when you lose at a game of poker because your style of play calls for putting your cards face-up on the table.

      While it'd be nice if promotion and salary were neatly tied to ability and achievements, that ain't the case. Sticking your head in the sand and pretending the rules are something they're not is just going to make you bitter and twi....oh wait, you already are.

      You either need start playing by their rules in order to compete with them, or stop thinking of yourself as "the bottom doing real work". Pretend you're at the top, and they're all moving sideways under you. Does that make you feel better?

    3. Re:Your boss is just an object by aussersterne · · Score: 3, Insightful

      You're assuming that I want to get paid more. Not true. I think they should be paid less. The game is what's broken; people shouldn't be rewarded for doing harm. And nobody should earn a salary more than 150k or so, no matter what.

      --
      STOP . AMERICA . NOW
  12. I do 'middleware', and I also do 'supercomputers' by quiberon2 · · Score: 5, Interesting

    Asking "Why would you ever code an app from scratch again? Why would you need to?" is like asking "Why would you ever want to have a baby".

    Sometimes it's the only way to develop what you need; sometimes it just happens by accident; and sometimes someone gives you one to look after for them.

    You don't want to have a baby very often, but it's just as well that some people have them sometimes.

    We're thinking about throwing Java out. It has the same problems with 'synchronisation' that C has with 'memory allocation'. You can't get it right all the time, it's too hard.

    And Intel are coming up with these 80-Core chips.

    A real lot of stuff will have to be rebuilt if we do. Hopefully automatically built from modelling tools. But there will have to be people, to resolve the defects, if it is to support the business.

  13. Degradation by apeeira · · Score: 2, Insightful

    Degrading the art and science of programing will have an adverse effect on the developer community,for after all if all i have to do in order to make an app is do a little copy, cut and paste ms word style..... Of course if this idea came from the management field, we could do the opposite....like this: "see we have developed a new algorithm for managerial decisions which will cut prices and increase profits for the company, their hardware requirements are not high and can work 7/24 without a corporate VISA..." and let's see them after that...

  14. Re:I do 'middleware', and I also do 'supercomputer by mypalmike · · Score: 2

    We're thinking about throwing Java out. It has the same problems with 'synchronisation' that C has with 'memory allocation'. You can't get it right all the time, it's too hard.

    Just curious: What are the proposed alternatives that simplify synchronization?

    --
    There are 0x40000000 types of people: those who understand 32-bit IEEE 754 floating point, and those who don't.
  15. this is old news by jt418-93 · · Score: 2, Insightful

    i remember when turbo pascal and all the nice little objects were going to end having to write the basics, or when windows and common dialogs was going to save it.

    same bs, different cow's ass producing it.

    software always comes down to borrowing as much existing stuff as you can and building the rest. ime, very little from project a is actually appropriate for projcet b.

    bah, back to coding asm in notepad.

    --
    -.no
  16. More gardner crap by infinite9 · · Score: 5, Insightful

    "Why would you ever code an app from scratch again? Why would you need to?"

    Assuming they mean business logic and not things like sorting algorithms, you had better have vast quantities of foresight to make that happen. As most other crud conjured up by these people, it sounds great on paper and when given to executive types in the form of powerpoint presentations, but in practice, it falls apart. Different programmers, different programming styles, changing business rules, mergers, new client requirements, scope creep, abandoned products, legacy code you're unable to get away from, new business standards (like we're a java company, no .net, no java), politics and empire building, and any number of other variables all come together to make the business environment so complicated that developers will be reinventing the wheel for years to come. Things like MQSeries or Oracle have gone a long way toward standardizing things. You don't cook up databases in flat files anymore. You don't (usually) write your own messaging systems by opening sockets directly. Things like the .net framework or j2ee mean we're not writing sorting algorithms anymore. But that just frees us up to work on other complex systems. And complexity is growing faster than these sorts of standardized frameworks can be created. We'll continue to use standardized middleware packages and other third party controls or libraries. But the business will always need custom solutions that build on those standards.

    --
    Disconnect your television. Do your own research. Draw your own conclusions. They're probably lying. Don't be a sheep.
  17. New software to solve new problems by DaveAtFraud · · Score: 2, Insightful
    [Gartner analyst] Veccio stated "Why would you ever code an app from scratch again? Why would you need to?"
    How about because what's needed doesn't exist? This bozo sounds like the head of the patent office in 19th century who recommended that the office be closed because, "...everything that can be invented, has been invented." What an idiot.

    As the cost of computing drops, there will always be new problems that could not be economically attacked until the cost of the computation became cheap enough. These problems will not have a canned solution and someone will have to go off and build the application from scratch. As long as computing continues to get cheaper, there will always be new problems to be solved.

    Cheers,
    Dave

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
    Ben
  18. Re:Scope creep? by kfg · · Score: 2, Funny

    What is the unit of scope

    Fathoms.

    KFG

  19. And the catch is always... by Doctor+Memory · · Score: 5, Insightful

    "We need an inventory module for this project. Use the one from the MegaMess project."
    "Yeah, sure, that should work. A little overkill, but it'll do what we need."
    "Oh and it has to track the inventory by supplier's parent company and supplier's parent company's SKU."
    "Uh....what?"
    "Yeah, we get most of our inventory from local suppliers, but they all get it from the OEM. We need to use the OEM part numbers, with an indication of which OEM it is."
    "Uh, but the MegaMess project tracked inventory by product group. It doesn't even use SKUs. And we don't need to report on SKUs for what we're doing, why do we need them?"
    "Director of marketing wants to see a report broken down by SKU, and rolled up by parent supplier."
    "I don't think we're going to be able to use the MegaMess inventory."
    "DAMMIT! Just use the components we've already got! We aren't going to write any new code for this!"

    --
    Just junk food for thought...
  20. The problem with the component approach by MadLep · · Score: 5, Insightful

    The 80/20 rule messes up the reality of using components (whether it's EJB/SOA/latest cool thing). It takes 20% of the time to do the easy 80% of the work. Then 80% of the time to do the remaining hard 20%. Components give you the easy 80%. Which you could already do pretty quickly anyway, so you're really not gaining much.

    Then you're still left with the remaining hard work, which probably got harder and will take longer due to the overhead of your component framework and its mess of configuration.

    And that is totally ignoring the fact that it's very hard to find components to reuse anyway.

    1. Re:The problem with the component approach by plehmuffin · · Score: 2, Interesting
      It takes 20% of the time to do the easy 80% of the work. Then 80% of the time to do the remaining hard 20%. Components give you the easy 80%. Which you could already do pretty quickly anyway, so you're really not gaining much.

      Actually, you're gaining 20%. That ain't bad.

      Now, with your other points factored in you might not break even, but if they can be mitigated then something which can give a 20% improvement is certainly worth considering.

  21. While we're talking about random quotes by hayden · · Score: 5, Funny
    Here's one I got from an article a while back:

    So there it is: IT analysts are basically corporate technology therapists. But there are other ways of looking at it, one of which was put succinctly some years ago by Charles Wang, the billionaire chairman of software giant Computer Associates. He was asked to assess the quality of Gartner's researchers. "I want to choose my words carefully here, so I'm not misunderstood," he said. "They're a bunch of fucking idiots."
    --
    Nerd: Derogatory term typically directed at anybody with a lower Slashdot ID than you.
  22. I blame Star Trek. by khasim · · Score: 2, Insightful
    Sure, I know you need to do some of this stuff, but, really...often these days, all you have are mgmt types that know nothing besides these buzzwords, meetings and paperwork....the actual work to be done and deliverables to be produced are merely a nagging side item.

    You get everyone in a room.
    You all agree that there is a problem.
    You tell someone to X the Y to emit Z which will collapse the problem.
    5 minutes later, the Y has been X'd and is Z'ing the problem.

    The magic words made the problem go away. Quickly. So you just have to find the right magic words to say and technology will solve your business problems!

    Hasn't this been covered in many, many Dilbert strips?

    Spewing buzzwords seems to be an acceptable replacement for thought and knowledge in certain companies.
  23. ... tells my boss whatever ... by Original+Replica · · Score: 4, Insightful

    The layer of people between the decision makers and the product makers exist in every industry, and in every industry there are far too many of them, so they must justify their jobs and salaries. Isn't that more important than innovation or efficency? To them it is.

    --
    We are all just people.
  24. Modularity has downsides by aschoeff · · Score: 4, Insightful

    Question: "Why would you ever code an app from scratch again?"

    Answer: In order to avoid bloat, stability, performance, and security issues from using modules that are overly-used, overly-general and/or don't exactly meet your spec but are "close enough."

    Best Example: Microsoft Office

  25. Ya done it by Quiet_Desperation · · Score: 2, Funny

    ...that they themselves are a brand. They sell their methods, scope and delivery as of the highest quality and strongest reliability. They have an established market, cater their style towards the "executive" woodgrain model, and compete with an ever-stronger ear to the ground: the 'net and specifically the tech blogosphere.

    You just blew out my buzzword detector. Expect a repair bill soon, Jackson!

  26. Re:I do 'middleware', and I also do 'supercomputer by ljw1004 · · Score: 3, Insightful

    What are the proposed alternatives that simplify synchronization?

    (1) Software Transactional Memory, STMs. You write "int STM x=5;" and then one thread can do "atomic {x+=1;}" and another does "atomic {...;x-=1;...}" and the runtime+compiler magically make the atomic blocks execute atomically. This is different from Java synchronization blocks because these can be executed optimistically in parallel and because they never result in deadlock. People therefore say that STMs are "compositional" in a way that locks are not. The key is that the compiler/runtime know how to roll back an atomic block. This kind of atomic block interfaces very gracefully with SQL transactions.

    (2) Message-passing. Academically it's embodied in the "pi calculus". In web terms it's embodied in the W3C "choreography" working draft. In practical terms it's embodied in Microsoft's Biztalk and in Ericcson's Erlang language and in Microsoft's new Robotics SDK. It's also a little reminiscent of "tuple-space" operating systems. The idea is that threads communicate by sending messages to each other. It's still possible to deadlock (e.g. if one thread waits for a message that will never come) but these errors seem more rare in practice. Also it's easier to analyse for this kind of problem at compile-time than it is with synchronization.

    (3) Write the code in a functional way, so the compiler infers parallelism automatically and you don't need to. Or, take existing C code and have the compiler infer dataflow in it, then proceed as above. e.g. WaveScaler at UW, I think. Many people think this is the best hope for the coming world of multi-core chips.

  27. NIH. by Kaenneth · · Score: 3, Insightful

    In some ways I agree, 'Not Invented Here' is a real problem, where a department wants to come up with it's own tools, instead of using a shared set of tools.

    There are some things you shouldn't do yourself, and some things you should.

    Janitorial staffing, for example. Should each department in a building owned by the same company hire a seperate company to clean their offices? Obviously not. But should they all be required to use the same text editor, no matter if they are laying out advertisments or writing C++? I think not.

    Both of those cases are obvious, but what about the text editor used by programmers in different departments? Unfortunetly, usually the person in a position to make company-wide policy does not know enough about a specific job area to make reasonable blanket requirements, requiring all developers to use a particular editor, no matter if they are developing for Windows or Linux would be like telling all janitors to use the same floor cleaner for office carpets and the parking garage.

    In the Janitors case, since they are often outsourced, or at least a seperate department, they have their own structure which tells them what to use where.

    In the software developers case, having a seperate structure to set standards can lead to problems when the Project manager's directions conflict with the standard practices; the project manager's desires usually take hold, because they are in direct contact with the developer, while the company standards are less strictly enforced. This leads to the effective death of the 'standards'. After this happens a number of times, everyone loses faith in anything labeled a company standard, and since they expect no support, they don't even really try to adhere to them.

    I don't have a solution, as once an organization reaches this level of NIH, any efforts to re-establish a standards process are doomed to fail.

  28. This an old model by Anonymous Coward · · Score: 3, Insightful

    I've worked with this model for ten years already and there are advantages and disadvantages. Unfortunately, it's rare that you can find either a management team or a software development organziation that understands either.

    The component model works reasonably well for the Generic Core Business Functions (i.e accounting, human resources, sales, etc.), however only to the exent that you can use Off The Shelf Functionality. If your requirements are unique (or you think they are) you end up with a full blown development project on your hands anyway (with associated headaches and expense).

    If, on the other hand, the requirements you are trying to address are part of the Value-Added Function that your organization provides to it's customers, you had better be willing to invest in creating some real value for the customer. If you spend a couple of months integrating off the shelf components that can provide the same value, you're not likely to be in business long.

    Killing projects early for the Right Reasons is simply good management but the need to do this is usually an indication that there is something wrong in the organization itself. If you are part of an organization that does this frequently, the governance process or the development process is broken or both. Flee with all due speed.

  29. Re:I do 'middleware', and I also do 'supercomputer by ozbird · · Score: 2, Funny

    And Intel are coming up with these 80-Core chips.

    The 80x86?

  30. Feeling threatened? by divisionbyzero · · Score: 2, Insightful

    I'll grant that much of this article is horse crap, but it's always disappointing to so see how vehement people become in their reactions when their livelihood is threatened. It's a shame because they are so busy defending themseles they can't take the time to find out if there is anything worthwhile being said. I bet 85% of the people responding haven't even read the article. Of course that's typical Slashdot...

    1. Re:Feeling threatened? by wrook · · Score: 2, Informative

      Heh heh... Funny thing is, I don't feel threatened. This is the same crap that has been around since I got my first industry job (~'92). Back then it was "software factories". Hell for all I know, they still call them "software factories". And I admit to not reading TFA. Why bother?

      I'll just sit and let those companies who think mixing and matching "components" is going to work, loudly go out of business. If I happen to be one of the casualties in that fallout, so much the better. It's not what I signed up for.

      We used to have a word for systems composed with off the self "components". It's called a "Stovepipe system". It ain't gunna work. And it's no fun to be in a company that thinks it is (been there, done that). So worse comes to worst, I'll end up writing free software and working as a waiter with RMS (although how he's going to get a job as a waiter, I'd like to know...)

      Life's too short to work for morons...

  31. Re-use when possible, re-code when sensible by CharonX · · Score: 2, Insightful

    Re-use when possible, re-code when sensible - that should be the baseline for both managers and programmers.
    For programmers its simple to put into words - if you have programmed a function to resample colour images and now you need a function to resample black and white images, just use the colour image function.
    As for managers - if you discover you have three projects to manage the time shedule of section A, section B and section C - tell one of the teams to make the software generic enough to manage all kinds of time shedules (including those of sections A, B, C) and reassign the other two teams.

    But if, in the above image resampling example your function needs about twenty times as much time as a function specialized for B&W imaged would need and is used constantly, you should code a specialized function, if performance would take a too large hit.

    --
    +++ MELON MELON MELON +++ Out of Cheese Error +++ redo from start +++
  32. I think you got that quote wrong... by Anonymous Coward · · Score: 5, Funny

    What the quote should have read is...

    "'You can improve productivity by 20%', Hoyle advised, 'by killing management consultants when you should: which is early in the lifecycle.'"

  33. CPAN is components by helixcode123 · · Score: 2, Funny

    I think the the basic idea of using tried-and-true-and-robust components is a good one.
    It's why I prefer coding my projects in Perl. The components available from CPAN make
    practically any task quick to develop and robust.

    --

    In a band? Use WheresTheGig for free.

  34. Version Lock by tsotha · · Score: 5, Insightful
    This component crap has been an absolute disaster everywhere I've seen it tried, especially when you go with more than one vendor. Most applications are tied to an operating system version, language version, and database version(which is, in itself, tied to an OS and version).

    We've been trying to maintain a product developed in-house over the last decade or so. Wouldn't it make sense to buy a GUI toolkit, they thought, so we can concentrate on our core competency? Sure, except we had to stay on Solaris 8 when everybody else was using Solaris 9, and then 10. The company that provided the toolkit got sold a couple of times, and is now part of some consulting outfit you've never heard of. They have two guys in Bombay trying to port it to newer platform versions, but they don't really test it, so we've had to take on that additional burden. Without the source code. Sometimes they're busy working on other stuff, so they don't get to our complaints for weeks. We're terrified they'll go out of business before we're able to do a rewrite.

    Of course, Oracle stopped concentrating on the Solaris 8 drivers, so when we called for support all we ever heard was "upgrade to Solaris x and install the newest version". Would that solve the problem? Who knows? We can't do it anyway because of the GUI toolkit.

    Now we want to move that product to Linux, but the GUI tool in question doesn't work on Linux at all. They're trying to get it working on RHEL 3, while we've just moved our other tools to RHEL 4.

    You wan't to make a brittle tool and take the blame when the enterprise can't upgrade the desktop OS because a key component vendor just went out of business? By all means, knock yourself out. You can commiserate with one of our groups that's still running Java 1.1 because a piece they bought from a now-bankrupt vendor won't run on a later version. The more third party vendors you have, the worse it gets, too. You can get circular dependencies that prevent you from upgrading anything without a total rewrite.

    Me? I'm not writing everything myself, but I use OSS whenever I can. After the number of times we've been burned in recent years, if you work for my company you'd better have a damn good reason to bring in third-party vendors. We're pretty much down to Java and Oracle as the only easy sells for new projects.

  35. Re:I do 'middleware', and I also do 'supercomputer by ljw1004 · · Score: 2, Informative

    You can put arbitrarily large blocks of code inside the atomic{...} blocks. I indicated as much with ellipses. You can also nest atomic blocks. Also an atomic block can contain the statement "retry()" which rolls it back.

    The STM machinery still needs to be able to roll-back out of an atomic block. This rules out certain code from appearing inside the atomic block, especially side-effecting code.

    All STM platforms allow code that manipulates "transactional" heap variables, i.e. ones whose side-effects are logged and rollbackable. In these systems the idea is to use STMs mainly for concurrent data-structures, eg. queues and hash tables and so on.

    Some platforms also allow side effects on transacted resources, e.g. a transacted filesystem or webserver or database.

    Other platforms also allow side-effects due to file I/O: they log the inputs (so as to resignal them in case of rollback) and buffer the outputs (the ouputs only commit to disk after the atomic block has completed).

  36. yes... by Hap76 · · Score: 2, Insightful

    Because the reason lots of people's jobs are threatened/are leaving is because people with no stake in and little knowledge of the processes that go into doing any variety of things are taken as gurus by people who also don't know better, and who care about nothing other than that they want to make money now and don't intend to be around when the crap hits the fan.

    These people enable the moronic management that has felled many a company. As long as there is money to be made in prolonging a problem, they will be there to help and to bill. The fact that there may be diamonds in the steaming piles of crap they continue to release does not justify their existence, nor any regard for their opinion.

  37. History question by Beryllium+Sphere(tm) · · Score: 2, Interesting

    Over their lifespan, has the Gartner group been right more often than could be accounted for by chance?

    What are some examples of them being right?

  38. Consultants like Gartner can eat me by PopeRatzo · · Score: 3, Insightful

    We are living a land where managers are rewarded for cutting jobs, then rewarded again for selling off units that are failing because they don't have anybody working for them.

    This is another picture of the ugly underside of a capital-driven economy. Management reacts to the behavior of a bunch of coked-up day traders and brokers who are shooting craps with other people's money. Because "The Market" likes it when jobs are cut, managers cut jobs. Any way they can dump a few more workers is good, they think.

    But the fact is, somebody's got to do the work. The managers certainly aren't going to do it because in the process of getting their MBA all they learned was that if you bought an 8-ball, and sold some to your friends after stepping on it a few times, you could get high for free. So now they're middle management and they don't know fuck-all about actually making something, or providing a service besides oral favors for their bosses.

    I know this is heresy in this day and age, but it really is worth the few hours it takes to read Das Kapital. Not that I want to see a Marxist system here (or anywhere, really), but it's worthwhile to know how capitalism looks when it starts to fall apart. And falling apart it is, make no mistake.

    Greed has brought us a bloody war in Iraq. It's brought us a middle class whose debt is increasing as they are told they're better off. But the only ones that are better off are the credit card companies.

    Come on, let's have a show of hands: Think back half a decade. Think about where you thought you'd be five-years' hence way back then. Have you made it? Are you better off now than you were? Chances are, that unless you are in the very highest levels of management, you are barely scraping by. Sure, you've got an Audi, and a hi-def TV to watch Dancin' with the Stars, and surely your $250 a month cellphone bill is evidence that you're making progress, right?

    This year, Americans now have a NEGATIVE savings rate. When it comes right down to it, that's the surest sign of the direction of an economy. How many of you pay off that credit card bill every month and put a little bit aside? Oh, and your retirement account at work doesn't count because that's going to disappear, Enron-style, long before you're able to use it.

    No, you really should take a few hours out of your sodden, beaten-down lives and read Das Kapital. And you there. You, shaking your head with the know-it-all smirk. Read it sober.

    --
    You are welcome on my lawn.
    1. Re:Consultants like Gartner can eat me by ZTiger · · Score: 2, Insightful

      PopeRatzo, you might want to check up on what "capitalism" is befor lumping our failed corperate/government system in with it. Capitalism: an economic system characterized by private or corporate ownership of capital goods, by investments that are determined by private decision, and by prices, production, and the distribution of goods that are determined mainly by competition in a free market Our markets are not free and many of our corporations are little better than government offices.

  39. Crank up the organ, monkeys... by TopShelf · · Score: 2, Interesting

    Here we go, 500 comments about how management doesn't know anything.

    --
    Stop by my site where I write about ERP systems & more
  40. Perfect PHB Logic. by twitter · · Score: 3, Funny

    kill development projects early, "and often," he said, "if your failure rate is high." You can improve productivity by 20%

    By killing all of my projects, I'll have a failure rate of 100% but I'll do it 20% faster. Awesome!

    Thanks, Gatner.

    --

    Friends don't help friends install M$ junk.

  41. Not to scare you by RingDev · · Score: 3, Interesting

    But this type of IT organization is not limited to games. I work for a very successful business equipment solution company, and it used to be almost exactly as the GP described. I say Used To because the top brass finally realized that IT was blowing money like crazy. Now they have an 80% turn over rate in 2 years on the network side of the house, 30% on the apps side, budget cut backs, staffing cutbacks, and all round low moral. I recently wrapped up a pair of BSs in IT and Technology Management. I've been working hard to implement project management procedures, and get some kind of order in the shop, but my supervisor is content in code & fix mode, and my manager is 3 years from retirement and has no idea what IT Alignment is. And this has hardly been limited to this company, I have worked for enough organizations to know that this is the more common approach to IT, not the exception. And that is why I'm trying to move from Code Monkey (tm) and Project Management.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  42. Re:Scope creep? by frank_adrian314159 · · Score: 3, Informative
    A project creeps in scope 1% per month? How do you even begin to make this assertion? What is the unit of scope, and how do you measure its creep?

    Scope can be reflected in requirements. If the number of requirements goes up 1% per month, you are getting a 1% scope creep. Note that this measure does not take into account differences in complexity between individual requirements - for a more accurate measure one might use function points, number of classes and/or methods needed to implement the functionality, etc. You need a fairly mature process to be able to measure these at all, let alone accurately, but they are available to those who work hard at the process game (now whether or not that actually gets you anywhere is open to debate, but...).

    However, the quote of a 1% per month scope creep as a cut off point seems a bit low, especially if taken literally on a month-to-month basis. Across the life of a project, 1% per month may be high, but cutting a project off because its scope has risen 7% in three months of the late analysis or design phases seems a bit excessive, especially if by doing so you have 0% increase during implementation, test, or deployment.

    --
    That is all.
  43. What's old is new by DaveAtFraud · · Score: 2, Interesting
    (2) Message-passing. Academically it's embodied in the "pi calculus". In web terms it's embodied in the W3C "choreography" working draft. In practical terms it's embodied in Microsoft's Biztalk and in Ericcson's Erlang language and in Microsoft's new Robotics SDK. It's also a little reminiscent of "tuple-space" operating systems. The idea is that threads communicate by sending messages to each other. It's still possible to deadlock (e.g. if one thread waits for a message that will never come) but these errors seem more rare in practice. Also it's easier to analyse for this kind of problem at compile-time than it is with synchronization.
    This was the standard design paradigm where I worked in the 1980s (TRW Defense Systems Group). About the only difference is we were doing it with VAX VMS or UNIX processes communicating via IPC (VMS had it, it just took a little more work to implement). Hint #1: the trick to avoinding the deadlock you described is to not allow state coupling between threads. Hint #2: although rare, the deadlocks do occur and Murphy will make sure that they occur at the least opportune time.

    Cheers,
    Dave

    --
    They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
    Ben
  44. Very old story... by Gorimek · · Score: 3, Insightful

    I've heard for over 20 years that "soon" there won't be a need for programmers, since you will just be able to make applications by putting components together.

    This appeals to managers, since having programmers around is a pain. They're expensive, unreliable and act weird.

    It will of course never work in reality. Anything interesting enough to be worth doing will be hard enough to get right that you need an actual programmer for it. And programmers have been putting components together almost since the dawn of programming, it's just that some people don't know that.

  45. Producing Reports by Doc+Ruby · · Score: 2, Insightful

    '"not about programmer productivity," said [Gartner analyst] Hoyle during the keynote presentation, "but in assembling functionality from components"'

    That's the kind of stupid "surprisingly clever" gibberish Gartner sells to bosses around the world. Assembling functionality from components, or "code reuse" is programmer productivity. "Buy instead of build" is another 1980s "breakthru insight" that practically every programmer uses, whether their boss realizes it or not.

    Even C programming, which practically always calls an API, is assembling functionality from components. Unless you're programming in assembly without an OS, you're not "programming from scratch".

    The continuing thriving of Gartner and the survival of businesses that consume their drivel is more testimony to the irrationality of economics. Any rational system would have increased boss productivity long ago by dumping any who wasted any time learning to be clever from Gartner.

    --

    --
    make install -not war

  46. Re:Reuse us for sissies by lahi · · Score: 2, Insightful

    WTF. Every programmer I know thinks writing stuff for reuse is much more difficult than not. The problem with reuse is that the writer of that component need all kinds of experience of the different ways the component could be used before they are able to make a decent reusable component.

    So true! I think there are two separate issues with this.
    1. As you say: WTF. Everyone reading the daily WTF know that other people write awful code. So why take a risk using that code, which is probably buggy, and unreadable, and unfixable, when you can roll your own? This of course tends to becode the NIH-syndrome.

    2. A decent reusable component - does what exactly? Either it is 100% reusable - meaning it does nothing specific and is effectively equivalent to Yet Another Programming Language, or it is not. So it probably does some things you need and can reuse, some things that you don't need, and which will just annoy you because you can't take them out, and there still remains some things that you need which it does not provide, and which you have to fit onto the "reusable component", which can also be hard.

    Say, you need a "small furry gray mammal" (a mouse.) Instead of making a mouse, you decide to take a reusable component. Your developers have already developed an elephant, which nearly fits the requirements. Now all you have to do is make it small and furry. And somehow work around the trunk, which *will* get in your way.

    You think that's a good example of a bad case of reuse? No, that was good reuse. Bad reuse is when you buy a big blue whale to solve the same problem. Why would you do that? Perhaps because it's big and blue. And any manager will tell you that blue is the nicest shade of gray there is.

    -Lasse

  47. Here we go again. by ThePhilips · · Score: 3, Insightful
    "Why would you ever code an app from scratch again? Why would you need to?"

    Buhahahahhahahhahhahhahaahahahah!!!!! HERE THEY GO AGAIN!!!!!

    I'm writing software for 15 years. And I already lost count of how many times I was told that crap and that "tomorrow" I would be among unemployed, since even idiots would be able to create software using tomorrow's modular platforms. That tomorrow is yet to realize.

    I was working with asm/pascal 15 years ago - and were basically rewriting applications from scratch: for new platforms and for new performance requirements.

    I now work with C/C++ - and basically rewrite applications from scratch: for new platforms and for new performance requirements.

    What'd changed? NOTHING.

    Would the idiots ever learn? As computer industry develops and grows - so do requirements for computers. 15 years ago nobody expected to have affordable real-time 3D graphics or on-line simulation algorithms or real-time video encoding. Now we take that for granted. As old fart, of course, I cannot even imagine what would be capable computers in next 15 years - but all that would be possible because of abundance of cheap HW performance and I hope more intelligent software. Not because we would have such performance - but because I'm sure there is and would be ever growing demand for it.

    e.g. some AI guys might tomorrow implement autonomous OS which would be voice/etc controlled. So you would be able to plug your photo camera into computer, say "Grab all new photos" and (miracle!) it would do that. Then say "If there are more than N gigs of new photos burn me them on disk as photo album.". Etc. Voice recognition + intelligent interpretation of commands + AI personalization - are tasks not yet possible for computers both hardware-wise and software-wise. NOW. How well fit modern algorithms and applications for tasks in such environment? They are completely unfit. So when development would come to that point - we software developers would have to rewrite all the components and blocks to fit well into new platform/OS/etc to get most out of it. IOW, do not put your GCC aside just yet.

    --
    All hope abandon ye who enter here.
  48. Why would you ever code an app from scratch again? by scottsk · · Score: 3, Insightful

    There are two lines of thought to answer "Why would you ever code an app from scratch again?" - one is simply that if you're doing something worthwhile and innovative, there IS NO OFF THE SHELF solution. If you can buy the solution, is your app doing anything that isn't already being done? The other is tying yourself to a vendor. I know anything from Gartner is designed to promote this, but in the real world, do you want your killer app at the mercy of a vendor who can drop support, go out of business, change the license model, etc - it's not a good business case to put your product at the mercy of third parties, especially now. (Especially with the quality of code in some instances. It takes less time to do it right yourself than buy-rather-than-build in some cases. Not all.)

  49. Why do people listen to Gartner? by paulxnuke · · Score: 2, Insightful

    Gartner has zero credibility (or less: they're a Microsoft publicity outlet with a sideline in clueless pronouncements that get taken seriously by clueless "analysts" and executives.)

    Building applications from components sounded good back when VB was getting started, before even management figured out that VB crapware built from 3rd party controls was big, slow, buggy/unfixable, and couldn't (by definition) do anything that hadn't been done before. With one exception (a function required by marketing but used by no one, so it didn't have to work perfectly) our every attempt to "leverage" 3rd party ActiveX controls has been a disaster that wound up consuming more time and effort than doing it right to begin with. The one bright side to my management's current infatuation with the preposterous U3 platform is that I've been able to formally ban ActiveX and most other code requiring registration.

    Don't get me wrong, I love the idea of reusable components: the state of the art just doesn't make them practical for most uses beyond standard library level. Now that Gartner has spoken, I'm just waiting for some overpaid pinhead to substitute his judgement for mine again and create another fiasco I'll have to fix to save his bonus. I'm still recovering from the latest attempt at outsourcing, where we wound up discarding and rewriting most of an application in much less time than our contractors needed to hose it in the first place.

  50. Re:Good illustration... by Silverstrike · · Score: 2, Informative

    While your snarky tone is unmistakeable, you definately missed the GP's point.

    The audi is a lease
    The hi-def TV is on the credit line you opened at Best Buy
    And a $250 a month bill, is afterall a liability, not an assest.

    Read the damn book, he's right.