• cygon@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    28 days ago

    I liked agile as it was practiced in the “Extreme Programming” days.

    • Rather than attempt to design the perfect system from the get-go, you accept that software architecture is a living, moving target that needs to evolve as your understanding of the problem evolves.

    • Rather than stare down a mountain of ill-defined work, you have neat little user stories that can be completed in a few days at most and you just move around some Kanban cards instead of feeding a soul-sucking bureaucratic ticketing, time tracking and monitoring system.

    • Rather than sweat and enter crunch mode for deadlines, the project owners see how many user stories (or story points or perfect hours) the team completes per week and can use a velocity graph / burndown chart to estimate when all work will be completed.

    .

    But it’s just a corporate buzzword now. “We’re agile” often enough means “we have no plan, take no responsibility and expect the team to wing it somehow” or “we cargo cult a few agile ideas that feel good to management, like endless meetings with infinite course changes where everyone gives feel-good responses to the managers.”

    Having a goal, a specification, a release plan, a vision and someone who is responsible and approachable (the “project owner”) are all part of the agile manifesto, not something it tries to do away with. I would be sad if agile faces the same fate as the waterfall model back in its time and even sadder if we return to the time-tracking-ticket-system-with-Gantt-chart hell as the default.

    Maybe we need a new term or an “agility index” to separate the cases of “incompetent manager uses buzzword to cover up messy planning” from the cases of “project owner with a clearly defined goal creates a low-bureaucracy work environment for his team.” :)

  • Aurenkin@sh.itjust.works
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    29 days ago

    Note that this is failure to deliver on time, not failure to deliver full stop.

    I also think a lot of places claim to be agile, but don’t follow or understand the principles at all. Another commenter here is the perfect example of that where they say the opposite of what’s in the agile manifesto and claim that it’s a representation of what it says.

    Maybe that’s a fundamental problem with agile. It’s just a set of loose principles rather than a concrete methodology being pushed for by a company and it has therefore been bastardised by consulting companies and scrum masters claiming to teach the checklist of practices that will make your company agile. Such a checklist does not exist, it’s just a set of ideas to keep in mind while you work out the detailed processes or lack thereof that work for you.

    For anyone that wants to refresh their memory on 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.

    • tyler@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      29 days ago

      Agile was designed for contractors to deliver contract work. It’s a terrible design for any sort of sustainable business plan, hence “working software over comprehensive documentation”. That line right there causes the majority of outages you as a consumer encounter.

      • atzanteol@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        0
        ·
        29 days ago

        The very first mistake most people make when reading the agile manifesto is that “a over b” means “don’t do b”.

        • prof@infosec.pub
          link
          fedilink
          arrow-up
          1
          ·
          29 days ago

          100% that.

          Especially that working software over comprehensive documentation part, which can be automated so easily if done right.

          There’s so much value in TDD and providing a way to do integration and automated UI tests early on in a project, yet none of the companies I’ve worked at made use of it.

          Also automated documentation tools like Swagger are almost criminally underutilised.

      • Aurenkin@sh.itjust.works
        link
        fedilink
        arrow-up
        0
        ·
        29 days ago

        Would you rather have working software or a bunch of documentation? If your software is having outages then by definition it is not working. If documentation is the root cause of that then you should fix that by creating enough documentation to allow your software to continue to work per “working software over comprehensive documentation”. Maybe I’m missing something but I don’t see the contradiction here.

        • becausechemistry@lemm.ee
          link
          fedilink
          arrow-up
          1
          ·
          29 days ago
          1. Hack together a proof of concept
          2. Works well enough that management slaps a “done” sticker on it
          3. Pile of hacks becomes load bearing
          4. One or two dependencies change, the whole thing falls over
          5. Set evenings and weekends on fire to fix it
          6. Management brags about moving fast and breaking things, engineers quit and become cabbage farmers and woodworkers
          7. New graduates are hired, GOTO 1