this post was submitted on 10 Dec 2023
86 points (93.9% liked)

Technology

34987 readers
406 users here now

This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.


Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.


Rules:

1: All Lemmy rules apply

2: Do not post low effort posts

3: NEVER post naziped*gore stuff

4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.

5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)

6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist

7: crypto related posts, unless essential, are disallowed

founded 5 years ago
MODERATORS
 

Are agile scrums an outdated idea?

Here's a video on YouTube making the case for why agile was an innovative methodology when it was first introduced 20 years ago.

However, he argues these days, daily scrums are a waste of time, and many organisations would be better off automating their reporting processes, giving teams more autonomy, and letting people get on with their work:

https://youtu.be/KJ5u_Kui1sU?si=M_VLET7v0wCP4gHq

A few of my thoughts.

First, it's worth noting that many organisations that claim to be "agile" aren't, and many that claim to use agile processes don't.

Just as a refresher, here's the key values and principles from the agile manifesto: http://agilemanifesto.org/

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

* Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
* Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
* Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
* Business people and developers must work together daily throughout the project.
* Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
* The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
* Working software is the primary measure of progress.
* Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
* Continuous attention to technical excellence and good design enhances agility.
* Simplicity--the art of maximizing the amount of work not done--is essential.
* The best architectures, requirements, and designs emerge from self-organizing teams.
* At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Your workplace isn't agile if your team is micromanaged from above; if you have a kanban board filled with planning, documentation, and reporting tasks; if your organisation is driven by processes and procedures; if you don't have autonomous cross-functional teams.

Yet in many "agile" organisations, I've noticed that the basic principles of agile are ignored, and what you have is micromanagement through scrums and kanban boards.

And especially outside software development teams, agile tends to just be a hollow buzzword. (I once met a manager at a conference who talked up how agile his business was, and didn't believe me when I said agile was originally a software development methodology — one he revealed he wasn't following the principles of.)

#agile @technology #technology #scrum #tech #Dev

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 11 months ago (1 children)
  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

1, 2 and 4 all together sounds like a recipe for incessant alignment meetings. Especially in organisations where teams are not stable, where people come and go or have multiple projects to take care of. It is just a loss of knowledge and everyone has something different in their minds.

[–] [email protected] 1 points 11 months ago

This sounds like a management issue, not a methodology issue.

If your teams aren't stable, that's probably because they aren't feeling satisfied at work. If they're expected to work on multiple projects, the constant context switching can be really draining and demotivating. I'm guessing you have tons of meetings because that constant churn means people need to be constantly brought up to speed.

Agile can help with that. With Agile, you only care about what happens in the next week or two, and at the end you'll have completed work on typically one project. Whether you work on project A or B depends on capacity, not whether you've worked on it in the past, though preference is certainly given to projects that you are familiar with.

Communication doesn't need to happen with meetings, it can happen with kanban boards, recorded knowledge transfer sessions, and code-level documentation. You should always approach software dev as if you'll be pulled from the project at any time and be brought back on after 6 months or more, so make sure to leave notes that you'd like to have when returning to the project. I don't consider software to be complete if it's hard to follow and poorly documented.

And change only needs to be communicated to impacted parties. There's no reason for team B to be notified of a change in team A's requirements, that communication will wait until the project is delivered (preferably in text form). There's also no reason for all members of a team to be involved in the change discussion, only those it directly impacts (e.g. I am a BE lead, and I'm often left out of FE discussions between my FE devs and design/product). Syncs between teams only need to happen when something is delivered, and even then can be handled mostly asynchronously through text.