Stan Belen wrote:I'm thinking to tell my manager that I think that it would be helpful if the team can be divided into groups that are working in the same area and, in addition to the scrum, for these teams to have a separate meeting to discuss their work in more detail among each other. I think that this would make it much more helpful, to share how you are implementing something and bounce ideas, get feedback, etc.
Do you think this would be a good idea?
I'm not sure how your system/services are structured, but if you are saying something similar that Backend and Front-End teams are mangled, then yes, potentially would make sense to separate them.
Now, as far sharing knowledge or discussing the implementation details, give a try pairing with someone on the aforementioned task(s). Two heads usually are better than one. And that is also good for knowledge sharing.
Over the years observing those things in the teams I worked with, I feel your tasks aren't decomposed enough or in different words - too big in scope, hence could not be tackled in reasonable amount of time.
As an example what I mean, let's say you have a task to implement some API endpoint, that consists of (taking example from a thin air):
produce OpenAPI specscreate database table(s)implement API specs
So now you have couple of choices, you can have a one task, or you can have three tasks, likely tackled in different sprints. So when you do this kind of repetitive work several times, you start getting a pretty good idea how long each of those tasks take. After few iterations like this if your team no longer sees the point in decomposing that much, you have it as a singular task, but now you can be more accurate in predicting the time it may take.
And I believe that any big task could be decomposed to smaller set of tasks, then those smaller tasks into more smaller tasks until they are manageable in terms of scope to achieve in a reasonable amount of time.
Another thing what I think helps, if you work on tasks and constantly get stuck on something that makes you delay in accomplishing them, maybe you don't do enough discovery around the area, so you have too many unknowns or fuzzy areas that surprise you during implementation.
So to deal with this kind of things, you maybe could have some discovery tasks prior actual implementation where you could give a go in some dirty way to get a sense what you are going to deal with and later just discard that work, so the upcoming sprint you could work on actual task implementation, but now with smaller chances to surprise you.
But you know, there is no one silver bullet, you need to experiment and see what works for you and your team.