Slashdot Mirror


Ask Slashdot: Has Your Team Ever Succumbed To Hype Driven Development? (daftcode.pl)

marekkirejczyk, the VP of Engineering at development shop Daftcode, shares a warning about hype-driven development: Someone reads a blog post, it's trending on Twitter, and we just came back from a conference where there was a great talk about it. Soon after, the team starts using this new shiny technology (or software architecture design paradigm), but instead of going faster (as promised) and building a better product, they get into trouble. They slow down, get demotivated, have problems delivering the next working version to production.
Describing behind-schedule teams that "just need a few more days to sort it all out," he blames all the hype surrounding React.js, microservices, NoSQL, and that "Test-Driven Development Is Dead" blog post by Ruby on Rails creator David Heinemeier Hansson. ("The list goes on and on... The root of all evil seems to be social media.") Does all this sound familiar to any Slashdot readers? Has your team ever succumbed to hype-driven development?

238 of 332 comments (clear)

  1. Has the lord and savior told you by 0100010001010011 · · Score: 1, Insightful

    about Black Belt training?

    1. Re:Has the lord and savior told you by Greyfox · · Score: 2

      I did a contract with Sun, just before they went under. The employees were quick to tell stories about how they used to hire magicians to come and entertain on the campus. There was this one guy, sat a cube over from me. Near as I could tell, his job was to sit on the phone all day boasting about whatever next conference he was going to and how he was a certified black belt. That was the only time I'd ever heard anyone talking about it. At Sun. Just before they went under.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    2. Re:Has the lord and savior told you by Big+Hairy+Ian · · Score: 1

      I can assure you TDD is not dead but don't expect to master it if you still have difficulty grasping the concept of Unit Tests. Learn to walk then learn to run

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    3. Re: Has the lord and savior told you by Anonymous Coward · · Score: 1

      My ex-wife is a Sun/Oracle employee (used to pronounce it 'snorkel'), and while she did tell me about the time she saw Penn and Teller at Sun in Milpitas during the late 90s, she has also always busted her ass here in the Midwest working for them.

    4. Re:Has the lord and savior told you by Big+Hairy+Ian · · Score: 1

      I just looked around my team I didn't realize apathy was a new trend

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    5. Re:Has the lord and savior told you by alvinrod · · Score: 1

      The problem with TDD is that it's not a tool you can apply to all problems. Some things are sufficiently complex and not well understood enough that trying to build them to incrementally pass more tests is just asking for headaches. There's a famous example of Ron Jeffries trying to use TDD to implement a Sudoku solver that didn't turn out well.

      It's good in that it ensures some unit tests get developed and those can be a great asset if it's software that's going to stick around and will probably be enhanced, refactored, or reused later on because it makes it a lot easier to do regression testing if you've already got a good set of tests. Some developers can be trusted to write those after they've written the code and others just rush off to the next thing.

      Like a lot of other things TDD probably fails mostly because people can't use it properly or try to treat every problem like a nail that can be pounded in with their shiny new TDD hammer.

    6. Re:Has the lord and savior told you by Jawnn · · Score: 1

      about Black Belt training?

      LOL. Touche'.
      Better question might be whose teams do not suffer from this madness?

    7. Re:Has the lord and savior told you by Bengie · · Score: 1

      TDD stands for Test Driven Development, not Test Driven Design. Architecture and design happens before development. Don't start writing code until you know WTF you're doing. Build some prototypes, but just throw them away once you understand the problem. Same thing with agile. It is not an architecture or design methodology, it is a development methodology.

    8. Re:Has the lord and savior told you by my-bondan · · Score: 1
    9. Re:Has the lord and savior told you by david_thornley · · Score: 1

      At one point, we had someone in to demonstrate TDD. At the end of an hour, he'd showed us how to build a class that exposed far too much of its internals but satisfied all the tests. I could have written it in ten minutes, it would have been at least as correct, and it would have been better code. I know that lots of people advocate TDD, but I'd like to have some experience with someone who can do better than write a crappy solution for a toy problem at snail speed.

      There's also a whole lot of the code I work on that can't be unit-tested by any system I know of. A lot of what it does draws complicated things on the screen or writes long and complicated gcode that can't really be tested except by running it through a CNC mill. A lot of the code was written before anyone decided it would be a good idea to get a unit test framework.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    10. Re:Has the lord and savior told you by Big+Hairy+Ian · · Score: 1

      Clearly you demo guy had an inadequate understanding of unit testing because you shouldn't have to expose anything because a unit test should be able to access private properties & methods (Not necessarily directly but using techniques that won't work outside of a unit test).

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    11. Re:Has the lord and savior told you by david_thornley · · Score: 1

      Could well be. I'd like to see a competently run demo sometime.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  2. Infinite web pages by qzzpjs · · Score: 5, Insightful

    I think infinite web pages was the worst idea that every site just had to copy to be part of the fad. I liked page number buttons. I can bookmark a page where I left off instead of scrolling a hundred times from the top again. It also doesn't use up all my computer's memory in Firefox or Chrome.

    1. Re: Infinite web pages by Anonymous Coward · · Score: 1

      That is to get more page views, duh.

    2. Re: Infinite web pages by qzzpjs · · Score: 1

      An infinite web page is one that scrolls forever and would only get you one page view. I hate them because you always have to start scrolling from the top. Try finding a YouTuber's 500th video by scrolling. With page buttons, I could calculate which page in seconds.

    3. Re:Infinite web pages by dave420 · · Score: 1

      None of that is mutually exclusive with infinite scrolling websites.

    4. Re:Infinite web pages by houghi · · Score: 2

      I hate that stuff, especially if the sneaky bastards have the info and legal part at the end of the page.
      To me that should be illegal.

      --
      Don't fight for your country, if your country does not fight for you.
    5. Re:Infinite web pages by JaredOfEuropa · · Score: 1

      Also, on infinite web pages it's scroll scroll scroll and YOINK, you have lost your place.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    6. Re:Infinite web pages by CanadianMacFan · · Score: 2

      I wanted to get in contact with one place who used an infinite page but they put the link to the contact information at the bottom of the page. So every time I scrolled to the bottom it would load the next section before I could click on the link.

    7. Re:Infinite web pages by Solandri · · Score: 4, Insightful

      More precisely, it's scroll, scroll, scroll. Ctrl-click to open a link in a new tab. Except you didn't hold down ctrl enough and the link opened up in the current tab. You hit back on your browser, and now you have to start scrolling from the top all over again. Whoever came up with the idea for infinite scroll web pages should be forced to go home and start his trip all over again every time his GPS tells him to make a turn and he misses it.

    8. Re:Infinite web pages by Hognoxious · · Score: 1

      Horizontal scrolling's got to be a close second.

      I sort of wonder if they can be combined, but I'm afraid to look in case it breaks the universe or something..

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    9. Re:Infinite web pages by justthinkit · · Score: 1

      When I become interested in a new podcast, I try to get the older MP3s. But I also like to know how long all of that will take. With infinite pages? No idea. Run out of time? Come back later and wait for a server 100 times to load a relatively small web page.

      If ten more of us weighed in, we could post ten more reasons why infinite web pages suck.

      --
      I come here for the love
    10. Re: Infinite web pages by Luthair · · Score: 1

      He might be referring to the fact many news sites load some random next article when you hit the bottom of the one you were actually interested in.

    11. Re:Infinite web pages by MareLooke · · Score: 1

      Bing does something similar with it's search settings, at least on mobile and when using image search. The settings link is in the footer and the damn thing just keeps loading more and more search results...

    12. Re:Infinite web pages by Tablizer · · Score: 1

      You hit back on your browser, and now you have to start scrolling from the top all over again. Whoever came up with the idea for infinite scroll web pages should be forced to go home and start his trip all over again every time his GPS tells him to make a turn and he misses it.

      Maybe the inventor had Alzheimers: they wouldn't know the difference or care.

    13. Re:Infinite web pages by doom · · Score: 1

      I think infinite web pages was the worst idea that every site just had to copy to be part of the fad.

      Well, like I keep saying these days: In a world where vinyl LPs can make a comeback, there may still be some hope for web standards.

    14. Re:Infinite web pages by qzzpjs · · Score: 1

      Yes, horizontal scrolling is definitely the second worst thing. You could actually find stuff on Netflix before they started scrolling thing horizontally. And since they can't put too many on there, you get to see maybe 50 titles out of the thousands in the category. I'd rather see a nice 5x10 grid and a next page button.

      Then, every other video or book site copied the bad idea so they could have the same look.

  3. NewEra by No+Longer+an+AC · · Score: 1

    Many years ago I was working at a small company with about a half-dozen other programmers. We were all doing Informix 4GL and ESQL/C except for this one guy that kept to himself and never talked to anyone.

    He was working on their next big thing - converting all the code to Informix NewEra or as some of us mockingly called it "New Error".

    I left that place like a rat leaving a sinking ship so I'm not sure what ever became of them, but I'm pretty sure the NewEra product was never installed at any client site.

    1. Re:NewEra by deKernel · · Score: 1

      Then he did a job well done. Think about it: he was paid to develop something that never hit the light day which translates to not having to support customers.

    2. Re:NewEra by No+Longer+an+AC · · Score: 1

      You've got a point there.

      At that same place I mentioned I pointed out to my boss that any of our customers could just go into the administrative menus and turn on access to modules of our software which they hadn't paid for.

      I can't remember his exact words, but it was something like good luck making that work for them because it was fairly bug-ridden territory (and we both knew that).

      No client could possibly use the base code anyway, because not only did they require their own customizations, they also expected us to fix the bugs in the parts they did use.

  4. Happens a lot by Anonymous Coward · · Score: 5, Insightful

    Main issue isn't "following the hype" -- it's not understanding why something worked for someone, or even why what you're currently doing is or isn't working before making sweeping changes.

    PHBs making stupid and declarations based on trade magazines that sinks the project? Probably never understood what his subordinates were actually doing in the first place.

    Developers changing languages mid-project? Forgot to add the time to master the language to the estimate, most likely.

    1. Re:Happens a lot by dcollins · · Score: 2

      "We are smarter than other shops, so we will cut all the developer estimates by half" -- actual thing said to me by an actual head of engineering.

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
    2. Re:Happens a lot by dbIII · · Score: 1

      Main issue isn't "following the hype" -- it's not understanding why something worked for someone, or even why what you're currently doing is or isn't working before making sweeping changes.

      Indeed - such as implementing the Toyota method without the feedback steps that made it work for Toyota (and Ford before that). That is a very common failure. Just about anything with "quality" in it's name outside of production line testing seems to make that sort of mistake too and diverge far from reality. A former boss who seemed to work "quality" into every sentence later went on in the next job to black out the largest city in New Zealand for a month. His cutbacks on maintenance were apparently "quality" cutbacks and redundant systems were apparently wasteful.

    3. Re:Happens a lot by Chatterton · · Score: 2

      That's why in my previous job I always tripled my estimates and made sure that my colleagues make so too.

    4. Re:Happens a lot by JaredOfEuropa · · Score: 2

      Exactly, and that's why the author of the article advocates testing and research: understand the nature of the beast before attempting to tame it. This is classic innovation management. What I missed from his article is another important aspect of innovation: knowing when to quit (and planning for an exit). Define success criteria, have regular evaluations, keep room for changing tack when your insight changes, and stop when your goals aren't being met. And of course to define those success criteria, you have to understand what your current challenges are to begin with. Basic stuff...

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    5. Re:Happens a lot by HornWumpus · · Score: 1

      Double the number and move to the next larger unit.

      Five minutes = Ten hours

      Ten hours = Twenty days

      Twenty days = Forty weeks

      One week = Two months

      Three months = Six years

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  5. Agile by zm · · Score: 3, Informative

    Although, it was due to a sustained level of hype, rather than an epiphany by the powers that be.

    --
    Sig ?
    1. Re:Agile by Tony+Isaac · · Score: 2

      When Agile fails, it is almost always due to the implementation NOT actually being agile. There is such a deep belief by many old-timers that Waterfall is the only way to get things done, that many simply cannot make the transition.

      I worked for a company that uses Agile (Scrum), but then acquired a Waterfall shop. By all accounts, the Agile team ran circles around the Waterfall team. The Waterfall team struggled to switch to agile, but not yet successfully. It's not easy to do, and the transition is often done poorly. Then, the Waterfall believers point to the failed transition and use it as evidence that Agile does not work.

      If you're looking for evidence that Agile doesn't work, you'll find it. But meanwhile, agile shops like LinkedIn and Amazon, along with many others, keep getting things done.

    2. Re:Agile by WaffleMonster · · Score: 4, Insightful

      When Agile fails, it is almost always due to the implementation NOT actually being agile. There is such a deep belief by many old-timers that Waterfall is the only way to get things done, that many simply cannot make the transition.

      This is all proponents of Agile ever say. A noun a verb and "Your doing it wrong".

    3. Re:Agile by Tony+Isaac · · Score: 1

      Yes, I agree with you. I have seen it done right, and I've seen it done wrong, numerous times. It's a religious war, I know, and I know I won't convince you. But that's OK, I'm quite happy to let the market decide. As for me, I will always choose to work in an Agile shop. I'll take on your Waterfall shop any day.

    4. Re:Agile by Anonymous Coward · · Score: 4, Insightful

      It's not a religious war. It can be and has been a disastrous waste of time, money, and life for many, many people. While Agile works well for certain types of projects, it does not work well for others. Choose what you like, I suppose, but all the market can reveal is that people who become enraptured by process rather than product are building castles on sand.

    5. Re:Agile by SpaghettiPattern · · Score: 1

      Ever tried Agile development of a software library or of infrastructural systems? Stuff that needs to be thought out before publishing? Where experience counts? Where you don't have a team of 10 people dedicated to sprints of two weeks? Where produced software actually has to be maintained? In short, where you have a small shop that needs to make a difference.

      Agile is good to let badly planned projects die soon. Perhaps good enough to develop applications. Not so good if you have a team of experienced workers that actually know what they do and what they do directly affects the bottom line in a market where competition is strong.

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    6. Re:Agile by umghhh · · Score: 1

      When a team fails a project, it is almost always because of the team's approach&organisation. What you are trying to say that your agile team being so flexible were still not able to overcome difficulties the real world presented to you. Is this a problem of the world or yours?

    7. Re:Agile by ckatko · · Score: 5, Funny

      The No True Agile fallacy.

    8. Re:Agile by Puff_Of_Hot_Air · · Score: 1

      Ever tried Agile development of a software library or of infrastructural systems? Stuff that needs to be thought out before publishing? Where experience counts? Where you don't have a team of 10 people dedicated to sprints of two weeks? Where produced software actually has to be maintained? In short, where you have a small shop that needs to make a difference.

      Yes I have, SCRUM was the process used, and it all worked vastly better than the three failed projects before it (in our extreme waterfall shop). There is nothing magical about SCRUM, or any other process, it's mostly about letting good people do good work. The thing that SCRUM et al, gives you is a tight feedback loop, and that is a very useful thing if you have it all going nicely. I've worked in all kinds of setups, from super heavy process (which I just can't stand, who wants to sit around for 6 months just writing documentation and attending meetings?), to extreme isolation (here are the requirements, give us the result in 6 months), to agile of all different variations. I like SCRUM the best because I like working with other people, I like that the work is chunked, and I like that it deliberately only describes a tiny tiny part of the process. There are so many ways to do anything wrong, so many things that end up working despite human screw-ups, so little hard science around anything people oriented, and so much implied in vague terms like "agile" that these discussions are meaningless. Give me a couple of Devs of at least medium ability, a tester or two that know the product domain, and someone on the business side that is willing to talk product, and I can deliver you a successful project every damn time. Call it what you like.

    9. Re:Agile by Tablizer · · Score: 1

      This is all proponents of Agile ever say..."Your doing it wrong".

      Perhaps under the right conditions it can work, but it's difficult to get and maintain those right conditions.

      Most organizations are a chaos of re-orgs, management re-shuffling, mergers, splits, etc. such that a "clean" environment is hard to come by.

      It's like threading a needle riding a roller coaster. Stability may be asking too much. Come up with methodologies that can tolerate some grit in the gears.

    10. Re:Agile by umghhh · · Score: 3, Interesting

      market has hardly anything to say about it. The fact is that projects being difficult to compare are also difficult to draw conclusions upon. I actually have made a comparison of two projects running on two different platforms and using two different (*) paradigms - my corp just bought another corp where exact same thing has been done already but as said on other platform. The one had 300% higher cost than the other. The thing is - when I proposed to have a look at the reasons and do root cause analysis I was ignored. I took from this experience that this is a religion not a management practice.
      * - It is often proposed that there are two approaches: waterfall and agile. I have not seen a fully waterfall project in my long working life and I took part in projects of 10k people lasting up to 2 years. The fact is you need some rigid planning and the planning and deadlines many months or years in advance because somebody has to budget the project and needs some sort of idea of what is feasible. Even agile teams do that or they overrun the available budget and then fail. These big projects had what appeared waterfall - they set deadline 2y in advance. Yet the project planners were flexible and the planning allowed to build a huge robust, flexible and powerful system that was delivered within an accepted deviation of budget and time. the actual development teams working on particular items were doing their iterative design & test and acting in an agile way if (from their perspective) external part necessary for test was delayed. I have seen similar in much smaller but in agile term massive (~100 people, run for a year) teams/projects.
      After all these years I have made following observation: the development paradigm and chosen technology have less to say about possible success than the qualifications of the team. Good team with good leaders can achieve a lot. Not even best practice and good conditions to execute a project will help if team does not know how to make, deploy, revise and if need be modify decisions. Whether they do it during grooming meetings smoking joints or there is an uniformed drill instructor shouting on them is relevant because wrong are to the team and project what the tools are for the job - you just need the one you can work with.

    11. Re:Agile by ray-auch · · Score: 1

      Ever tried Agile development of a software library or of infrastructural systems? Stuff that needs to be thought out before publishing? Where experience counts? Where you don't have a team of 10 people dedicated to sprints of two weeks? Where produced software actually has to be maintained? In short, where you have a small shop that needs to make a difference.

      Yes on all counts. At the same time.

      I ran the dev team, already had experience of very early agile predecessors (DSDM), I was told to "do" agile with my team and went into it as a confirmed sceptic trying hard to keep an open mind, and f*** me it worked. Well. Really well. Several people (inc me) thought we couldn't do product development agile, couldn't do support and maintenance agile, couldn't support pre-sales agile, well we did, and it worked better than anything else we did in a whole lot of ways.

      I have also since seen the same agile process (SCRUM) used so badly it drowned a project in treacle, it would have been hilarious if it wasn't for the amount of money you were watching being pissed up against a wall.

      Agile is a tool, it is a better lathe, used properly it can produce things of great beauty and precision, but it is still just a better lathe - if you are trying to use it to drill a hole or cut a straight line you will still fail, if you leave the chuck key in you will still get hit in the nuts (if you're lucky) when you start it. Know your tools.

    12. Re: Agile by Entrope · · Score: 1

      It's a problem with agile and its proponents, who claim that agile is this wonderful process, but you need an awesome team with good management to make it work. If you have an awesome team with good management, your process needs are usually only defined by the total size of the team.

    13. Re:Agile by Big+Hairy+Ian · · Score: 2
      Agile is simply about detecting potential project failures as early as possible and responding to requirement changes as they change. Rather than doing a 2 year development cycle only to discover that not only has the clients needs changed and the software now doesn't do what they need anymore but the project wont work anyway because of X.

      I mean why lose two years work when a months or better still two weeks would have done just as well

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    14. Re:Agile by SpaghettiPattern · · Score: 1

      That's actually pretty impressive. Good that it works out that well for you!

      We invariably struggle with resources; We never get enough of them assigned to our projects. We simply have to make do with what we have. Failing to meet a client's target is never an option, so we need our systems to be easy to configure and we need a methodology that works with people that commit themselves.
      Smaller projects typically have emphasis on configuration, testing and release management. Relatively little activity from our side and a client with SCRUM typically requires much more of our time than we can sell them.
      OTOH, larger projects to produce deliverables that improve our business proposition, have much longer conception phases and may be interrupted from time to time, only to be picked up again at an opportune time. That doesn't go well with SCRUM.
      In both cases SCRUM doesn't work well for us. We tried and just couldn't adapt to it.

      In the end it boils down to having a team of proficient people in the required disciplines. Once you have that you can do almost anything using any methodology. (With a good team you can even pretend to use a methodology when in reality you're circumnavigating it to reach targets.)

      And no, I'm not a maverick. Just a guy that developed an immune system against hypes. (Which I experienced since early 90s.)

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    15. Re:Agile by wyHunter · · Score: 2

      You're the first person I've ever seen that says 'it works great for some but not for others' and that's absolutely true. It depends on the domain in which you're working.

    16. Re:Agile by rickb928 · · Score: 1

      How many Agile programmers does it take to complete a sprint on time?

      One, if you commit few enough points.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    17. Re:Agile by rickb928 · · Score: 1

      When my Agile team keeps putting work into backlog because it takes to many points, they are pretending I will believe them - when they merely intend to re prioritize the work requested.

      The scrum master(s) will blame resource constraints, ignoring business demands for backlogged work to be completed.

      The Product Owner will then report they have insufficient resources and cannot deliver required, 'must have' features.

      Then we get the work done, spread across three sprints (!), and it is flawed. Not merely poor quality, but both defective in key functionality which renders the feature unusable, but also breaks other features. Module programming and testing is obviously not done, but the team blames the test environment, then the development environment, both of which are now entirely under their control.

      Mind you, this differs from our Waterfall process in that:

      - We now are denied work on a weekly basis instead of waiting months to be told features are delayed further, usually more months.
      - Failures in installation result in either a fast follower in 3-10 days, rather than retraction and months waiting for repeating the work.
      - Our requests are denied weekly instead of quarterly.
      - The Product Owner is now plainly in league with development to ensure the work never exceeds the resources permitted to be made available, which have no direct or observable relationship to the budget.

      Yes, our Agile implementation is not optimal. But it delivers failure in a MUCH shorter time frame than Waterfall did.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    18. Re:Agile by 110010001000 · · Score: 1

      Linux is probably the most successful project of all time. It doesn't use Agile. Neither does any other successful major Open Source project. Agile is for corporate programming teams who aren't very good.

    19. Re:Agile by Z00L00K · · Score: 1

      Agile is a method, but too many people tries to formalize it into a tool instead of seeing it as a high level method that shouldn't be formalized.

      As soon as you formalize Agile it stops being agile. It's like you are now thinking of how you breathe - as soon as you think about it you waste energy thinking about it.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    20. Re: Agile by rickb928 · · Score: 1

      Something like the Mercury/Gemini development process.

      Of course the Russians never had to go past LEO, so they avoided the paradigm shift needed to make a Lunar capable vessel.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    21. Re:Agile by HornWumpus · · Score: 1

      Agile is a manifesto, full of truisms.

      The vast majority of Scrum shops are _not_ Agile.

      It says right in the Agile manifesto: 'People over process'. It also says to hire: 'Competent enthusiastic professionals'.

      How many 'scrum masters' have you met that you would describe as 'competent enthusiastic professionals'? None? One, but (s)he was forced into the role?

      The problem, as always, is PHBs hear only the parts they want to hear. From Agile they heard: 'No planning, Constant customer interaction with devs, Ship often'

      If you are interviewing with an Agile shop one question you need to work into the conversation is 'how does your pay scale compare to local industry averages?' The answer you don't want to hear is: 'Our pay is about standard for the area'. It's a tell that, they are _not_ agile. 'Competent enthusiastic professionals' are in fact uncommon in the industry and don't work for peanuts. What you want to hear is something along the lines of 'Our team is made up of mostly experienced to very experienced professionals, who make senior dev pay scale?'

      One thing that's flat impossible: To be agile and to employ only recent college grads.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    22. Re:Agile by ranton · · Score: 2

      It's not a religious war. It can be and has been a disastrous waste of time, money, and life for many, many people.

      Wait a minute, are you implying that religious wars are not a disastrous waste of time, money, and life?

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    23. Re:Agile by LynnwoodRooster · · Score: 1

      IMHO, Agile should be avoided for one simple reason: it lets the product manager/customer get off the hook easily without actually DEFINING what they want. It enforces a mindset where the customer doesn't have to really figure out what he wants, and ensures a team will run around redoing work because of that failure. It's a structured way of responding to a poorly defined (or, in more extreme cases, undefined) goal. And that is the problem itself - not know WHAT you want at the end, but believing you'll reach it by ending up with a million monkeys pounding on a million keyboards. But rather than pounding for a million years, they'll do a million 2 week sprints instead.

      --
      Browsing at +1 - no ACs, I ignore their posts. So refreshing!
    24. Re:Agile by Tony+Isaac · · Score: 1

      Open source projects are not ideally suited to Agile, because one of the core features of most Agile processes is having teams that are physically located together. For most open source projects, this is not practical.

      Agile is not the ONLY methodology that works, so I'm not surprised that Linux succeeds without Agile. However, many large corporations use Agile methodologies in a big way: Cisco, Phillips, Intuit, Honeywell, Ericsson, Amazon, Google, LinkedIn, SalesForce, just to name a few. At least some of these corporations produce software that is "very good."

    25. Re:Agile by Tony+Isaac · · Score: 1

      I have worked in a number of Agile shops with competent, enthusiastic professionals. I'm sorry that you have had a less positive experience.

      To be competent, it is not a requirement that you also be "senior." I sit next to a kid just one year out of college, who definitely meets the definition of "competent." Inexperienced, yes, but also competent.

    26. Re:Agile by Tony+Isaac · · Score: 1

      If your agile shop lets the product manager / customer get off the hook without defining what they want, they are doing it wrong. Agile does not remove the need for requirements, it only changes how and when they are created. Up front, only the big outline is created, and the individual points are fleshed out as you get to them. This is NOT the same thing as getting off the hook.

    27. Re:Agile by Tony+Isaac · · Score: 1

      Yes, yes, yes, yes, and yes. Most of my career has been in small shops, ranging from 1 to 14 developers. All of them used agile, and succeeded because of it.

      There are badly planned agile projects, but this is not a feature of agile. There are also badly planned waterfall projects, but this is not a feature of waterfall. The notion that agile means "lack of planning" stems from a lack of understanding of what agile really is. Agile is a different way of organizing priorities, and it does so in a different sequence than waterfall. It does not eliminate organizing or planning or priorities.

      Toyota, SalesForce, Amazon, Google, Intuit, and many other major corporations use agile successfully, against stiff competition.

    28. Re:Agile by Tony+Isaac · · Score: 1

      I completely agree with your final observation.

    29. Re:Agile by Actually,+I+do+RTFA · · Score: 1

      When Agile fails, it is almost always due to the implementation NOT actually being agile

      When Waterfall fails, it is almost always due to the implementation NOT actually being waterfall.

      It's a process. A process should be judged based on its expected outcome in a typical use case. Give me brilliant programmers, and you can use any* methodology. Give me horrible programmers and you cannot use any methodology. The case that Agile needs to make is given average programmers (of whatever subset based on skill Agile claims to apply to), Agile produces better results. Cherry-picking in either direction is retarded.

      Ironically, after railing against cherry-picking as something used by Agile's detractors, you cherry picked LinkedIn and Amazon.

      --
      Your ad here. Ask me how!
    30. Re:Agile by Anonymous Coward · · Score: 1

      Note that one of the main items in the Agile Manifesto is; "People over Process". This means that if your specific agile process is getting in the way of getting things done then you aren't doing it right. Most people who are trying to do Scrum and having issues turn out to be doing Scrum-but, which is "yes we are doing Scrum... but we do this differently." This usually leads to trouble. Note that I am fairly agnostic about the specific methodology applied to the development process, but to criticize a methodology while not following one of the main ideas is self-defeating.

    31. Re:Agile by Tony+Isaac · · Score: 1

      You are certainly correct that the people are more important than the process. Funny, that's the #1 value on the Agile Manifesto!

      Well, I don't want to cherry pick too much. So here are some more shops that use Agile:

      Toyota, Cisco, Phillips, Intuit, Honeywell, Ericsson, Amazon, Google, LinkedIn, SalesForce.

      Still not enough? This HP survey found that 69% of development shops now are pure agile or "leaning" agile.
      http://techbeacon.com/survey-a...

    32. Re:Agile by Anonymous Coward · · Score: 2, Informative

      I don't know about the domain, but the size of the software is a major factor. Large projects (1000+ FPs) should avoid agile like the plague. According to Capers Jones, industry data shows clearly that those who attempted to do this failed consistently.

    33. Re:Agile by HornWumpus · · Score: 1

      The question was 'how many SCRUM MASTERS are competent enthusiastic professionals'. Scrum is almost always not agile.

      Do you realize how fast a competent kid makes it to senior level?

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    34. Re:Agile by LynnwoodRooster · · Score: 1

      IMHO - it is letting them off the hook. The devil is always in the details. Coming up with a big idea and "fleshing out as you go" is a sure way to guarantee, IMHO, a lot of rework, redesign, and rebuilding. It also invites continual tinkering with the product spec - and that breeds more churn. Lock down the inputs and the outputs and the required relationships between the two and you can go forward predictably, reliably, and swiftly. Leaving any part of that open and you just beg for churn. Is it responsive? I'd say no - it's better to have the hard discussions and put the time up front planning rather than wasting time and effort down the road.

      --
      Browsing at +1 - no ACs, I ignore their posts. So refreshing!
    35. Re:Agile by Actually,+I+do+RTFA · · Score: 1

      Funny, that's the #1 value on the Agile Manifesto!

      That's not interesting. People are important. Agile recognizing that isn't a benefit of Agile. Unless it's the only methodology that did. (Hint, it's not)

      Still not enough? This HP survey found that 69% of development shops now are pure agile or "leaning" agile.

      See, "shops using Agile" is irrelevant. Absolutely irrelevant.

      Science isn't that hard. If you wanna talk about why X is good, and Y exists, you have to compare the results of X and Y. If you showed that 80% of places had an increase in productivity after switching from Y to X, that makes sense. If you talk about a controlled study where people are randomly assigned X and Y, and the group assigned X improves, that makes sense. Even if you somehow account for which groups choose X over Y, you can let individuals chose (but that's harder).

      Bottom line, there may be arguments for Agile development, but you have yet to make any.

      --
      Your ad here. Ask me how!
    36. Re:Agile by wyHunter · · Score: 1

      That's fascinating. I guess it's also not surprising, there are too many moving parts to assume 'it all just works out' which is really what agile does.

    37. Re:Agile by godefroi · · Score: 1

      Agile is specifically designed to remove all choice and creativity from programmers. It is designed to give the power to the product and marketing department. When agile fails, it's because programmers don't like being held down, and product people don't concentrate on the important fundamentals, only the shiny surface.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    38. Re:Agile by godefroi · · Score: 1

      So wait; the agile manifesto specifically says you should do "scrum-but", but if you do "scrum-but" you'll fail, and it's because you weren't doing pure scrum the way your expensive trainer taught you?

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    39. Re:Agile by Tony+Isaac · · Score: 1

      This makes no sense at all to me. I've observed in Scrum and Kanban shops that often, developers are often asked to make decisions that SHOULD be made by product people, who often have only a vague idea of what they want. I've certainly never felt limited in my ability to be creative!

    40. Re:Agile by SpaghettiPattern · · Score: 1

      Not all gloom and doom ;) Will reconsider my sceptic position.

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    41. Re:Agile by david_thornley · · Score: 1

      About all I can say is that when I've been in Scrum projects it's generally worked well, and I can see how it wouldn't work in other situations. If we were to follow one of my less serious suggestions and rewrite our code base in Common Lisp, I would not want to use Scrum as an overall methodology, although it would be possible to design the project so that Scrum could be used on many sections.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    42. Re:Agile by david_thornley · · Score: 1

      Waterfall can work on projects with clear and unchanging specifications. I've seen a few such come out of accounting departments. (My wife liked working on accounting applications at one time, as they told her what they wanted and were happy when she delivered that.)

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    43. Re:Agile by godefroi · · Score: 1

      Ah, but then that's not Scrum, then, is it?

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    44. Re:Agile by Tony+Isaac · · Score: 1

      There is nothing in Agile that restricts creativity and choice by programmers. What it does is allow programmers to make technical design choices, and product owners to make business-facing choices. The business people decide what they want it to do, programmers decide how to get it done.

      If anything, it's the waterfall process that allows "architects" to make all the design choices for the programmers, who are expected to just follow the requirements like a code monkey.

    45. Re:Agile by Comrade+Ogilvy · · Score: 1

      This is all proponents of Agile ever say. A noun a verb and "Your doing it wrong".

      Well, to be fair, isn't that equally true about Waterfall? "Plan went wrong due to unexpected problems? You did not plan enough!" Every kind of hindsight, like a more robust POC, can be swept under the rug of "better planning" after the fact.

      Both Waterfall and evolutionary/Agile methods are prone to myriad kinds of failure. The more common kinds of failure are somewhat different between the two. Waterfall can encourage dangerous blindness to changing requirements, and tends to shift certain kinds of risk later into the game than is usually absolutely necessary. Agile can fool you into not realizing that important architectural decisions were made early, without full consideration.

  6. Not just development by hcs_$reboot · · Score: 2

    It happens all the time. Everywhere. As soon as a trend arises on the horizon many companies jump on it to get their share of the cake. And it's even not unprofitable.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re:Not just development by tomhath · · Score: 1

      Yup. Functional Decomposition is the silver bullet. No wait, it's Data Flow Diagrams. No wait, it's Rapid Application Development. No wait, it's Object Oriented Analysis/Object Oriented Design. No wait, it's Waterfall. No wait, it's Superprogrammer/Team Programming. No wait, it's Agile.

      In the end a small group of good programmers will make a project succeed. Anything else will make it fail; it all boils down to whether the tech leads are competent or were promoted because they were someone's pets.

    2. Re:Not just development by Z00L00K · · Score: 1

      Keep every piece small, too many problems are created by attempting to build a solution out of too complex modules. Some people may complain about too many source files and similar, but if each component is small and distinct it's a lot easier to rearrange them.

      And even seasoned programmers makes mistakes, but they are often not in a single module but rather in a system-wide perspective caused by misunderstanding of the larger picture. This just highlights that to make a good system you need to know the need of the customer.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  7. Re: He sounds like an idiot by WarJolt · · Score: 4, Insightful

    The problem is that experience can do one of two things to developers. Open your mind or close your mind. Many programmers refuse to open the Pandora's box and they stick to a tool, paradigm or coding style they know even though its not the best thing to solve the problem at hand. It's like a carpenter trying to cut down a tree with a circular saw because that's what he spends 99% of his time using.

  8. Management by magazine by wasted · · Score: 1

    I agree, this isn't an IT-specific issue. PHBs frequently make executive decisions base on what is promoted in trade magazines, which is a bummer for the workers who have to follow policy influenced by a marketing major.

    1. Re:Management by magazine by Anonymous Coward · · Score: 1

      Haha, this is so true. I once worked in a company which technology strategy changed whenever something was told to be trendy on trade magazine. Whenever there was an article about html5 or something similarly vague tech, it was certainly to be our next mandatory choice of technology, no matter what was the problem area. The dumb CTO did single handedly ruin project after project until he left. Of course the higher management did not blame him, as he was using the trendy technologies, which were the only ones other PHB's were also heard of.

  9. Avoid the silver bullet that is Sencha ExtJS by EmperorOfCanada · · Score: 4, Insightful

    Wow, ExtJS brought all development to a complete multi year halt. In the first few months ExtJS development is way way way faster than any other framework out there. But after about 6 months all you are doing is fighting with the framework. Just an endless knifefight. Any single problem could be solved against the base instlall of ExtJS but what happens is that you have to develop workaround after workaround to make the system snap into place for any given need. Those workarounds then make future "easy" changes impossibly hard.

    So you might have something as simple as wanting to put the focus on a login username. If you had just done the page as your first round and thought of that then, like everything with ExtJS, a little weird but fairly easy. If you already have fought with sencha to make other things happen on the login page (say a filtered twitter feed) then ExtJS is probably broken 8 ways from sunday and you can't set a focus worth a damn.

    Save yourself a world of pain and just use basic javascript combined with either simple single function libraries, or worst case scenario use a framework that won't blow up your company like react or polymer. Yes, you won't be a showoff in the first few weeks of development like you could with ExtJS, but you won't blow up your company when you can't finish the project until you realize that it can only be done by throwing out ExtJS.And if you get 5 or 6 people in the company who get training by ExtJS, good luck cutting through her bullshit about how ExtJS is the best thing ever even though the project is now 18 months late.

  10. Well, if it's got any javascript in it by RightwingNutjob · · Score: 1

    it must be good.

    Or is it SOA? Or Java? Or Windows?

    If all you've got is a buzzword, you ain't got a business.

  11. Yep. Quite recently. by Hylandr · · Score: 1

    Yep. Quite recently.

    https://github.com/cloudtools/...

    --
    ~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
  12. Re: He sounds like an idiot by echnaton192 · · Score: 1

    Reaf TFA. These are exactly his points. So you are the idiot.

  13. Re: He sounds like an idiot by AcerbusNoir · · Score: 2

    Many programmers refuse to open the Pandora's box and they stick to a tool, paradigm or coding style they know even though its not the best thing to solve the problem at hand.

    Precisely the OP's point.

    That's a typical trait of a junior developer, or an experienced developer who has worked solo for most of they're career.

  14. Agile is good for some teams & projects, horri by raymorris · · Score: 5, Interesting

    For some projects and some teams, Agile is the best they can be expected to do. For other types of projects and other types of teams, it's a really horrible idea.

    Central to Agile is the proposition that the company is unable or unwilling to figure out what the requirements are before they develop the system. As Yogi Beara said, "if you don't know where you're going, you not get there." On small projects it might not hurt too much to figure it out as you go along, to backtrack and throw away code that has to be replaced. On large projects, and systems that need to integrate with other systems, you REALLY do need to figure out the requirements ahead of time and plan the architecture.

    If your team consists solely of programmers of medium competence, Agile may be the best choice. If you have even one excellent systems architect, you're far better off letting therm do their job, planning the system out first. If your team includes junior programmers (or veterans who haven't expanded their skill set over the years), Agile can leave them floundering, going one direction for a few weeks, then another direction for a few weeks, then completely backtracking for a few weeks.

    In summary, Agile is sometimes the best choice for your team, and when it is, you've done a poor job of hiring.

  15. Been there, done that. by Zarjazz · · Score: 5, Interesting

    Several years ago my Pointy-haired Boss was reading technology articles (bad idea) and caught the "Big Data" bug. It spread to our CTO, CIO and all department heads like wildfire. This led to our Development team being turned into NoSQL zombies who said words like "Hadoop", "Shark", "Spark" in response to any new product requirement. It was a glorious vision of a magical backend system that would take all our data from every platform, that would scale up and out forever, and could be asked any question and give us exactly the results we wanted all instantly. The fact no one in the entire company had ever used any of the technology before or the fact we didn't even have any Java experience to setup even the base Hadoop installation were just minor points not worth discussing. I would like to say I was the lone dissenting voice, well I was and said lets just stick to SQL, but even I got caught up in the hype eventually.

    18 months later and a sickening amount of man-years wasted and contractor money spent with no usable products or services the conclusion was NoSQL isn't a good fit for our data or platform use case. So they all went back to standard MySQL and completed 90% of the delayed projects in under 4 weeks.

    On the plus side management heads did roll. I have a new My Pointy-haired Boss and CTO. However they have now started to drop in the words "Microservices" and "Docker" into all discussions. I can see a new hype-train arriving shortly ...

    1. Re:Been there, done that. by Hylandr · · Score: 1

      I swear you sit in the same pod as I do...

      --
      ~ People that think they are better than anyone else for any reason are the cause of all the strife in the world.
  16. No by Anonymous Coward · · Score: 1

    My development team isn't that particular flavor of retarded.

    1. Re:No by hcs_$reboot · · Score: 1

      My development team isn't that particular flavor of retarded.

      and your team is not interest in profit.

      --
      Slashdot, fix the reply notifications... You won't get away with it...
  17. Re:Agile is good for some teams & projects, ho by Zmobie · · Score: 1

    I disagree. Working at a primarily waterfall based company we have lots of change orders after systems go into production and as long as the code was designed well there really isn't an issue with adding new features. Sure, there are occasionally the huge changes that some customer decided they couldn't live without, but those types of changes hurt agile shops too. The problem you describe and "solve" is designing overly rigid code, not "agile is better than waterfall."

  18. Google by nastyphil · · Score: 1

    Wave.

    --
    Dialectician. Archology.
  19. I used to work for an "Idea Man" and it sucked by Lord+Kano · · Score: 2

    I used to work for a (bigger than small but smaller than medium) family owned business doing web development.

    The CEO and President were brothers, they were the sons of the owner.

    One of the two was the idea man. He'd see something on a competitor's website or he'd read about it somewhere and call a meeting to find out what would be needed for us to do it too. We'd discus it, start developing a plan and get to it and three days later, there'd be another newer, shinier thing that he wanted us to work on. It was soul-crushing because we never got to follow through on anything. I was very happy to leave that place.

    LK

    --
    "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
    1. Re:I used to work for an "Idea Man" and it sucked by Yvan256 · · Score: 1
    2. Re:I used to work for an "Idea Man" and it sucked by Lord+Kano · · Score: 1

      Something like that but the only way to get away from his idiocy was to get a new job.

      The worst part is that he was a really good guy. I personally liked and still do like him but working for him was terrible.

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
  20. There are no magic solutions by chipschap · · Score: 5, Insightful

    The problem is that people want magic solutions, and they keep chasing the latest fad in the hopes of finding the secret alchemy that will make average developers turn into gold stars, produce perfect systems in a tenth the time, and meet all requirements without the bother of knowing them.

    Anyone who's ever done any system of significance that actually worked will know that the "best" tools and methods are situational. Need a bash script to list a few files? The approach is different than it would be if you're hired to redo everything used by the IRS.

    We can go all the way back to the "shelf full of binders" methodologies. In their day, they were supposed to be the magic cure-all. Today, it's Agile, or it's XYZZY or whatever is the latest and greatest. Still haven't found that secret sauce.

    One size doesn't fit all. There is no magic. Successful development projects require skill, experience, good judgment, hard work, and competent leadership.

  21. Re:Agile is good for some teams & projects, ho by Required+Snark · · Score: 1

    Agile doesn't say you can't have big goals, only that the details can't be fully known up front.

    The devil is in the details.

    --
    Why is Snark Required?
  22. Re:Agile is good for some teams & projects, ho by jaminJay · · Score: 1

    There's nothing preventing you from running an agile project with a robust and complete design. Agility allows you to pivot if and when required.

    The easiest way to think of agile projects is a series of really small waterfall-like mini-projects that deliver a working product at the end. As you complete each mini-project, your product comprises a larger set of features. When your feature set reaches MVP, you can release or continue iterating to complete more features, but you can feasibly release at the end of any mini-project.

    All of the arguments I've seen around [Aa]gile have shown that both sides are unwilling to concede that they don't actually understand the others' points of view.

    There is no project that can't benefit from the ideas agile project management introduces, and there's no rule that says you should throw away your working model to implement agile (although it is generally easier to start with a single team that does start from scratch).

    ALL projects benefit from measuring the outcomes of small, incremental changes and continually finding and limiting waste.

    --
    Leela: "Is all the work done by children?" Alien: "No, not the whipping."
  23. Re:Agile is good for some teams & projects, ho by Kjella · · Score: 5, Interesting

    Central to Agile is the proposition that the company is unable or unwilling to figure out what the requirements are before they develop the system.

    The problem is that waterfall is presented as making extreme effort to try figuring it all out up front, while Agile then becomes to the exact opposite where you make no effort and just prioritize what's right in front of your nose. Reality is that you need some flexibility in waterfall projects and some structure in agile projects. In my opinion it's fine as a development method, it's all the people making requirements who don't even try anymore because agile. We're so dynamic, as long as we can spin in place it doesn't matter that we're not going anywhere.

    --
    Live today, because you never know what tomorrow brings
  24. NoSQL all the way down by anchovy_chekov · · Score: 2

    Once upon a time I worked on an app that had 4 databases - MySQL, Redis, Neo4J and Influx. Each of these were to solve a specific problem (searching, time-series data, etc) even though the scale of the application (a handful of users per day) never warranted any kind of "big data" solution. And the fundamental problem remained - many of the developers didn't know how to write decent SQL.

    Postgres / HSTORE could have probably solved pretty much the entire set of persistence use cases. But that's a solid, proven and ultimately boring technology. Where's the fun in that?

    It's not just PHB driving the madness. Plenty of it comes from resume-driven development.

    1. Re: NoSQL all the way down by mattpalmer1086 · · Score: 1

      This.

    2. Re:NoSQL all the way down by itsdapead · · Score: 1

      Postgres / HSTORE could have probably solved pretty much the entire set of persistence use cases

      Hey, but PostgreSQL is buzzword compliant with the new hipness... you want a JSON-based document store?
      CREATE TABLE docstore (
      docid SERIAL PRIMARY KEY,
      userid INTEGER REFERENCES users,
      document JSON
      );

      OK, don't code-review that off-the-cuff doodle too seriously, but implementing NoSQL features in a decent RDBMS is easy, implementing RDBMS features in NoSQL is hard...

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    3. Re:NoSQL all the way down by Tablizer · · Score: 1

      PHB: "About this new NoSql database I had you set up. Um, I wish to do some SQL on it; could you add SQL to it by Wednesday?"

    4. Re:NoSQL all the way down by TemporalBeing · · Score: 1

      Postgres / HSTORE could have probably solved pretty much the entire set of persistence use cases

      Hey, but PostgreSQL is buzzword compliant with the new hipness... you want a JSON-based document store? CREATE TABLE docstore ( docid SERIAL PRIMARY KEY, userid INTEGER REFERENCES users, document JSON );

      OK, don't code-review that off-the-cuff doodle too seriously, but implementing NoSQL features in a decent RDBMS is easy, implementing RDBMS features in NoSQL is hard...

      Yep. I've worked two projects now that include Cassandra. Why? Replication. All the queries are SQL/Relational oriented. The one project supported Sqlite (for dev testing), Mongo, and Cassandra but they wanted to deploy with Cassandra; the project got canned after it was nearly complete and they started looking at the operational costs to meet our required throughput (requests/second) because of how massive the Cassandra cluster needed to be (in terms of node count and the type of server needed to support it); though we were officially told it was canned for other reasons, the timing was just too close to not have been a major factor in the decision.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
  25. Thats why by kolomanschaft · · Score: 1

    Thats why we develop our products in good ol' MFC/C++. It is still supported and that is not a coincidence. Who needs fancy things like reactive event streams when one can have the delights of MFC message pumps. Good old hardened, bare metal technology. Mobile plattforms, the Web and this thing called "Internet" are technologies we are happy to sit out and so should you. Trust me and thank me later.

  26. Ten easy steps to HDD by roesti · · Score: 2

    Here are ten easy steps that you can take to implement Hype-Driven Development for your project.

    1. First, choose a new tool. Find somewhere that the tool is being used by a company everyone has heard of. Don't be too concerned about what they're using it for, or whether it relates to your work in any way.
    2. When you start using the tool, don't mention it to anyone until you've already decided to base your finished product on it.
    3. Don't bother finding out if the tools you have can already do the job you're doing now.
    4. Expensive tools are automatically better than cheap tools. This makes it easy to measure fitness-for-purpose.
    5. Even if you only use the tool to simplify very mildly half a line of code that's only used once, incorporating a new tool is still worth it.
    6. Compare the tool by re-implementing some of your existing tasks. Only test the simplest and most trivial scenarios: if it works in a simple case, it's bound to work just as easily in a complex case.
    7. Any inconsistencies with existing standards can be readily overcome by creating a new standard that the new tool fits exactly. Try not to be disheartened by the idea that you've previously been doing everything wrong for years.
    8. Have some like-minded suckers re-implement everything even vaguely related to the new tool from the ground up. The more suddenly you can implement this, the more of an impact it will have - and impact is always cool.
    9. If the re-implemented product turns out to be awful, or if it doesn't do what users want or need it to do, you'll be committed to the new tool by then, so it won't matter. Tell anyone who is critical of the product that it's too late to change it and that they should have raised their concerns earlier - especially if they did.
    10. Stride confidently into your next performance review, knowing that even though you wasted a lot of time and resources to build a product that does slightly less than it used to, you've certainly achieved a lot.

    1. Re:Ten easy steps to HDD by Yvan256 · · Score: 1

      (Score: 5, Sickening)

  27. It depends by Dave+Emami · · Score: 1

    Does "whatever our Microsoft rep wants to sell us" count as "the latest thing"? If so, yeah, been there.

    --

    "The Greens lynched a hacker in Chicago. Last month, but I think the body's still hanging from the old Water Tower."
    1. Re: It depends by cyber-vandal · · Score: 1

      Ha ha that was the first thing I thought when I read the article.

  28. Counterpoint by SuperKendall · · Score: 1

    When Agile works, might it not be because the implementation was NOT actually being agile...

    It's easy enough to build a personal filter that claims all (currently) working projects as "correct" implementations of Agile and claim victory.

    After a lot of experience I personally think that success revolves a lot more around teams than process. Successful teams can usually succeed under a number of different process models, while no amount of "correct" process can save a team that simply doesn't work well together (or with the rest of the company).

    A recent quote I saw on social media sums it up really well for me:

    "Every software methodology attempts to fix the same problem: how to balance the urgent with the important."

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re: Counterpoint by mattpalmer1086 · · Score: 1

      Ironically, saying people matter more than process is pretty much what the Agile manifesto says.

    2. Re: Counterpoint by Entrope · · Score: 1

      Ironically, the Communist Manifesto also says it values the working class people over the elites. In both cases, the hypocritical hyperbole fails in practice.

    3. Re:Counterpoint by Tony+Isaac · · Score: 1

      I completely agree that good teams are key. My experience has been that in waterfall shops, the teams that get things done actually have an agile mindset.

    4. Re:Counterpoint by SuperKendall · · Score: 1

      I also agree with that, which makes me wonder - has there ever been a successful development team that did not deviate from the company standard process - agile or otherwise?

      I would submit that all successful teams do so because they come up with a process that works for them, either discarding bits of the company one that do not work, or going their own way entirely. Perhaps what drags many teams down is the weight of absolute compliance.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
  29. Two issues: methodologies and technology by bradley13 · · Score: 1

    There are two issues here, that need to be separated: Hype about development methodologies and hype about technologies.

    If you have a good team, it doesn't matter what development methodology you use. It doesn't matter whether you have a scrum meeting every morning, or if you coordinate on a napkin over lunch - it's the team quality that matters. The rest is just formality, and provides a useful framework.

    Technologies are more critical. Taking No SQL as an example: there are some very limited use cases where NoSQL makes sense, but there is a reason why 99% of the databases are still relational. Technical folks enjoy learning new technologies, but it doesn't take long to realize that there is no magic cure-all. It's the non-technical managers who get snowed by the marketing crap, and then try to dictate technology to their developers.

    I worked at one mid-sized company that had put invested around 10 person-years in a new SOA application. Everything was looking good, and pretty much on schedule, but we had spent most of those first two years building foundation services that weren't terribly visible; the first GUI components were just emerging. Then the big boss got a visit from some Microsoft marketing weenie: "Wow, look at our new SharePoint - you can do anything with SharePoint". Next day comes a directive from the boss: Throw it all out, we're going with Microsoft. I dunno what planet he was living on, or what the marketing weenie offered him, but it took resignation letters on his desk to make him see sense.

    --
    Enjoy life! This is not a dress rehearsal.
  30. No! by stooo · · Score: 1

    ^Question in the title ?

    The answer is No.

    --
    aaaaaaa
    1. Re:No! by freeze128 · · Score: 1

      ^Incorrect assumption in the title ?

      I'm not a developer, you insensitive clod!

    2. Re: No! by stooo · · Score: 1

      Yes ! There's cloudy and rainy weather ahead !

      --
      aaaaaaa
  31. As a rule of thumb, wait until a new idea by Tablizer · · Score: 4, Interesting

    ...has proven itself for five years. The hard part is convincing executives of the five year rule. Often the benefits only appear in narrow niches or under specific conditions, but it takes a while for the industry to learn when and where.

    Also, a lot "fads" are not directly technology fads, but rather obsessions. About 2 years ago our CIO became obsessed with SEO - Search Engine Optimization (Google hits, more or less), and so all kinds of silly games were played with our Internet content and CMS's, including mass repetition.

    After a while people realized there was too much content to manage and clean up. That CIO moved on and the new CIO is a minimalist. Big change. SEO did nothing but make a mess.

    We were suspicious of it all, but there was nothing we could do at the time but go with the flow. At least bullshit = jobs.

    1. Re:As a rule of thumb, wait until a new idea by stooo · · Score: 1

      >> bullshit = jobs.
      more precisely :
      bullshit -> bullshit jobs.

      --
      aaaaaaa
    2. Re:As a rule of thumb, wait until a new idea by Yvan256 · · Score: 1

      If someone's feeding the bulls, somebody has to clean up the mess.

    3. Re:As a rule of thumb, wait until a new idea by Tablizer · · Score: 1

      Here's some advice, kid: Most jobs are BS jobs. Humans are highly illogical and don't care to factor the world to be efficient, simple, and stable. Dilbert is the Bible of the work world.

      (Begin Rant) Example: I was 4x more efficient with desktop tools of the 90's, and then the web came along which bleeped up the normal flow of applications, and even later when the flow improved somewhat, the "in style" UI's kept changing, and with all the different browser brands and versions, one has to test on roughly 50 different devices or equivalent to make sure it works, and it will still break 2 years later when a new browser version comes out.

      I bet 2/3 of all programmers would be fired if UI standards were done logically and didn't chase fads. Fat clients have failed unless measured as job security. Move the render and layout engines onto servers and let clients be dumb vector plotters so that one is dealing with ONE render engine instead of FIFTY for pete's sake.

      It felt GOOD being productive back in the days: I focused on business (domain) logic and the UI was a minor concern. Now the UI wastes all my time in Fiddleville. It pays the bills but playing UI whack-a-mole gets old. It was more enjoyable to solve real problems instead problems invented by F'd up standards and eye candy fads because the stupid kids have to be re-hip differently every year.

      The GUI standards of the mid 90's were perfectly fine. You fixed what wasn't broke. Familiar menus are gone, replaced with screwy slidy icons that are placed seemingly randomly. If there is a logic to them, one has to take LSD to "see" it. Consistency was shot in the head point blank.

      F U Humans! Give cockroaches a turn, they can't do worse. One should vote Trump to start the world over, not because he's good.

      You don't have to get off my lawn, for it will be raptured soon. The plants will wind up in heaven and the humans in hell because the 11th commandment is Thou Shalt Be Logical; Moses just skipped it because 10 sounded like a nicer number: marketers.

  32. It might be agile, but it's not Agile by raymorris · · Score: 3, Insightful

    > There's nothing preventing you from running an agile project with a robust and complete design.

    A large project with a complete design, an actual plan, may be agile (the adjective), but it's very much not Agile (the development methodology). A core tenet of Agile is that design, planning ahead to the end of a project, is impossible. In fairness, it probably IS impossible, for the people who believe that.

    If they haven't been taught one particular trick, they probably never will be able to know the requirements before they write the code - trial and error really is the only option, if nobody ever told you the method to find out the real requirements.

    If you want to know what the actual requirements are, there's one way to find out (and maybe ONLY one way). Sit down with the user and watch them work. Ask questions as needed to understand their workflow while they actually do it, and take notes. Ask the actual user, not their manager's manager, what they need to do their actual daily tasks. That way, (and probably only that way), your User Stories aren't fictional stories imagined by some manager, they are real descriptions of real users doing real work. Requirements flow directly from there.

    1. Re:It might be agile, but it's not Agile by Puff_Of_Hot_Air · · Score: 1

      A core tenet of Agile is that design, planning ahead to the end of a project, is impossible. In fairness, it probably IS impossible, for the people who believe that.

      I'm so glad you're here as an obvious expert on all things software development process to explain Agile in such detail. It's so comforting to have a real professional help all us struggling dolts see why we've been getting it so wrong! I don't give two shits how you like to run your projects, but maybe you should stick to talking about things you know something about eh?

    2. Re:It might be agile, but it's not Agile by rickb928 · · Score: 1

      We use the Big Room method to gather and settle on project requirements. This is the basis for the design.

      Appropriate review to re prioritize into the simplistic 'must have', 'ought to have', 'would like to have' takes less time than you might expect.

      Then the estimates, systems analysts, and dev team members start estimating the work. Of course, this is where 'would like to have' dies. Those should never get out of Big Room, but hope springs eternal.

      Then the project is timelined, a word never spoken, but that's the process. Dependencies identified, order of development decided, and rough deadlines declared.

      Now it gets sliced into sprints. It is here the sausage gets made, and it's ugly, when 'must have' gets re-ordered to accommodate the available resources...

      And it's already gone to hell at this point.

      We were sold on the agile concept of not planning too far ahead. Sadly, this is sort of like filling your car's gas tank with just enough fuel to get to the next station. Any delay, unexpected conditions, or just a heavy foot leaves you just that short of the next pump. What this means is of course dependent on whether it's a few hundred yards short on a cloudless summer day or a few miles short in the midst of a snowstorm. And whether AAA comes out that far. No, they do not go everywhere there is paved road.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    3. Re:It might be agile, but it's not Agile by rickb928 · · Score: 1

      You may be able to delver the copyright statement in a day.

      The user login process? Maybe the CHA button.

      --
      deleting the extra space after periods so i can stay relevant, yeah.
    4. Re:It might be agile, but it's not Agile by ranton · · Score: 1

      A large project with a complete design, an actual plan, may be agile (the adjective), but it's very much not Agile (the development methodology). A core tenet of Agile is that design, planning ahead to the end of a project, is impossible.

      Absolutely false. Agile project management still allows for and encourages product road maps and release planning, even if more granular tasks are only planned one sprint at a time. The only core tenant is that you cannot know all of your requirements up front, and that you should manage a project so that ongoing changes to requirements are expected and embraced.

      If you want to know what the actual requirements are, there's one way to find out (and maybe ONLY one way). Sit down with the user and watch them work. Ask questions as needed to understand their workflow while they actually do it, and take notes. Ask the actual user, not their manager's manager, what they need to do their actual daily tasks. That way, (and probably only that way), your User Stories aren't fictional stories imagined by some manager, they are real descriptions of real users doing real work. Requirements flow directly from there.

      This only works when the user knows exactly what they want. And what users' want is usually very constrained by their current environment. Try asking a salesman using spreadsheets and Outlook what he wants out of a new CRM implementation and see how far that goes. If you think that is sufficient to get good requirements, you have likely never played a large role in releasing a high quality software product in your life.

      Showing users working demos or better yet working software which is not 100% complete blows your method of gathering requirements out of the water. It is an order of magnitude better. Your method is still good and should be done as well, but it is only a rudimentary early step in gathering requirements.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    5. Re:It might be agile, but it's not Agile by Schnapple · · Score: 1

      You're doing it again - when someone points out the flaws in Agile, you say no that's not really Agile. I reckon Ray Morris has taken courses, read books, and comes to these conclusions.

      I have to say, if Agile is so brittle that not even books and training courses can get it right, then why is anyone using it?

    6. Re:It might be agile, but it's not Agile by Puff_Of_Hot_Air · · Score: 1

      The way you describe what you are doing it sounds like you know what you want at the end of a fairly long time frame, and your doing one set of pretty basic planning and then acting surprised when that plan doesn't give you what you want at the end of the project. This is pretty typical when groups try to transition to an agile development process, and fail as a result. All you've done is throw away your detailed planning and chunked your work up into sprints.

      Try Scaled Agile.

      It's what we currently use and is the best tool-box that I've yet come across. Things like SCRUM etc don't define process at the business level (intentionally), nor do they describe how you plan out a project that's going to take a year or so to deliver. Scaled Agile does, and it's a very useful toolbox for getting the whole show to be agile (which is the end goal for a business as it allows the entire business/activity to adapt quickly to changing conditions, both internal and external). At the very least, it's useful to read (all online), as it demonstrates all the extra bits that you would need to transition fully.

  33. DHH article by BlackPignouf · · Score: 1

    That article from David Heinemeier Hansson wasn't that bad, actually. The title was truncated in the summary to make it more trollish.
    He just said that he doesn't seek 100% unit tests coverage any more, and uses a mixture of unit and system tests.
    It works fine in my experience.

  34. Re: He sounds like an idiot by umghhh · · Score: 1

    That may be correct. The problem is widespread.

  35. Microservices are not hype. by neoshroom · · Score: 1

    Microservices are not hype. Anything that lets you scale your code without having to rethink how you write code and while reducing cost is pretty amazing. If anything, I'd say microservices are underutilized these days, because it is often easier to start a new holistic system and architecture it for microservices than to convert aging systems to use a new model.

    Look at their example:
    Example 3: Microservices
    Step 1: Big monolith application scales hard. There is a point when we can break them down into services. It will be easier to scale in terms of req/sec and easier to scale across multiple teams.
    Step 2: Hype keywords: scalability, loose coupling, monolith.


    Okay...sure. Req/sec and infinite scalability are a great reason to use microservices. Definitely worth having your brand new codebase use a microservice architecture. Whether your older codebase could benefit requires a cost/benefit analysis.

    Step 3: Let’s rewrite all to services! We have a ‘spaghetti code’ because we have a monolith architecture! We need to rewrite everything to microservices!

    You need a Step 2.5 with a cost/benefit analysis. How much time will it take to convert the code base? Do we really care about scaling to infinity? Where do we think we actually need to scale to in practice and how much benefit will we see from the architecture change? Etc...

    Step 4: Shit! It is now way slower to develop the app, difficult to deploy and we spend a lot of time tracking bugs across multiple systems.

    This step is kind of just wrong. Once converted most microarchitectures are actually faster to develop for if you've done things right, because you don't have to worry as much about scaling. The first question they ask you as a developer in your first job interview as a developer is probably about Big-O and time complexity. However, this has always mattered more for server-side operations than for client-side operations. If a server does something 1000 times slightly inefficiently, that inefficiency ads up. If an iPhone does something 1 times slightly inefficiently, it likely matters a lot less. In a microarchitecture model, the server is more like the client in the previous example, as each individual instance spawns and does its thing 1 time. Big-O still matters, but not as much.

    Beyond this, problems deploying and problems tracking bugs across multiple systems likely have little to do with the microarchitecture itself. In my experience, microarchitectures can be as easy and are often easier to deploy than existing physical-hardware-based systems. For example, if you have many servers or many shards to deploy to, you may only have one deploy point in a microarchitecture or one production and one integration deploy point instead of a system of many servers. It's often easier!

    Step 5: Microservices require a lot of devops skills in the team and with right investment might pay off as a way to scale the system and team. Before you reach serious scale issues it’s an overinvestment. Microservices are extracted not written. You must be this tall to use microservices.

    Any new thing requires some learning or skill.

    "Before you reach serious scale issues it’s an overinvestment." That sentence is wrong though. When you have no code yet it is often a great choice to use a microservice-based architecture, requires very little investment and can both save money and allow easy scaling. When you have existing code, but scaling and cost are huge priorities, it often is a smart investment of time. It's only in the middle stages where you have a large code-base you have to convert and don't actually need the scaling where it could be an overinvestment.

    --
    Big apple, new Yorik, undig it, something's unrotting in Edenmark.
    1. Re:Microservices are not hype. by WaffleMonster · · Score: 1

      Microservices are not hype. Anything that lets you scale your code without having to rethink how you write code and while reducing cost is pretty amazing.

      It's fucking magic is what it is. It isn't a real concept and only works for trivially scalable problems that could easily be addressed in any number of ways.

      If anything, I'd say microservices are underutilized these days, because it is often easier to start a new holistic system and architecture it for microservices than to convert aging systems to use a new model.

      Fundamentally "service" approach is ass-backwards. The only thing that actually matters is structure of underlying data. All of these "services" build on top of data are worthless and expendable from a systems perspective. Data is almost always the controlling factor not services on top.

      This step is kind of just wrong. Once converted most microarchitectures are actually faster to develop for if you've done things right, because you don't have to worry as much about scaling. The first question they ask you as a developer in your first job interview as a developer is probably about Big-O and time complexity. However, this has always mattered more for server-side operations than for client-side operations. If a server does something 1000 times slightly inefficiently, that inefficiency ads up. If an iPhone does something

      If you have a CPU bound "Service" you just spin up more cores or machines and your trivial scaling problem is trivially solved big whoop. In the real world many people don't have this luxury because their systems are NOT CPU BOUND. The only way to scale non-trivially scaled problems is through hard work and superior design... NOT more buzzword bingo.

    2. Re:Microservices are not hype. by neoshroom · · Score: 1

      Microservices are not hype.

      [Giant explanation snipped]

      This is what hype looks like.

      So hype looks like logically explained belief-justification? Or maybe you have it reversed and hype is represented by unjustified, unexplained statements, such as "This is what hype looks like"?

      --
      Big apple, new Yorik, undig it, something's unrotting in Edenmark.
    3. Re:Microservices are not hype. by neoshroom · · Score: 1

      It (microservices) almost certainly is hype. It reminds me of the worst of SAAS, object orientation, web API systems and a hundred others.

      1). It only works "if you do it right", and "doing it right" turns out to be unachievable for most adopters;

      Doing it right really isn't that difficult. These days for some architectures there are only 10 or so lines of code difference between a microservice model and a locally hosted model. The problems the person in the article hit were because they were trying to convert an existing system. It is very achievable for new adopters.

      --
      Big apple, new Yorik, undig it, something's unrotting in Edenmark.
    4. Re:Microservices are not hype. by neoshroom · · Score: 1

      I agree, it's fucking magic. :)

      --
      Big apple, new Yorik, undig it, something's unrotting in Edenmark.
  36. Re: He sounds like an idiot by locofungus · · Score: 4, Insightful

    Many programmers refuse to open the Pandora's box and they stick to a tool, paradigm or coding style they know even though its not the best thing to solve the problem at hand.

    Precisely the OP's point.

    That's a typical trait of a junior developer, or an experienced developer who has worked solo for most of they're career.

    I disagree.

    The experienced developer has been chopping down trees for years with an axe. He's been putting up shelves with a drill. he's been cutting floorboards with a circular saw. And occasionally he's been cursing because he's having to make do with the wrong tool because although he knows what the right tool is, paying $lots for a tool he will use just once can't be justified.

    Alongside that there are countless (less experienced) developers suggesting that he uses the circular saw to cut down the tree, the axe to put up the shelf, the drill to cut the floorboard and the experienced developer isn't particularly impressed.

    But in the back of his mind he's always got that thought "what if that next tool is the chainsaw. " Just think how many trees I could cut down then. But even when the chainsaw comes along, he continues to use the circular saw on the floorboards, the drill for the shelves and, indeed, he may even still use the axe from time to time.

    --
    God said, "div D = rho, div B = 0, curl E = -@B/@t, curl H = J + @D/@t," and there was light.
  37. And flat look [Re:Infinite web pages] by Tablizer · · Score: 5, Insightful

    I agree. I cannot wait for that fad to die an ugly painful death. Make the pages longer, that's fine. But not infinity.

    I hear it causes ADA lawsuits. I hope so, sue 'em hard!

    Similar annoyance points for the "flat" look. You cannot even tell a button is a button, and entry box boundaries are washed out. Shade the fsckers, people! It's not 1989.

    1. Re:And flat look [Re:Infinite web pages] by justthinkit · · Score: 1

      When Microsoft switched to web-based navigation for Windows, I thought "Idiots! But luckily no one else will be this stupid".

      At that time I was working with SBT accounting systems, that ran Foxbase or FoxPro on dBase files. We already had the joy of different runtimes for different clients but then came web-navigation-based installers. Even better, the installers only worked on certain version of Internet Explorer/Windows. Fortunately I forget the details, but finding a way to make your latest product UNinstallable was a pretty spectacular example of the lunacy of jumping on the latest fad.

      --
      I come here for the love
    2. Re:And flat look [Re:Infinite web pages] by mrchaotica · · Score: 1

      Similar annoyance points for the "flat" look. You cannot even tell a button is a button, and entry box boundaries are washed out. Shade the fsckers, people! It's not 1989.

      Well that's the problem, isn't it? In 1989, UIs were designed so that it was easy to tell which controls were what.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    3. Re:And flat look [Re:Infinite web pages] by Luthair · · Score: 1

      Do you have trouble with the buttons on your microwave? ;) I think you're confusing flat which just means no illusions of raised edges with some bullshit styling.

    4. Re:And flat look [Re:Infinite web pages] by Tablizer · · Score: 1

      In 1989, UIs were designed so that it was easy to tell which controls were what.

      They were standardized in that every button looked a certain way, every input box looked a certain way, etc. Even without shading, that's good enough to indicate to the eye what is what after a short learning curve.

      I suppose IF the flat look were standardized, then it wouldn't be as annoying, but every web "designer" has to be a Picasso and make theirs "special". It's all flat and all differently flat.

      Aesthetically, all-flat is also boring, in my opinion. I bet in a year or two everyone will get tired of it also and shading will come back; but in what shape or style, who knows. Maybe buttons will look like plush pillows with fabric; that hasn't been used before en-mass. Should I pre-patent the Cushion UI to profit off it?

    5. Re:And flat look [Re:Infinite web pages] by mrchaotica · · Score: 1

      Maybe the post I was replying to was. Flat isn't necessarily a problem, but having no borders at all could be. This goes double for the computer-illiterate: without the borders and shading mimicking physical controls, buttons are becoming increasingly abstract and thus ever more difficult to recognize as being clickable, especially for people who didn't learn the analogy back in the "beveled-edge pseudo-3D" day.

      My only point was that (contrary to the previous poster's implication that 1989 was some kind of primitive age), UIs from back then were actually pretty usable because they were designed by UX engineers instead of graphic artists. Sure, they were ugly, but at least you could tell what was a button and what wasn't.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    6. Re:And flat look [Re:Infinite web pages] by doom · · Score: 1

      Flat isn't necessarily a problem, but having no borders at all could be.

      I'm not gonna argue about that one. I insist on using a light-on-dark color scheme myself, and half of the time those clevely designed buttons are literally invisible. I often make a guess that there's something to click on in a blank space that I see, and just try it experimentally.

    7. Re:And flat look [Re:Infinite web pages] by Tablizer · · Score: 1

      I think the tile look is cool myself. However, it's often not practical. For one, you have to play Tetris-like games to shift stuff around as things change.

      It's probably one of the few times I may not care if it's a maintenance headache JUST to get eye candy. I'm human also: eye-candy sometimes snags me up just like anybody else.

      However, I would try to point that out the maintenance "tax" to the customer/management. If they want form over function, it's their call.

    8. Re:And flat look [Re:Infinite web pages] by Hognoxious · · Score: 1

      Back in the dial-up days you could access the web (or some of it) through AOL's own app. It looked like an upholstered cushion to me.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  38. Only until I was told the secret by raymorris · · Score: 1

    > I wager that on every single waterfall project you have worked on, there have been numerous change requests after the project was supposed to be "done." If it was a big project, I wager there were many change requests. In other words, the original requirements turned out to be fiction

    That was true until someone told me the secret to finding out what the REAL requirements are. Once someone told me the secret, I learned the requirements ahead of time and took notes of what they were.

    If you want to know what the actual requirements are, there's one way to find out (and maybe ONLY one way). Sit down with the user and watch them work. Ask questions as needed to understand their workflow while they actually do it, and take notes. Ask the actual user, not their manager's manager, about what they need to do their actual daily tasks - while you watch them actually do it.

    > only that the details can't be fully known up front.

    If you're putting the details into your foundational core, if the design of the system as a whole is based on on the detail of some task, you're doing it wrong. Yes details change. It's best to do the details last, as much as possible, because even if you did know them, they'd change. And you know what? The finest level of detail that exists is executable code. Agile does code (detail) first, with the big picture (the design) as an accidental artificact seen only in retrospect. If you really recognize that details, things will change, wtf would you do the details, the code, FIRST?

    The opposite idea is that because details change, you design an overall system, and architecture, then sketch the major modules within the system and when the plans for the major modules are validated, THEN you do the details, the executable code, LAST, after multiple rounds of validation. That way you not only have a better chance of getting the details right the first time, but as details change modules can be changed - the overall system, the architecture, isn't dependent on the details of any particular function. When some function needs to change, you just swap it out, plugging in the new version.

    On the other hand, with the Agile concept of releasing executables within a few weeks, and releasing the bare minimum viable product, you start with code for important functions, then spend three years piling stuff on top of the *functional* code, rather than building the *system* first and plugging functuonal modules into the (designed) system. When the functions of your early Agile code needs to be changed, you're fucked because you've piled years of work on top of the feature.

    1. Re:Only until I was told the secret by unimacs · · Score: 1

      I run a small IT department but spent most of my years as a programmer. We have two major development projects in progress right now. Believe it or not, one is a mostly agile project and another is mostly waterfall. The agile project is targeted to be completed at the beginning of the year and the waterfall by end of 1st quarter.

      Right now, I expect that both will be successful. Oh, and the agile project is adding significant new functionality for an organization we are merging with. It's being built on an 8 year old codebase that started its life as an agile project and has always been run that way. The business function it supports is constantly changing and evolving. Using the waterfall method to build that software simply wouldn't have worked. We were launching a brand new service. The users were as brand new to the service as we were. We worked with them closely. They certainly had ideas about what the software should do and how it should support them. But they were ideas that needed to be validated.

      The system that resulted has supported the business well, but yes parts have needed to be redesigned. Not sure that could have been avoided with the waterfall method.

      Good practice is good practice and no methodology should be used as an excuse to avoid doing them. That's where things go wrong. "Agile" doesn't mean there's no design, and "waterfall" doesn't mean you disappear for two years while you build the software.

      My personal belief is that certain projects and teams lend themselves more to one approach than the other. "Agile" is only hype in the sense that it's sometimes used where it's not a good fit. But to deny that lots of organizations have had success with it is just sticking your head in the sand.

  39. It is a long list by LordHighExecutioner · · Score: 1

    Windows, Linux, C++, python, agile, scrum, ....
    Every new technology raises hopes, PHBs make plans, and then technical people are left into the mud, and have to help themselves.
    Strangely, this did not happen when we coded in FORTRAN IV, but for sure it wasn't the language that was up to expectations, we just had few PHBs, all of them had a *sound* technical background, and there was no internet trumpeting every minute a new technology that solves everything real now, soon.

    1. Re:It is a long list by david_thornley · · Score: 1

      All of the new technologies you mention are useful, some very useful. None are panaceas.

      Also, I've seen what happens when physicists write FORTRAN IV. It isn't pretty. Or robust or maintainable. It tended to be scalable in that the physicists could ask for more computrons.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  40. Re:He sounds like an idiot by Hognoxious · · Score: 2

    You ask on stackoverflow, of course. *eyeroll*

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  41. Re: He sounds like an idiot by dbIII · · Score: 2

    It depends on if it really matters. A little script to pop up a box and let the user choose from a list of environment variables before running an application could be done properly with python or it could be done in a couple of lines using zenity in the bash shell. Sometimes using that circular saw is pretty damn quick if the tree is small enough that it doesn't matter.
    That's why planning is important and choosing the technique before taking a major step is the way to get that experience. Solving toy problems or making small changes can be done with just about anything so that's not the way to start using the right tool for the job.

  42. Re: He sounds like an idiot by fisted · · Score: 1

    Well said.

  43. Re:Agile is good for some teams & projects, ho by Puff_Of_Hot_Air · · Score: 1

    Central to Agile is the proposition that the company is unable or unwilling to figure out what the requirements are before they develop the system.

    Garbage, you simply show your ignorance. You know what? Agile is a meaningless term, you have some kind of image in your head of what it is (maybe informed by some group of idiots claiming to do it), and hence you can build this lovely strawman to set fire to. Here is the agile manifesto:

    - Individuals and interactions over processes and tools

    - Working software over comprehensive documentation

    - Customer collaboration over contract negotiation

    - Responding to change over following a plan

    That is, while there is value in the items on the right, we value the items on the left more.

    No mention of not bothering with requirements, only that the emphasis when creating your processes is on the ability to respond to change. On any project that lasts more than a few months, that just sounds like damned smart idea. "No no! We must continue to follow this plan from a year ago, even though it no longer makes any sense in the current market!" Been there, done that, have the t-shirt. (You always get a t-shirt, no matter how big a balls-up it was).

  44. Iphone app by econnor · · Score: 1

    I was once instructed to make an iphone app that would display content from an existing website.

    1. Re:Iphone app by Yvan256 · · Score: 1

      Step 1. Make sure your have the proper "apple favicons" and metas. Use http://realfavicongenerator.ne... to complete 99% of the job.
      Step 2. Show the employees how to "bookmark" a website.
      Step 3. Profit!

    2. Re:Iphone app by econnor · · Score: 1

      I did show them how to make a bookmarky launcher. And explained that a niche, geographically localised product that nobody was prepared to pay more than £2.99 for wasn't really going to wash its face. "Just do it." But hey, at least they allowed themselves to be persuaded that storing the content on the device and syncing every 6 months wasn't the way to go. Which was pretty much what the big ticket developers who had jumped from Palm etc were trying to sell. If I'd had my wits about me I'd have spouted some magical words ("responsive design" would have done it) instead to waffling on about stylesheets and web servers.

  45. Re: He sounds like an idiot by Anonymous Coward · · Score: 1

    There are golden tools which appear valuable but bend and break. There are bronze tools which make for lots of work and reflect poorly. There are also steel tools which work well and do the job. Unfortunately, there is no scientific deliberation in our community towards which tools are made of which alloy.

  46. Re: He sounds like an idiot by AmiMoJo · · Score: 3, Insightful

    Reading Slashdot comments it seems that many seasoned developers are dismissive of some pretty good new tech, even after it's been around for much longer than 5 years.

    C# is a great example. I'm a hard core C coder who mostly works on embedded systems, but when I need to do anything desktop I always consider C#. It might not be the most efficient language, but it's performance is perfectly adequate for a huge number of tasks, it has libraries that simplify most day-to-day stuff greatly and lets you concentrate on structure and architecture instead of details.

    People around here often dismiss it because of the association with .NET (which itself is far from terrible) and the fact that it hides a lot of the "real CS" stuff, but that's the point of it.

    Save the hate for stuff that deserves it, like Javascript.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  47. Boss's mistress + Agile by thesjaakspoiler · · Score: 1

    The boss's mistress was on our dev team of our +120 employee Japanese company. And then can Agile around. She didn't like it because it became so clear she was totally incapable and the team was always covering for her. But all it took was 1 complaint from her to have our boss storm into the office, yelling that his mistress would from now on would have to approve such changes. Needless to say, that wasn't a success either because suddenly everything needed her approval. We lost all our clients and most our top engineers within months. Within 7 months the company went bankrupt. That was after the mistress was quickly reassigned a new position somewhere else in the holding company.

  48. All this has happened before, and it will (etc) by itsdapead · · Score: 2

    Wow, ExtJS brought all development to a complete multi year halt. In the first few months ExtJS development is way way way faster than any other framework out there. But after about 6 months all you are doing is fighting with the framework

    This is the good old "Rapid Application Development" myth that has been doing the rounds since before many of today's trendy agile NoSQL programmers and the PHBs who encourage them were born. Even with things like Microsoft Foundation Classes and Borland's OWL that were used to create substantial apps, the initial drag-n-drool honeymoon didn't last very long. Then when Multimedia came along there were more "authoring systems" than applications created using authoring systems, and they were all great until you hit the brick wall that the designers had never anticipated, and ended up re-writing from scratch.

    "Ooh look, I can create a fully-functioning GUI app by clicking 3 buttons and writing 1 line of code... this is going to save weeks of development"

    Six months later: "Ooh, look - I'm wading through the sparsely-commented source code of the framework trying to figure out why I can't get the 'print' method to do anything beyond the trivial case given in the sample project... what's this? '/// TODO - implement print function'...?" (Its too long ago for me to remember the details so I won't name the application framework in question).

    Turns out that a couple of days writing the "boilerplate" code for your application paid dividends further down the line...

    First example I remember was this: The Last One - yes folks, the last computer program that would ever need to be written, heralded by magazine articles predicting mass unemployment of programmers... but I'll bet you an internet that Ada Lovelace had some brilliant ideas for making the Analytical Engine take all the hard work out of programming...

    Put simply: we all know that the last 10% of development takes 90% of the time. RAD tools eliminate the first 10% of the development thus ensuring that the last 10% takes 100% of the time.

    --
    In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    1. Re:All this has happened before, and it will (etc) by Z00L00K · · Score: 1

      Another thing - don't let someone go crazy with Enterprise Architect, it never ends well. It's good if you have a small solution but when stuff grows to a large system you waste too much time maintaining your model and too little on trying to solve the problems you have.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  49. Re: He sounds like an idiot by Dog-Cow · · Score: 3, Insightful

    People around here hate C# (those that do) because it's from MS. When it comes to MS, there are no technical merits that can redeem the technology. They are not rational people. Most of them probably don't even program for a living.

  50. Java EE 6 by Craig+Ringer · · Score: 1

    I tried to use Java EE 6. When it was new. Using CDI and JSF2 and JPA2.

    So. Buggy.

    It was (is?) a pile of half-broken components that talked to each other over mostly-broken interfaces. Work around a bug, hit another bug. Work around that, hit a design oversight. All those portable APIs you're supposed to implement stuff against only actually work if you only use one implementation, if you try to actually run on both Glassfish and JBoss AS 7 for example, you're going to suffer unless your app is a toy or you do LOTS of testing.

    For example... criteria queries? Kaboom, Hibernate and EclipseLink disagree on a lot of details. Subtly. Also, you have to drill down into the provider layer to get any influence over fetch control, so I hope you like N+1 SELECTs or monstrously inefficient chained left joins of data you didn't want anyway.

    It was so awful I'm glad to be coding in C instead now.

  51. Re: He sounds like an idiot by AmiMoJo · · Score: 2

    FWIW I often compile with Mono because I like my tools to be cross-platform. I find that compatibility between .NET and Mono is excellent anyway.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  52. Re: Agile is good for some teams & projects, h by Entrope · · Score: 1

    Meanwhile, those of us who have more than a year of experience know that "waterfall" and "agile" are not the only process choices in the universe, we know how to plan for unknowns, and -- unlike agile -- we actually deliver reasonably finished products.

    Trying to fit everything into single sprints is a recipe for code bugs and architectural rework. Making a toy version a higher priority than an appropriate amount of analysis and high-level design is a recipe for design errors and technical debt.

  53. Re: Agile is good for some teams & projects, h by Entrope · · Score: 1

    Zed A. Shaw pithily translated what Agilistas really mean when they claim to value those things.

    Not that I endorse the idea of just "doing programming" as an alternative to understanding the project's needs, the team's capabilities, and using a process that fits both.

  54. Re:Python? Zenity? by dbIII · · Score: 2

    Tcl/Tk

    Yes it's as good as you would Expect and is the proper way to do an involved script GUI interface.
    However sometimes a couple of lines of bash using zenity does the job and is pretty obvious to anyone who has to alter it later.

  55. Re:Agile is good for some teams & projects, ho by gatkinso · · Score: 1

    "pivot" == "we fucked up, start over"

    --
    I am very small, utmostly microscopic.
  56. Hypsters by tigersha · · Score: 1

    That is why we old-timers call them hypsters

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  57. I see this all the time... by Anonymous Coward · · Score: 1

    I see developers using tons of third party libraries for no real reason. For example, one guy at a previous job wasn't liking the ability to use Oracle, which was the core database, so he had an instance of another RDBMS running as part of his codebase. Of course, this fucked things up royally come production and why some container files in a directory used for config files kept filling up.

    Then, there is the fact that the more libraries you have, the more stuff breaks when a prerequisite gets updated. So the developer's crap who has a ton of garbage as a dependency is the stuff that breaks.

    Want to know prerequisite hell? Run Katello. That is a program that is at best a house of cards.

  58. Silver Bullets by CanadianMacFan · · Score: 1

    I was in a shop that loved silver bullets. The fact that none of them worked should have clued management into the fact that silver bullets don't work. But they tried kept adding different things to their development environment such as new tools and methodologies such as Agile. And everything had to be Java. Doesn't matter that the existing application was working fine, and had been for years, it was going to get converted. They were even going to convert formmail.pl (it's been a while but I think that's the executable's name for Form Mail) into Java because they were a Java shop. They drank the Kool-Aid deep there.

  59. Re: He sounds like an idiot by Anonymous Coward · · Score: 1

    I loved C# when I used it. We even used open source tools to build, test and deploy. It is/was a strong language. My issues were with being locked into the gac, IIS, etc.

  60. Team? No. Me? Yes, but I have also avoided hype. by Qbertino · · Score: 1

    Good teams usually mitigate the hype effect, because they are diverse in setup and bring along multiple perspectives.

    I myself have fallen for hype a few times, as I guess we all have. I remember using Cake 1.2 beta, because "New Features!". ... Bad idea. Blew up in our face twice a week and delayed the project way too much. even discouraged from the core team. Typo3 was more of a local hype of German-speaking countries, but following that a little bit was more of a neccesity than hype.

    I clearly remember consciously avoiding Ruby on Rails and smelling the hype from 10 miles away. Looking at how things turned out I'm glad I did. I have the habit of pondering for years about some new tool or toolkit. By then what to expect and what not has usually played out. Roughly once every 5 years I make a larger technology decision, and then only after having weighed the odds for and against it.

    I'm currently doing this for Node & serverside JS vis-a-vis LAMP, my current breadmaker technology. I'm toying with the thought of moving to NodeJS and ditching LAMP, but I'm still not sure about it. ... We'll see.

    --
    We suffer more in our imagination than in reality. - Seneca
  61. Re:Agile is good for some teams & projects, ho by Tony+Isaac · · Score: 1

    We agree about the importance of well-designed code. Poorly designed code hampers agile development as much as it does waterfall development.

    My comments were about the requirements. Waterfall pretends to know the requirements up front, but then has to follow the project with a series of change orders. This happens because users often don't really know what they want until they see something in action. "Yes, this is good, but..." Because the change requests can't happen until the project is complete, they are relatively expensive to implement, especially if the changes affect the underlying architecture.

    Agile assumes that these change requests will happen, and focuses on reducing the cost of the change requests. By getting software into the hands of "customers" very early in the process, these changes are found much earlier in the process, when it's relatively cheap to change the architecture, if needed.

    There is a reason that waterfall timelines are measured in quarters or years, while agile timelines are typically measured in terms of days or weeks.

    There is no inherent quality difference between Agile and Waterfall, in my experience. The difference is in how the project is broken down into small pieces, and in what order those pieces are carried out.

  62. Re:Agile is good for some teams & projects, ho by Tony+Isaac · · Score: 2

    Exactly! So when waterfall tries to nail down the details up front, it does itself a disservice. Users find out months later that those nailed-down details don't quite work for them, and now you have to go back and re-engineer your project. With Agile, you find out much earlier in the process that the details weren't right.

  63. yes by buddyglass · · Score: 1

    I work for a company that makes apps. We rushed to release an Apple Watch extension as quickly as possible after the Watch's release, for the sole reason that we wanted to be able to issue press releases about how we support Apple Watch and are super-innovative while our competitors are not. Nobody thought it would drive sales from a feature perspective, except insofar as it could create the perception that we're "cutting edge" and "innovative". Never mind the fact that our Watch implementation was extremely crappy; we got mentioned in a NYT article for being "first".

  64. Re:Agile is good for some teams & projects, ho by arth1 · · Score: 1

    ALL projects benefit from measuring the outcomes of small, incremental changes

    Not all. You can't jump a chasm in several small jumps.

    and continually finding and limiting waste

    No process I can think of accumulates more waste than Agile, with half-written features that went nowhere, hooks for removed features, and features that belong together chopped up into ineffective pieces with extra interfacing in order to get one piece done in a sprint. It begets bloat, but that isn't necessarily a problem that dooms it. It may still be preferable to having nothing that works as release nears.

    But a good example of where Agile just doesn't work are projects with outside limits in the specs. They could be IO limits, CPU limits, response time limits, or otherwise. As a project starts, everything is comfortably within all limits, and they aren't given full attention, because whatever else comes down the line isn't fully known. But as the project moves on, the limits no longer are far off uncertainties, and reality hits hard. Good portions of code already written has to be scrapped and new algorithms made, because if you have already used up 100% of the available IO and response time when the project is half-done, tweaking isn't going to solve it. What management sees is that the Agile team committed to doing a job within the constraints, and can't deliver.

    Yes, continually finding and eliminating waste is important. But refactoring code isn't the major part.
    Waste is often personified, and being able to get rid of people (including ineffective managers) can be far more fruitful than trimming unused elements from a struct.

  65. All the time, pal by OneHundredAndTen · · Score: 1

    This industry is nothing but a succession of fads.

  66. *cough* Scala *Cough* by Foofoobar · · Score: 1

    Um... Ruby? Scala? Swift? No... never happens. Never.

    --
    This is my sig. There are many like it but this one is mine.
  67. Re: He sounds like an idiot by 110010001000 · · Score: 2

    There is a reason to hate C#. It is effectively controlled by a single corporation. Don't give us bullshit about it is "standard" or "open". It isn't. It is Microsoft. It doesn't matter if it is Microsoft or Google or Sun or Apple or whatever, it is still controlled by a single corporation. C++ is open and standard.

  68. Re: He sounds like an idiot by locofungus · · Score: 1

    Reading Slashdot comments it seems that many seasoned developers are dismissive of some pretty good new tech, even after it's been around for much longer than 5 years.

    C# is a great example.

    Lets assume that C# is, indeed, better than sliced bread.

    However, in a linux shop with no C# development at all, no infrastructure to support it (mono?) and nobody who is knowledgeable in the tools, config, support, failure modes or problems, is it wise to "jump ship" from whatever technology is working currently?

    I'm not saying it's definitely wrong but, changing to use C# isn't an "agile" thing. One developer who knows about it and can support it on his own desktop, can probably make it work - but can he make it work across the company more cost effectively than not adopting it? It's a business case that needs to be made.

    And if that evangelist decides to leave after nine months because getting a company to adopt a "new improved" language turns out to be bloody hard work, will the company be able to continue with the investment so far or will it decide to go back to the tried and tested?

    --
    God said, "div D = rho, div B = 0, curl E = -@B/@t, curl H = J + @D/@t," and there was light.
  69. Re: He sounds like an idiot by Gr8Apes · · Score: 2

    People that don't like C# (like me) don't like it for a number of reasons starting with lock-in, sub-standard libraries if you're wanting to be cross-platform, etc. C# was a reworked clone of Java after MS-Java was found infringing. The CLR is interesting, but is a fundamentally different solution than the VM approach used by the JVM. It solves the many languages running on Windows problem, not the run language X consistently across multiple architectures and OS problem. Hence the lock-in issue, because if I'm going to run on Linux, I'll use Java, not C#, as C# offers me nothing compelling to use it on various flavors of Linux, BSD, OSX, OS400, etc. And no, Mono isn't good enough and EF (ORM) isn't a reason either.

    --
    The cesspool just got a check and balance.
  70. Re:Agile is good for some teams & projects, ho by mrchaotica · · Score: 1

    Sure, there are occasionally the huge changes that some customer decided they couldn't live without, but those types of changes hurt agile shops too.

    But usually not as much, because with shorter development cycles the customer has the opportunity to realize they need the changes earlier.

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  71. Re: He sounds like an idiot by AmiMoJo · · Score: 1

    I'm more pragmatic. It gets the job done, if it compiles with Mono today it will compile with Mono tomorrow even if Microsoft decides to change something and make it proprietary.

    If I'm writing a tool to do X today, how exactly do you think Microsoft will use their control of the language to cause me problems later? I can only imagine fairly outlandish scenarios.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  72. Re: He sounds like an idiot by Gr8Apes · · Score: 2

    I dislike C#. I have programmed with it, C++, and C as well, even relatively recently. For my particular purposes, C/C++ wound up being far better languages to code the system I needed (on Server 2012) than C#. I needed system calls that required calls into the Win32 subsystem directly, and if I need to write a library in C anyways and call it via a lightweight PInvoke wrapper, why not just write the entire thing in C and skip the extra complexity, overhead, and debugging headaches?

    --
    The cesspool just got a check and balance.
  73. Re:Agile is good for some teams & projects, ho by Chris+Mattern · · Score: 1

    As Yogi Beara said, "if you don't know where you're going, you not get there."

    Sounds a lot like something Yogi Berra said, "If you don't know where you're going, you'll probably end up somewhere else"

  74. Ever since the 1970s by hughbar · · Score: 1

    I started in the industry in about 1976, can't remember exactly, too old.

    However, ever since my entry (and probably before) the whole industry has been trend and hype driven. Death of goto and spaghetti (haha alive and well), thin clients (no alternative when there were just VT100s), then thick clients (PC), then thinnish clients (PCs without a lot of power), HIPO (instead of flowcharts), various design methods (Jackson, structured etc), waterfall , spiral, pair, agile, peer, client-server, objects-bad (things that modelled data and code in the same 'space' considered bad), objects-good, object-Stalinism (everything is an object, if you really push on it), functional and we're about up to 'now'.

    Then, of course, succession of languages, Cobol, PL/1, Filetab, C, C++, Python, Perl, Ruby, Javascript and now frameworks, Ruby on Rails being the frothiest in living memory. Not forgetting Codasyl, Relational, NoSQL and Graph (Neo4j etc.) until the next thing.

    An optimistic view would be that all this is 'progress', but (call me old and cynical, I am) one can make a mess with any methodology, architecture, framework, and language, however ancient, however modern. That said, I'm against most of the agile school because I constantly see quickly added, ill-considered, unnecessary, architecture challenging, and undocumented features being added because "we're in a sprint", this is the current version of 'make a mess faster'.

    --
    On y va, qui mal y pense!
    1. Re:Ever since the 1970s by plopez · · Score: 1

      I was going to post that I have never seen a project that wasn't fad driven.

      --
      putting the 'B' in LGBTQ+
  75. Yes. Android MVP by cloud.pt · · Score: 1

    As I once stated in a comment around here, I have seen loads of over-engineering hours wasted by Android dev teams trying to fit a square peg to a round hole: many a times MVP/MVC or other "responsibility containment" patterns refactoring hours are applied to existing, super complex activities that will never be reused; other times applied to super sort activities that need no testing. This cuts 2 of the more relevant benefits of refactoring (testing and reuse). I see technical debt tasks so often, just for the sake of "patternizing" things, without a clear long-term goal (or even a problem to begin with), save for cargo cult programming - 10-file activity modules with 10 LOCs each, when the same could be achieved with 2 or 3 class/interface files providing readable and conceptualizable code still keeping the same testability and re-usability. Even starting something from scratch is no excuse to make it "standardized" - you start with the basics, and when you find reuse/testing/containment problems, you decide to change to a complex approach.

    And this is for Android: an already complex, well engineered API that intrinsically forces you to separate responsibilities, and is a reuse/testing heaven. I like most of the SDK and it does look clean. This is so because it provides thousands of official and community documentation pages. You don't see that code and doc quality from small teams that define set standards and work on a fraction of Google's budget (read: more man-month AND more punch per "man"). All in all, most benefits of advanced software engineering are lost, in practice, when applied by small software houses. This is why I believe that even though patterns have a purpose, its benefits are tightly coupled with good judgement of its usage. Over-engineering is a serious disease in the industry.

    1. Re:Yes. Android MVP by JustAnotherOldGuy · · Score: 1

      many a times MVP/MVC or other "responsibility containment" patterns refactoring hours are applied to existing, super complex activities that will never be reused;/quote>

      I've always thought MVC to be one of the most inefficient and impractical ways to do nearly anything. Yeah, there are probably cases where it makes sense, I've just never seen one in the real world. Everything is spread out over multiple files and code blocks and controllers. Echhh. Making a minor change seems to involve a lot of work, and larger changes are ugly, time-consuming, and frustrating.

      Years ago I worked with a group that was doing a simple calendar and booking application using the MVC paradigm...it was a multi-month long goat fuck. Changes rippled back and forth and broke stuff on a regular basis. These were competent programmers and they were told by the Powers That Be that the MVC framework would provide all sorts of advantages. In reality, it didn't.

      The programmers finally said "screw it" and developed it using more traditional methods...it was done in a few weeks, and it worked.

      Like I said, there are almost certainly cases where MVC makes perfect sense, I've just never seen one myself.

      --
      Just cruising through this digital world at 33 1/3 rpm...
  76. Re: He sounds like an idiot by nine-times · · Score: 2

    People around here hate C# (those that do) because it's from MS. When it comes to MS, there are no technical merits that can redeem the technology. They are not rational people.

    The complaints I've heard didn't generally sound so irrational. I thought the consensus was "It seems like a good language, but still most useful in building things for Windows. Maybe that will change as the cross-platform stuff improves, but for now, I'll stick with [whatever language they're using]." Admittedly, I'm not a real programmer and only get a sense for what programmers think from this site.

  77. Re: He sounds like an idiot by plopez · · Score: 1

    In my experience most developers seem to be emotional and illogical. They have deeply ingrained beliefs; sometimes that the legacy tech is the best and sometimes that the latest new thing is the best, and they will not reassess their position regardless of real world evidence. Personally I try to keep an open mind and use the tools I am given.

    --
    putting the 'B' in LGBTQ+
  78. the one true roundness by epine · · Score: 1

    By all accounts Donald Knuth—almost all by himself—ran circles around the Agile team (this was a full two decades before the first glint in eye of the Agile Manifesto) and yet the world has not adopted Literate Programming.

    Suppose I were to acquire an Agile development shop, one with a track record of making their chosen process work. Then, surely, a year later, I could write the following:

    The Agile team struggled to switch to Literate, but not yet successfully. It's not easy to do, and the transition is often done poorly. Then, the Agile believers point to the failed transition and use it as evidence that Literate does not work.

    Literate definitely works better than Agile in the 0.001% of the programmer population—to offer up a perhaps hopelessly optimistic estimate—who are a) brilliant mathematicians, and b) semi-brilliant architects, and c) brilliant expositors, and d) know the algorithmic literature inside out.

    Agile works well when the glove fits the talent (it would not have worked well for Knuth).

    This is not new. Many other gloves have demonstrated the same success model. What every workable model has in common: hire the best people, and then create a culture where the best people can most effectively drag the rest along.

    The other way this plays out is that a sub-group of programmers who are a little better at politics (and a lot noisier) agitate toward their particular approach to life being flattered by the best-fitting glove. Then, instead of people being judged by where their talents are the best fit, the story becomes square programmer fails to fit round hole.

    Agile is far from the roundest hole. Literate is a hole so round it unbreaks broken symmetry. What's great about Literate is that it's so obviously too round for the human species to endure, it's almost never forced upon anyone unsuited to its strictures. Instead, Lisp and Haskell (and APL within a smaller niche) take the crown of being the roundest holes into which any programmer has been forced against his or her aptitude and self-interest.

    Agile is good at managing specification risk. If managing specification risk is the top of your risk pyramid, it's proper to ask whether forcing people (whose natural fit lies elsewhere) into a rounder hole is the right business method. What drives specification risk? 50% of this is driven by ambitious yet curiously clueless customers. These are never in short supply, so Agile is rarely in short supply.

    What drove Literate? The case of a curiously over-competent customer (Knuth wrote TeX first and foremost for himself, to typeset a sophisticated manuscript he had already authored). These have never been in large supply, hence Literate has never been in large supply.

    Even with top talent, the fractal repeats. PHK hates Literate, and he's neither second rate nor inarticulate. What happened there?

    Move my rants into their own sandbox

    ==Why Sphinx and reStructuredText?==

    The first school of thought on documentation, is the one we subscribe to in Varnish right now: "Documentation schmocumentation ..." It does not work for anybody.

    The second school is the "Write a {La}TeX document" school, where the documentation is seen as a stand alone product, which is produced independently. This works great for PDF output, and sucks royally for HTML and TXT output.

    The third school is the "Literate programming" school, which abandons readability of *both* the program source code *and* the documentation source, which seems to be one of the best access protections one can put on the source code of either.

    The fourth school is the "DoxyGen" school, which lets a program collect a mindless list of hyperlinked variable, procedure, class and filenames, and call tha

  79. Re: He sounds like an idiot by Anonymous Coward · · Score: 1

    Millenials are worthless programmers. Your IDE's are for girls. You don't know how any of your tools work. Now get off of my lawn!

  80. The root of all evil is careerism. by hey! · · Score: 2

    Too often developers choose to use a technology because it will look good on their resumes, not because it serves the interests of the system's users or the people paying for it. It's what economists call "agency costs".

    Every time a new golden hammer comes up, developers rush to use it before they get left behind. And you can see the corrupted focus right in the code. I remember when Model-View-Controller was the buzzword du jour, and people without any sense of irony whatsoever would bake MVC framework dependencies into practically every single file. Ugh.

    But here's the rub: part of taking care of user and customer needs is considering the impact of future brainshare. Sure, COBOL may be just perfect for this app (OK, probably not), but should you really saddle them with having to find someone with COBOL expertise? It's possible to be too puritanical about avoiding technology fads.

    So part of your job as a developer is to track the emergence of new golden hammers, to study good and bad examples of their use, and to truly understand each of them as much as possible. Where possible you should try the latest thing; if you're a team manager assign slack personnel to do spikes that evaluate it (this is a great perk to hand out). It's part of your job to stay on top of where things are going, without committing customers to something that might not meet their needs.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  81. Re:Agile is good for some teams & projects, ho by ranton · · Score: 1

    What almost everyone gets wrong about agile is confusing the agile methodology with specific implementations of agile project management. Scrum, Kanban, Extreme Programming, Pair Programming, or any other agile techniques do not define the methodology itself. One of the reasons there are so many different agile methods and practices is the realization that no one method could work for any project or company. But the core tenants of agile development, just like the core tenants of the SDLC, PMBOK, Six Sigma, etc, could be applied to any project to great success.

    Central to Agile is the proposition that the company is unable or unwilling to figure out what the requirements are before they develop the system. As Yogi Beara said, "if you don't know where you're going, you not get there." On small projects it might not hurt too much to figure it out as you go along, to backtrack and throw away code that has to be replaced. On large projects, and systems that need to integrate with other systems, you REALLY do need to figure out the requirements ahead of time and plan the architecture.

    The core tenant of agile you are referring to is the realization that business needs will change or be further realized at every point in the project life cycle. This is not something which is up for serious debate for any project management methodology. You cannot know every requirement up front, changing or unknown requirements are far less unavoidable than death and taxes. Even a tightly managed project like sending the Curiousity rover to Mars required code modifications even as the craft prepared for its descent to the planet.

    There are plenty of ways to manage changing requirements. Various agile methods are among those strategies. I happen to agree with the agile tenant that changing requirements should be embraced as a way to create better software, instead of something to be ignored so you can follow a pre-determined plan. This is a mindset I have even had on my "non-agile" projects (which includes the vast majority of them). The two main barriers to successfully maintaining this mindset is architecting software well enough to handle change and managing business expectations to accommodate change (which usually includes modified scope of impending releases). Every project can be handled this way, but not every company or development team is managed well enough to accomplish this. Managing business expectations is usually the most difficult part and where most agile teams end up failing.

    If your team consists solely of programmers of medium competence, Agile may be the best choice. If you have even one excellent systems architect, you're far better off letting therm do their job, planning the system out first. If your team includes junior programmers (or veterans who haven't expanded their skill set over the years), Agile can leave them floundering, going one direction for a few weeks, then another direction for a few weeks, then completely backtracking for a few weeks. In summary, Agile is sometimes the best choice for your team, and when it is, you've done a poor job of hiring.

    This seems very inconsistent. You say agile is the best choice if you have done a poor job of hiring, but then admit that agile is hard to do right with a junior or otherwise poor team. I do agree it is difficult to run a software development team in a highly efficient way with a poor team, regardless of what project management methodology you use. But I disagree that agile is less useful for very experience staff members. I think this is where it shines. Architects can focus their design at different levels of abstraction and in different contexts as it suits their current tasks. Nothing in agile stops designers from doing up front design and architecture, just from doing more than is necessary. It is very hard for inexperienced staff to know what is necessary, however, but this is much less of a problem for highly skilled employees.

    --
    -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
  82. The Atari Strategy... by __aaclcg7560 · · Score: 1

    I worked at Accolade when it got bought out by Infogrames, which later changed its name to Atari after buying Hasbro Interactive, which owned the Atari intellectual property rights. The CEO pushed for every game title to be available for every platform (Microsoft Xbox, Nintendo GameCube/GameBoy Advanced, Sony Playstation 2). That worked well for some titles. But not all titles were suitable for all platforms. The multiplatform strategy fell apart when Nintendo rejected the PS2 ports to the GameCube and demanded that each game take advantage of the GameCube features. The dot com bust didn't help. The company sold studios for pennies on the dollar after paying two to four times more than what each studio was worth during the buying spree. Bankruptcy came and went again.

  83. Re: He sounds like an idiot by __aaclcg7560 · · Score: 1

    And which C++ variant is that?

    Java.

  84. WATCH what he does with the spreadsheet. A hybrid by raymorris · · Score: 1

    In your other post you said:

    > What almost everyone gets wrong about agile is confusing the agile methodology with specific implementations of agile project management. Scrum, Kanban

    I'll admit I'm doing this a bit, specifically thinking of SCRUM, as the main example of the most popular Agile methodology.

    > Try asking a salesman using spreadsheets and Outlook what he wants out of a new CRM implementation and see how far that goes. If you think that is sufficient to get good requirements

    If rather than asking, you do as I suggest and WATCH what he actually does, taking notes and asking questions, then you know exactly what his *requirements* are, what the system must do in order to allow him to do his job. While watching, I like to listen for not only him but people in nearby cubes/offices making exasperated grunts or cussing under their breath, and ask them what most frustrates them as they work. Those are probably likely requirements for a better system!

    > Showing users working demos

    In my experience (20 years), that's useful, but very much not sufficient. They a) focus on how pretty the interface is, not on the needed functionality, and therefore b) assume that all needed functionality will be there, implemented how they need it.

    A great hybrid of the two approaches might be to WATCH the user (rather than show the user) using a mockup / demo. Say "show me how you'd do your morning routine using this mockup instead of your old tool". You might tend to get a lot of "okay how do I find foo?", where foo is something critical to them, that was never mentioned is requirements discussions.

  85. Microsoft [Re: He sounds like an idiot] by Tablizer · · Score: 1

    People around here hate C#... because it's from MS.

    MS has been burning people for decades. After being burnt 4 times in the past, do you blame somebody for not wanting to risk being burned 5?

    Silverlight, Active-X, VB-Classic code, FoxPro, IE bugs, most of their mobile crap, etc. etc.

    Maybe MS sometimes is accidentally nice and won't pull the rug out from under you in the future. But, how does one know THIS time is such a case?

    Look what Oracle has done to Java "standards". C# could be Oracletized if MS gets desperate enough for cash one of these days.

    (The one possible upside of MS is that it's easier to find developers for. Even if their tricks and flops force you to re-write, at least the rewrite team is fairly easy to put together. Their ubiquity makes reinventing the wheel a bit easier. )

  86. Re: He sounds like an idiot by Lemmeoutada+Collecti · · Score: 1

    You may not borrow my circular saw, ever. The problem with that assumption is that all of the reasons for using the right tools (axe, chainsaw) are gone; no sap, the tree is all dry wood, there are no fibrous sections in the bark, etc. That is the same problem I see all the time with evangelists for any tool. In order to make a rational, evaluated decision, all facts must be looked at as objectively as possible. Or to use an old quote "the right tool for the right job".

    --

    You can have it fast, accurate, or pretty. Pick any 2.
  87. Re:Agile is good for some teams & projects, ho by Zmobie · · Score: 1

    This also depends strongly on the project management style and customer demonstrations. Generally I get change orders for plenty of things before the software ever hits site. This is because we do design reviews throughout the project, we have a live Factory Acceptance Test with customer in a simulated and emulated environment, and we specifically structure things so that we can get requests for change earlier. Now, granted the type of system I am installing can't be piece mealed out therefore we are somewhat pigeon-holed into waterfall, but with better transparency and avoiding developers all working in silos this isn't such a problem.

    Some of our core development is done more in agile style with feature specs, sprints, and such, but if a common sense approach is used waterfall does not have to be so back loaded and so much more expensive. I would argue a lot of those problems come from large organizations that allow their gears to grind much too slowly and they isolate people so that they don't actually look at the overall business problem they are trying to solve (so that they can predict what parts of the code need to be more flexible).

    Granted in some scenarios I do feel agile is more well suited, because it is a good thing to allow the user to get more hands on time with the end features so things can be tested and retooled if it isn't what they want, but a project can still be managed in waterfall style as long as proper measures are taken throughout the process, at least in my opinion. I know some people are married to one style or the other, but I can't help that.

  88. Re:Agile is good for some teams & projects, ho by Zmobie · · Score: 1

    As I stated in my other post, if design reviews and early on demonstrations are done a lot of that can be mitigated in a waterfall project. I concede (and wouldn't really ever say otherwise) that some things will fall through the cracks, but my statement was that can happen in an agile environment too even though it probably happens less. I mean hell, sometimes even customers can be pushed by hyped up posts about new technologies (see: the cloud when it first got popular...) that they really don't need but someone wrote an impassioned article and they get convinced that it just has to happen right now.

  89. Re: Agile is good for some teams & projects, h by Tony+Isaac · · Score: 1

    In my 27 years in software development, I've never worked on an Agile project that failed to deliver finished products. In agile, the initial coding becomes part of the analysis and design phase. Agile does not mean less (or inferior) design and analysis. It just changes the method and sequence.

    Every waterfall project also has technical debt and design errors. That is not specific to agile. In fact, because waterfall attempts to complete the design without anything concrete (i.e., working) for customers to see, it becomes much easier for bad designs to become buried in the reams of documentation.

  90. Re:Agile is good for some teams & projects, ho by Tony+Isaac · · Score: 1

    I'm glad you can see the need for a spectrum of different methods, to suit different needs. This is key. No single methodology works for everything, or everywhere.

  91. Job Creator by NotFamous · · Score: 1

    Actually, this is what keeps so many developers employed. When software becomes overwhelmingly difficult to maintain due to sloppy development and project management practices, managers come to believe that the solution is switching to the latest cool technology, and a rewrite begins. Eventually, since the underlying sloppy methodologies remain in place, the cycle repeats. What drives this cycle? Managers, team leaders, customers, stakeholders never want to admit that they are the problem. It's human nature. So, c'mon Micro-services, heal us!

    --
    Some settling may occur during posting.
  92. YES OMFG YES by deadweight · · Score: 1

    We are in the depths of OSD hell. MDT>OSD is frying pan to fire!

  93. perl programmers are (mostly) immune to hype by doom · · Score: 2

    I'm a perl programmer, almost by definition I don't get hired by places that insist on chasing the new shiney.

    The tendency of programmers in general to be as trendy as a bunch of teenagers has not been lost on me, however (like I said, I'm a perl programmer).

    Somewhat more disturbing is a tendency of perl-culture in general to be a bit faddish... one year it's inside-out objects, the next year it's the Moose family, one year Module::Build is the greatest, the next Extutils::Makemaker has made a comeback and no one wants to hear about anything else, one year ORM are the bees-knees, the next it's the NoSQL fad, then it suddenly dawns on people you don't really want to try to do schemaless data...

  94. Re:Agile is good for some teams & projects, ho by Zmobie · · Score: 1

    Absolutely. I actually get sideways with people that think one specific method, language, or tool is so good that it should always be used no matter what. Flexibility is key not only in code but on the business side of software development. Getting good with more common languages/methods/tools/etc. is great in the sense that they will be used more often, but anyone that has an almost religious devotion to these one thing may succeed with it in short term (and there are still too many that believe this) but eventually a problem will come along that needs something else and they are will try to force the proverbial squares into circle holes.

  95. "Stop planning and start doing" by mfearby · · Score: 1

    "Stop planning and start doing" was the greatest piece of wisdom I got from my American boss many years ago. I suppose you'd call it "agile" these days (is that old hat now? I dunno). You can over-plan something, and whilst my reply probably has little to do with "hype" as such, you can focus too much on the latest buzzwords and frameworks. Just stop planning or thinking too much and dive right in. At the time when I heard "Stop planning and start doing" most of us thought the guy was crazy, but years of development have shown he was right.

  96. I've been using Ext JS for 5 years and it's great by mfearby · · Score: 1

    I could only have delivered half of what I've done over the past 5+ years if I had to use something other than Ext JS. I chose it mainly for the superior grid and its excellent data package, which are still at the top of their game today. I don't know why something like setting focus eluded you so much, so perhaps something else was going on and getting in the way (I've painted myself into a corner countless times and wanted to blame the framework, but in most cases, it turned out to be my own fault). And as for workarounds, occasionally you might need to put one in place to solve a bug ahead of the next release, but that's not often (no framework is immune to the odd bug).

    The great thing about Ext JS is that it gives me pretty much everything I'll ever need. Now I doubt I'll impress the "hype" crowd with that statement but I don't have to manage all those project dependencies and includes and various build systems. But at the end of the day, I don't care too much about the inner-workings of Ext JS because my finished products are so darn and good looking functional, and this continues to be one of its strongest selling points (albeit with a much heftier price tag these days, but it's still worth paying, IMHO).

  97. Re: He sounds like an idiot by Shane_Optima · · Score: 1

    The problem is that experience can do one of two things to developers. Open your mind or close your mind. Many programmers refuse to open the Pandora's box and they stick to a tool, paradigm or coding style they know even though its not the best thing to solve the problem at hand. It's like a carpenter trying to cut down a tree with a circular saw because that's what he spends 99% of his time using.

    That is true enough, although if we got into specifics I think everyone would be guilty of this to some degree. C++ / Java style OO, for instance, appears to have irreversibly poisoned the minds of at least two generations of coders because it's "good enough" and very familiar. They even celebrate the fact that they have to repeat certain familiar patterns of code over and over in a noninuitive way to accomplish some commonplace task, calling such kludges "design patterns."

    On another note entirely, I simply can't resist mentioning that when I was three years old I actually saw my father cutting down a small dead tree in our back yard with a hacksaw... and I asked him why he wasn't using his portable circular saw. He paused, muttered "that's actually not a half bad...", went to the garage and used his circular saw to finish the job. (He didn't have a chainsaw.)

    I'm not sure what that tends to argue for except, perhaps, for the fact that I was apparently a hacker from a fairly early age.

  98. Re: He sounds like an idiot by ADRA · · Score: 1

    You forgot to mention two developers, but only roast one. You know know those guy that learns about a new technology that the team has never heard of, convinces the boss through their evangelical zeal, writes the feature, then proceeds to bail / quit because the company is just too passe. Now the team's left with a half-broken feature and a new core dependency boat-anchor left for someone else to eventually remove in a future release.

    The sad thing is, I'm far more of this guy than the stale one, but years of dealing with other people's research f-up's have tempered my zeal to much more realistic ends.

    --
    Bye!
  99. Re: He sounds like an idiot by tigersha · · Score: 1

    I know someone like you. He thinks henis the worlds greatest programmer but he is as dumb as a brock. His problem is that he uses very inefficient tools.

    --
    The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
  100. Re: He sounds like an idiot by lordlod · · Score: 1

    People around here hate C# (those that do) because it's from MS. When it comes to MS, there are no technical merits that can redeem the technology. They are not rational people. Most of them probably don't even program for a living.

    As a former Visual Basic programmer I will not base my livelihood on a MS programming language. Who knows when MS announces the next shiny programming language, declares my companies existing code base obsolete and expects everyone to repeat the same mistake.

    I do not view this as irrational in the least.

  101. Re: He sounds like an idiot by dbIII · · Score: 1

    You misunderstand.
    Sometimes the task is such that there are a vast number of right tools to choose from.
    At other times there is not.

  102. order by nten · · Score: 1

    I have never created a correct design without prototyping it first in the same language it will be developed in. I am possibly just really bad at design and architecture but I see people sticking with bad architecture all the time when the language forces them to be completely unambiguous about there thoughts. I see this a lot. My preference is to brainstorm then jump straight to coding a prototype. When the prototype passes the prototype passes my prototype tests I take credit for finishing the design. If they knew it worked they would want to ship. Then I write it again with lessons learned and call the code 25% complete. Then I write the design with lessons learned and call the code 50% complete. Finally I write the code a third time with further lessons leaned and declare code complete and move on to formal test. I deliver on time because even though this seems backwards and excessive it is faster (for me at least) than trying to think it out in advance without prototyping and then being stuck with a bad architecture that has to be updated (if they let me).

    --
    refactor the law, its bloated, confusing and unmaintainable.
    1. Re:order by Bengie · · Score: 1

      One of my co-workers prototypes all the time. He likes empirical evidence. I am the polar opposite. Not that I hate empirical evidence, but empirical evidence lies too much for me. I mostly just prototype in my head, but I seem to have very accurate mental models.

      Empirical evidence will find local minimums, but not global.

  103. Re: He sounds like an idiot by godefroi · · Score: 1

    Python's open and standard too, that's why Python 2 is still the most common variant.

    --
    Karma: Poor (Mostly affected by lame karma-joke sigs)
  104. Re: He sounds like an idiot by Bengie · · Score: 1

    Experience counts for naught. Most developers with 10 years of experience just experience the first year ten times over. Many big tech companies confirm this with their talent search issues. Statistically there is virtually zero difference in skill between someone who has 6 months experience or 20 years. Most people quickly reach their limits.

    In my many dealings with world grade technology consulting firms, they are horrible at consulting, but they do make for great human interfacable reference books. Most of the time I spend about 5 minutes reading a Wiki article about a given technology before jumping into a meeting with a specialist, then I poke holes in their logic until their ego is bruised enough to get them to be quiet, then I start asking my questions and finally get somewhere. Their logic and understanding is almost always horribly flawed, but they do know a lot. Their opinions are pretty much useless.

    They may know more facts than I do and have dealt with more issues that I have, but I will have vastly more understanding of the domain than they will ever have. Cargo-cult, that is all.

  105. Javascript by rhyous · · Score: 1

    JavaScript. Do I really need to say anything else?

  106. We're in the middle of that now... by PontifexMaximus · · Score: 1

    Actually, this has been a problem where I work for almost two years now. It's the ADHD approach to development or as I like to call it 'the Ooooh something shiny' paradigm. It's kill productivity, run off several very good developers and has murdered our customer base to the point where we're losing customers, not gaining them.

    Of course, management blames everyone/everything but themselves for this debacle. Personally, I'm glad I'm leaving here the end of January.

    --
    Pax Vobiscum
  107. Re: He sounds like an idiot by david_thornley · · Score: 1

    You don't have to use your imagination, and what you appear to think fairly outlandish scenarios have happened. I don't expect C# to go the way of VB (not VB.NET) or Silverlight any time soon, but despite cross-platform efforts it's still pretty well connected to Microsoft. C++ and Java, to name two, have strong communities not tied to their originating companies.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  108. Re: He sounds like an idiot by AmiMoJo · · Score: 1

    Remind me, what were the open source implementations of VB and Silverlight? Where was the open spec for those languages? And why did all the software written in them suddenly stop working when Microsoft ended support?

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  109. Re:Agile is good for some teams & projects, ho by sribe · · Score: 1

    If your team consists solely of programmers of medium competence, Agile may be the best choice. If you have even one excellent systems architect...

    What you're ignoring, is that for a hell of a lot of real-world projects, there's already a pretty good architecture in the form of one of several appropriate frameworks--and in many cases the team is already using one.

    There's really a small portion of software development that is cutting-edge.

  110. Programming frameworks != systems architecture by raymorris · · Score: 1

    Sometimes the larger system is already built, and all that remains is to add small modules which conform to the well-defined, well-documented, and enforced rules of the system. In that case, you have a number of small projects, and most any methodology will manage.

    If you're designing a new system - well then the SYSTEM should be DESIGNED. The architecture of the overall system shouldn't be the accidental result of however different people shoehorned different things in during different sprints. Programming frameworks, as the term is normally used, are not at all the same thing as systems architecture. To be frank, this sentence:

    > There's already a pretty good architecture in the form of one of several appropriate frameworks

    Makes about as much sense as this sentence:
    You don't need a map; there's already a pretty good route in the form of several appropriate vehicles.

    Sometimes a framework can be useful, but it's no more an architecture than a car is a route.

  111. Re:the opposite is even worse by doom · · Score: 1

    Presumably, they were working on a code base smaller than a linux kernel, and saw no technical advantage in subjecting themselves to git's incoherent user interface. We're talking about hype driven choices here, git is a fine example of the software industry going crazy with a fad and dropping a productivity bomb on itself for six months while trying to figure out how to make the fad work.

  112. Re: He sounds like an idiot by david_thornley · · Score: 1

    If you don't care about future language development, you're probably OK.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  113. Re:I've been using Ext JS for 5 years and it's gre by EmperorOfCanada · · Score: 1

    Good looking? Maybe to someone who was in a coma since windows 95 was fresh.