Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Software Ideologies

Software Ideologies

Scheduled Pinned Locked Moved The Lounge
businesssalescollaborationtoolstutorial
41 Posts 21 Posters 5 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Eric Lynch

    Recently, I became older. Over the course of my life, this has been a disturbing trend. However, the alternative doesn't seem much more appealing. I'd be willing to "Benjamin Button" it for a few years, but that doesn't seem to be on the menu. Now, don't get me wrong, I'm simply getting older. "I'm not old", he says, quickly concealing his gray hair. I've noticed many older people ranting. It seems like it might be fun? So, I thought I'd experiment with it (in this post). I originally wanted to post this to my blog, but then realized I don't have one. So, I'm posting it here instead. I'm hoping that the villagers will keep their pitchforks and Tiki torches in the shed. At the moment, I can't afford to pay a bridge troll its fare to pass. So, anyhow, here goes...ranting powers activate... I've been thinking a lot about software methodologies lately. Mostly, because there is no beer left in the fridge. They always start out well-intentioned. "We keep falling behind our delivery schedules. Let's do something about that." Yeah! Initially, much like a Mogwai, they start out all "cute and fuzzy". Then, someone feeds them after dark. Suddenly, they're trying to eat your face off. OK, I digress, that might be some other critter. Honestly, I don't know much about Gremlins. I just know they're bad! I think a better name might be software ideology. After the good intentions are long forgotten, the dogmatic elements become dominant. "You can't do it that way." Why? Because, the methodology says its wrong. My favorite example is the Manifesto for Agile Software Development (http://agilemanifesto.org/). We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: 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. I continue to agree with absolutely every one of these goals. If anything, its almost an anti-methodology. I suspect, but cannot prove, the pain of those well-intentioned heroes. However, it suffers the fate of most good intentions. It follows a life-cycle familiar to many of us. Step 1: Save the World - Some people with good intentions, recog

    P Offline
    P Offline
    PeejayAdams
    wrote on last edited by
    #29

    There's definitely something of a cargo cult built around some methodologies. I recently worked with an ardent TDD disciple who would get a little upset with my view that TDD might have its place but that it wasn't the panacea for all things. I didn't get to see any of his work until after he left. Sure, all the unit tests were passed, but sadly, it wasn't quite the same story when it came to user tests. In fact, it couldn't have been more different. Everything was about as dysfunctional as it could possibly be. There's a dangerous belief at work there, namely: "I am doing this properly so I have no need to worry about anything going wrong." It's every bit as ill-founded as the idea that if we build the runway, the great iron bird will arrive laden with goodies, and its equally fallacious in that it comes with that implicit guarantee - "this is the way and the way cannot fail." Once we remove the possibility of failure from our expected outcomes (probably something that various new age barkers would actually advocate), we're left in a state where we stop thinking about how we'll deal with the inevitable. Rather than planning how we'll bubble up our exceptions, we just shrug our shoulders and say "Exceptions? What exceptions? There won't be any exceptions!" It's this complacency that tends to make rigid devotion to a methodology a very dangerous thing. The wise course is to cherry pick these things to suit our projects. A few core unit tests are obviously a good idea in many situations, so let's use them but the minute that we start to think that we've come across a fool-proof way to write bug-free software, we're off in the woods with the fairies and the unicorns and we haven't got a cat in hell's chance of coming back in one piece.

    98.4% of statistics are made up on the spot.

    E 1 Reply Last reply
    0
    • M MKJCP

      Doctors, lawyers, politicians, plumbers, mechanics, BOSSES, etc.....When I was young I had this notion that people were generally competant, say, 99% of the time. Now that I have seen what there is to see, my estimate is less than 50% are competant and almost none should be completely trusted.

      Sander RosselS Offline
      Sander RosselS Offline
      Sander Rossel
      wrote on last edited by
      #30

      Some people would call that pessimism. I call that experience and wisdom :D

      Best, Sander Continuous Integration, Delivery, and Deployment arrgh.js - Bringing LINQ to JavaScript Object-Oriented Programming in C# Succinctly

      1 Reply Last reply
      0
      • M Mateusz Jakub

        That is interesting dichotomy i our software world. Some just run for shiny new frameworks, some dig trenches around their favourite tools. Maybe there are situations where someone sticks to some tools but in other he looks for new. Fun part is both taken to extreme make bad developers.

        M Offline
        M Offline
        Munchies_Matt
        wrote on last edited by
        #31

        Mateusz Jakub wrote:

        Some just run for shiny new frameworks, some dig trenches around their favourite tools.

        Very accurate observation.

        1 Reply Last reply
        0
        • P PeejayAdams

          There's definitely something of a cargo cult built around some methodologies. I recently worked with an ardent TDD disciple who would get a little upset with my view that TDD might have its place but that it wasn't the panacea for all things. I didn't get to see any of his work until after he left. Sure, all the unit tests were passed, but sadly, it wasn't quite the same story when it came to user tests. In fact, it couldn't have been more different. Everything was about as dysfunctional as it could possibly be. There's a dangerous belief at work there, namely: "I am doing this properly so I have no need to worry about anything going wrong." It's every bit as ill-founded as the idea that if we build the runway, the great iron bird will arrive laden with goodies, and its equally fallacious in that it comes with that implicit guarantee - "this is the way and the way cannot fail." Once we remove the possibility of failure from our expected outcomes (probably something that various new age barkers would actually advocate), we're left in a state where we stop thinking about how we'll deal with the inevitable. Rather than planning how we'll bubble up our exceptions, we just shrug our shoulders and say "Exceptions? What exceptions? There won't be any exceptions!" It's this complacency that tends to make rigid devotion to a methodology a very dangerous thing. The wise course is to cherry pick these things to suit our projects. A few core unit tests are obviously a good idea in many situations, so let's use them but the minute that we start to think that we've come across a fool-proof way to write bug-free software, we're off in the woods with the fairies and the unicorns and we haven't got a cat in hell's chance of coming back in one piece.

          98.4% of statistics are made up on the spot.

          E Offline
          E Offline
          Eric Lynch
          wrote on last edited by
          #32

          That's more or less what I'm advocating. I simply don't believe that any methodology is one-size-fits-all. There are a couple of methodologies out there that suggest reasonable goals. I view these goals as aspirational. I make an honest effort to achieve them. However, if I find some goal is a bad fit for a specific project, I'm willing to set aside that goal. In general, I'm very leery of words like "always" and "never". In my experience these words are always wrong and never lead to good things :) As an example, I'm a huge believer in TDD. This is mostly because its saved my bacon more than a few times. Though, I think even it has some limitations. For example, during the initiation phase, I often like to prototype a couple of ideas first, before committing to an approach. I've had TDD purists complain that I'm doing it wrong, because I defer writing the tests (slightly) until after I choose the best approach.

          P 1 Reply Last reply
          0
          • E Eric Lynch

            That's more or less what I'm advocating. I simply don't believe that any methodology is one-size-fits-all. There are a couple of methodologies out there that suggest reasonable goals. I view these goals as aspirational. I make an honest effort to achieve them. However, if I find some goal is a bad fit for a specific project, I'm willing to set aside that goal. In general, I'm very leery of words like "always" and "never". In my experience these words are always wrong and never lead to good things :) As an example, I'm a huge believer in TDD. This is mostly because its saved my bacon more than a few times. Though, I think even it has some limitations. For example, during the initiation phase, I often like to prototype a couple of ideas first, before committing to an approach. I've had TDD purists complain that I'm doing it wrong, because I defer writing the tests (slightly) until after I choose the best approach.

            P Offline
            P Offline
            PeejayAdams
            wrote on last edited by
            #33

            Eric Lynch wrote:

            In general, I'm very leery of words like "always" and "never". In my experience these words are always wrong and never lead to good things :)

            That is a very healthy philosophy!

            98.4% of statistics are made up on the spot.

            1 Reply Last reply
            0
            • E Eric Lynch

              Recently, I became older. Over the course of my life, this has been a disturbing trend. However, the alternative doesn't seem much more appealing. I'd be willing to "Benjamin Button" it for a few years, but that doesn't seem to be on the menu. Now, don't get me wrong, I'm simply getting older. "I'm not old", he says, quickly concealing his gray hair. I've noticed many older people ranting. It seems like it might be fun? So, I thought I'd experiment with it (in this post). I originally wanted to post this to my blog, but then realized I don't have one. So, I'm posting it here instead. I'm hoping that the villagers will keep their pitchforks and Tiki torches in the shed. At the moment, I can't afford to pay a bridge troll its fare to pass. So, anyhow, here goes...ranting powers activate... I've been thinking a lot about software methodologies lately. Mostly, because there is no beer left in the fridge. They always start out well-intentioned. "We keep falling behind our delivery schedules. Let's do something about that." Yeah! Initially, much like a Mogwai, they start out all "cute and fuzzy". Then, someone feeds them after dark. Suddenly, they're trying to eat your face off. OK, I digress, that might be some other critter. Honestly, I don't know much about Gremlins. I just know they're bad! I think a better name might be software ideology. After the good intentions are long forgotten, the dogmatic elements become dominant. "You can't do it that way." Why? Because, the methodology says its wrong. My favorite example is the Manifesto for Agile Software Development (http://agilemanifesto.org/). We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: 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. I continue to agree with absolutely every one of these goals. If anything, its almost an anti-methodology. I suspect, but cannot prove, the pain of those well-intentioned heroes. However, it suffers the fate of most good intentions. It follows a life-cycle familiar to many of us. Step 1: Save the World - Some people with good intentions, recog

              S Offline
              S Offline
              SeattleC
              wrote on last edited by
              #34

              The problem with software methodologies occurs when the developers and the managers do not have the same goals. * You see agile introduced into a workplace by developers when the devs are tired of being chained to a heavyweight process with tons of useless meetings and an impossible schedule. * You see agile introduced by management when code is not always delivered on schedule, and when marketing doesn't always get that hot feature requested by a potential customer last week. Trying to get predictable delivery AND a sane process AND more emphasis on quality than quantity is difficult. Unless authority is shared between developers and managers, it rarely works out well.

              1 Reply Last reply
              0
              • E Eric Lynch

                Been there and had those discussions. Once, I had a meeting to discuss the schedule and agenda for another meeting. Sometimes it amazes me that any actual work ever gets done :)

                A Offline
                A Offline
                Anonymee
                wrote on last edited by
                #35

                Yeah, especially when the annual company results are published and you get a 25% annual salary bonus because all of us did such a great job o.O ^^

                1 Reply Last reply
                0
                • E Eric Lynch

                  Recently, I became older. Over the course of my life, this has been a disturbing trend. However, the alternative doesn't seem much more appealing. I'd be willing to "Benjamin Button" it for a few years, but that doesn't seem to be on the menu. Now, don't get me wrong, I'm simply getting older. "I'm not old", he says, quickly concealing his gray hair. I've noticed many older people ranting. It seems like it might be fun? So, I thought I'd experiment with it (in this post). I originally wanted to post this to my blog, but then realized I don't have one. So, I'm posting it here instead. I'm hoping that the villagers will keep their pitchforks and Tiki torches in the shed. At the moment, I can't afford to pay a bridge troll its fare to pass. So, anyhow, here goes...ranting powers activate... I've been thinking a lot about software methodologies lately. Mostly, because there is no beer left in the fridge. They always start out well-intentioned. "We keep falling behind our delivery schedules. Let's do something about that." Yeah! Initially, much like a Mogwai, they start out all "cute and fuzzy". Then, someone feeds them after dark. Suddenly, they're trying to eat your face off. OK, I digress, that might be some other critter. Honestly, I don't know much about Gremlins. I just know they're bad! I think a better name might be software ideology. After the good intentions are long forgotten, the dogmatic elements become dominant. "You can't do it that way." Why? Because, the methodology says its wrong. My favorite example is the Manifesto for Agile Software Development (http://agilemanifesto.org/). We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: 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. I continue to agree with absolutely every one of these goals. If anything, its almost an anti-methodology. I suspect, but cannot prove, the pain of those well-intentioned heroes. However, it suffers the fate of most good intentions. It follows a life-cycle familiar to many of us. Step 1: Save the World - Some people with good intentions, recog

                  N Offline
                  N Offline
                  nightsoul94
                  wrote on last edited by
                  #36

                  I agree with some of the posters. I have seen quite a few methodologies and the frustrating thing I see, especially as it relates to agile, is that everybody believes it solves all software problems but they don't really understand what they are. Agile development is a method of development of software, not a method of everything. As an example, if I give you a cow and a tree and tell you to build a teepee, you end up short of a few things. How do I get cow hide? How do I get poles? How do I build the teepee? Do I have to fit it for one person? Yeah, that list could go on forever, but I think it makes the point. You have to do the basics. You have to do the analysis. You have to do the requirements gathering. You have to define testing, if you want to test? How? Unit testing only? Again, that list can go on forever. In my experience the industry, and quite literally every job I have worked at in a decade, goes "we are doing agile application development, here is the customers old database it is 20 years old, you have to build a new modern database from it. You also have to modernize it, use all these new technologies and make it shiny. Oh and you can't talk to the customer." They then expect agile to just cover the development, not have any problems and make a perfect product without even finding out what the clients current needs are. It is ridiculous and it shows how the actual concepts of software development are dying to a culture of fads and not actually using the thing between your ears.

                  E 1 Reply Last reply
                  0
                  • N nightsoul94

                    I agree with some of the posters. I have seen quite a few methodologies and the frustrating thing I see, especially as it relates to agile, is that everybody believes it solves all software problems but they don't really understand what they are. Agile development is a method of development of software, not a method of everything. As an example, if I give you a cow and a tree and tell you to build a teepee, you end up short of a few things. How do I get cow hide? How do I get poles? How do I build the teepee? Do I have to fit it for one person? Yeah, that list could go on forever, but I think it makes the point. You have to do the basics. You have to do the analysis. You have to do the requirements gathering. You have to define testing, if you want to test? How? Unit testing only? Again, that list can go on forever. In my experience the industry, and quite literally every job I have worked at in a decade, goes "we are doing agile application development, here is the customers old database it is 20 years old, you have to build a new modern database from it. You also have to modernize it, use all these new technologies and make it shiny. Oh and you can't talk to the customer." They then expect agile to just cover the development, not have any problems and make a perfect product without even finding out what the clients current needs are. It is ridiculous and it shows how the actual concepts of software development are dying to a culture of fads and not actually using the thing between your ears.

                    E Offline
                    E Offline
                    Eric Lynch
                    wrote on last edited by
                    #37

                    Regrettably, so many different methodologies currently claim to be "agile" that the word has almost lost all meaning. For example, the original (from Manifesto for Agile Software Development[^]) actually favors customer collaboration. It sounds like you've fallen victim to one of the variants where the engineering team is discouraged from communicating with the customer. I've been there...not much fun. Unfortunately, this seems to be the norm with most of the variants claiming to be "agile".

                    1 Reply Last reply
                    0
                    • G GuyThiebaut

                      From my 20+years of IT/software work the methodologies used don't appear to have had a huge impact on the outcome. The one thing that has determined the success/failure of projects I have worked on has been the quality of communication between people in the team. Where there has been a culture of people not talking to each other or screaming and swearing/threatening each other the outcome has generally been fairly poor. Whereas when the has been a more friendly and supportive/mentoring culture the outcome of projects has generally always been one of success. So my experience tells me that it's not necessarily the methodology that counts but the quality of communication between people in a team/business.

                      “That which can be asserted without evidence, can be dismissed without evidence.”

                      ― Christopher Hitchens

                      M Offline
                      M Offline
                      Member 11561335
                      wrote on last edited by
                      #38

                      GuyThiebaut wrote:

                      The one thing that has determined the success/failure of projects I have worked on has been the quality of communication between people in the team.

                      It's interesting you mention that. I say that because have you heard what one of the guys that came up with agile wanted to call it instead of agile? Conversational development, IE the way you do anything is to have a conversation between the involved individuals. Of course it also has to be stated that you can't have a conversation if one side doesn't respect the other, in that case you generally end up with a lecture. Unfortunately with a name like "Agile" plus all that dogma in the manifesto the core idea which you've hit upon gets lost doesn't it?

                      1 Reply Last reply
                      0
                      • M Munchies_Matt

                        Sander Rossel wrote:

                        In my experience the problem is mostly just programmers who can't write decent software.

                        I have worked with some real jerks. One guy in particular found an old and odd definition of a csv file, different to Lotus and MSFT (and everyone else for that matter) and he insisted on using his version in his code. Result, it couldnt read a csv created by say excell. And he did it just because he could argue he was 'right'. Crazy eh? Yet his line leader and manager let him get away with it. They were scared of offending him. I have worked with other plain incompetent engineers who dont know why a UI locks up when its thread is asked to do heavy processing. That team actually threw away an app I wrote just to write their own, and because they couldnt understand function pointers, and made a complete mess of it. One of the main reasons is fear of the new, the unknown. It is surprising how many SW engineers once they know something, cling to it, desperately. How unadaptable they are to new ways of thinking, and how attached to their code they are, as if it is their flesh and blood. All of this makes for a very bad engineer.

                        A Offline
                        A Offline
                        Abbas A Ali
                        wrote on last edited by
                        #39

                        The place I work at uses the same one size fits all thinking (granted it works well for one the original), never stops to think, hey looks like we're working on a different application and different requirements. All that matters is to use the same shoe everywhere (they're kind of proud of it too). The thing is it is team lead's decision to make everyone put on the same shoe everywhere. I would like to argue but I've gone to a phase where I just don't give a shit and I have started looking for a new job opportunity.

                        Munchies_Matt:

                        he did it just because he could argue he was 'right'.

                        Same thing happens with the guy I work with, occasionally he'd come up with these great ideas and would never stop bragging, but most of the time he is just arguing for his shoe which doesn't fit very well, but wins the fight almost every time because the guy can argue. Sometimes I'd be able to convince him if I find a not so critical flaw. If however there's only a critical one he'd simply shake his head say "You don't understand it", and come up with a contradictory argument to say otherwise.

                        1 Reply Last reply
                        0
                        • E Eric Lynch

                          Recently, I became older. Over the course of my life, this has been a disturbing trend. However, the alternative doesn't seem much more appealing. I'd be willing to "Benjamin Button" it for a few years, but that doesn't seem to be on the menu. Now, don't get me wrong, I'm simply getting older. "I'm not old", he says, quickly concealing his gray hair. I've noticed many older people ranting. It seems like it might be fun? So, I thought I'd experiment with it (in this post). I originally wanted to post this to my blog, but then realized I don't have one. So, I'm posting it here instead. I'm hoping that the villagers will keep their pitchforks and Tiki torches in the shed. At the moment, I can't afford to pay a bridge troll its fare to pass. So, anyhow, here goes...ranting powers activate... I've been thinking a lot about software methodologies lately. Mostly, because there is no beer left in the fridge. They always start out well-intentioned. "We keep falling behind our delivery schedules. Let's do something about that." Yeah! Initially, much like a Mogwai, they start out all "cute and fuzzy". Then, someone feeds them after dark. Suddenly, they're trying to eat your face off. OK, I digress, that might be some other critter. Honestly, I don't know much about Gremlins. I just know they're bad! I think a better name might be software ideology. After the good intentions are long forgotten, the dogmatic elements become dominant. "You can't do it that way." Why? Because, the methodology says its wrong. My favorite example is the Manifesto for Agile Software Development (http://agilemanifesto.org/). We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: 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. I continue to agree with absolutely every one of these goals. If anything, its almost an anti-methodology. I suspect, but cannot prove, the pain of those well-intentioned heroes. However, it suffers the fate of most good intentions. It follows a life-cycle familiar to many of us. Step 1: Save the World - Some people with good intentions, recog

                          P Offline
                          P Offline
                          PhilipOakley
                          wrote on last edited by
                          #40

                          There is a very similar style of story called "The life Cycle of a Silver Bullet" by Sarah Sheard (Journal of Defense Software Engineering, July 2003) that is still available at various places[^] on the /web.archive.org. Worth a look. Nothing changes....

                          E 1 Reply Last reply
                          0
                          • P PhilipOakley

                            There is a very similar style of story called "The life Cycle of a Silver Bullet" by Sarah Sheard (Journal of Defense Software Engineering, July 2003) that is still available at various places[^] on the /web.archive.org. Worth a look. Nothing changes....

                            E Offline
                            E Offline
                            Eric Lynch
                            wrote on last edited by
                            #41

                            Dang, now I'll have to write a new post: The Life Cycle of Rants About the Life Cycle of a Silver Bullet. This will undoubtedly lead to a post about the life cycle of that post, and so on. I sense an infinite loop emerging...beer time :)

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • World
                            • Users
                            • Groups