Use common sense, and organize your team in a way that works.
Students tend to learn to do that in university group projects. Then they join the industry and we tell them "you need to gather everyday at the same time for what we call a 'stand-up', where we talk to each other". Guess what? The students were communicating without having to make formal stand-ups, and it worked.
I’d say that it depends on who you ask when it comes to what’s „common sense“ and what’s „a way that works“.
What I have seen working is:
- Have somebody who is responsible for understanding the customer from a business perspective and be able to explain that to developers in the form of prioritized development items.
- Try to build something that works to confirm your assumptions and manage risk, ideally on a short-ish cycle of a few weeks. Always keep a working product. In some projects this is not (immediately) possible - in that case, it’s probably better to run a traditional waterfall-project, with the tradeoffs that come with it.
- Get together regularly to talk about less immediate topics and improve the work process.
- Plan and make forecasts using actual data from the past, not wishful thinking.
And that is basically Scrum. For me this is common sense, I wouldn’t know why you would do it in another way.
How it’s implemented in practice differs and it seems a lot of places don’t implement it very well. So far I haven’t heard many good suggestions from the developers suffering under these implementations on how to make it better though, hence my question.
The devil is in the details. The problem is the cargo cult that goes with Agile. You can take any example that works and say "this is Agile!". But in practice, what happens with Agile is that some people come with their book that they treat like a bible, and try to apply it without question.
I have had teams where we were communicating really well, but still we had a 40min standup everyday where we would basically say "as you already know, <blah>". Still we were doing standups, because the bible says we should. We could have used that time for a coffee with the team instead.
I have had teams where people were working on very different things, so nobody would listen to the others during the standup, and during the planning, it was 10 times a 1-on-1 with the team lead because nobody really cared about the tasks of the others. Everyone but the team lead was losing their time. But the team lead found it useful (obviously).
Students tend to learn to do that in university group projects. Then they join the industry and we tell them "you need to gather everyday at the same time for what we call a 'stand-up', where we talk to each other". Guess what? The students were communicating without having to make formal stand-ups, and it worked.