0

As a nontechnical product owner how can I help my ML team to see steps ahead for their technical tasks? the problem I'm facing is that the needed requirements of these technical tasks gets clear in the middle of developments instead of sprint planning and backlog grooming. for example no matter how in detail the team discusses the tasks in planning some needed backend requirements brings up in the middle of development. how can I prevent that?

Please note that by requirement I don't mean business level or feature specification or even user stories. I mean what an ml specialist needs from a backend team for a simple one story point technical task. we split our user stories into small sections that can be done in 2 week sprints so I don't think we have a problem in agile methodology side. what baffles me is that the backend developers and ml developers gets tangled up mid sprint every sprint. and since our ml team doesn't know what they need of backend before starting developing their works gets pending to each other and we're unable to plan for our backend members because in every sprint so many unplanned tasks gets brought up. My ideal situation is to see at least 70% of the needed backend tasks(not even all :D) so we can fix the queue of the work or put the backend developers an sprint a head of the others.

6
  • 2
    Can you elaborate on what the problem is with not having fully specified requirements? The agile methods exist because and acknowledge the fact that it is very difficult, if not impossible, to plan and define everything up-front. Adding more up-front analysis and design is turning your development into a water-scrum-fall process. What, exactly, is wrong with discovering some details in the middle of a Sprint? What problems are arising because the team is discovering these details then instead of prior to Sprint Planning?
    – Thomas Owens
    Jan 11 at 21:43
  • Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.
    – Community Bot
    Jan 11 at 22:05
  • thank you for your response @ThomasOwens I edited my question.
    – Evaa
    Jan 13 at 9:35
  • The issue doesn't seem to be one of empowerment, but of education & training, possibly in communications. There is no evidence that they are forbidden to do so, merely that they lack the knowledge to do so effectively and the intent to communicate to avoid these challenges.
    – MCW
    Jan 13 at 11:49
  • Can you clarify what you mean by an "ML team"? That's not a Scrum term, and there are too many possible expansions to guess what it might stand for? Jan 16 at 11:30

2 Answers 2

3

As Thomas mentioned in comments, there's a clear trade-off on striving for no surprises during development. There's no practical way to have no surprises without falling into a full waterfall cycle.

Nevertheless, there's a few best practices that might help to alleviate the problem:

  • raise it during retro - by far the most effective approach. Only the team is able to be efficiently identify root causes and address them
  • agree on a "Definition of Ready". Validate if these key aspects are ok before considering a development ready for a sprint
  • look for patterns on unexpected blockers raised. Agree experimentations to alleviate them
  • have people with more expertise in this given area. Sounds obvious but seasoned professionals can identify gaps faster
2
  • can you explain a bit to me about the third point you mentioned?
    – Evaa
    Jan 14 at 8:08
  • "since our ml team doesn't know what they need of backend before starting developing their works gets pending to each other" a more seasoned / experienced developer would ask more questions so that less surprises appear mid sprint. It's not a matter of eliminating the problem but partially mitigating it.
    – Tiago Cardoso
    Jan 14 at 16:14
3

Related Context and Background for This Question

The OP had previously asked a very similar question that described a team where two machine learning specialists were “blocked” because they were discovering or reporting previously undisclosed dependencies on a single backend developer part-way through the Sprint. With that additional context regarding the team’s dynamic, my previous answer to the OP’s self-deleted question still seems relevant so I’m reposting it here.

Quick Analysis

In a properly functioning Scrum Team there is one product and one Product Backlog. While various Developers within the team may have specialties, they are still one single team and collectively responsible for product delivery and product quality. This requires close collaboration for all activities required to deliver the current Sprint Goal and Product Increment.

It is likely that the underlying problem is due to insufficient task decomposition during Sprint Planning, and a lack of ongoing collaboration between the backend and machine learning members of the team throughout the Sprint. This needs to be addressed structurally as a whole-team process problem.

Based on your description, you have an implied hierarchy where the machine learning people are treating the backend work as something to be delegated and "tossed over the wall" as someone else's problem instead of working with the rest of the team to define and deliver any prerequisites they may need. Scrum defines a team-based shared responsibility model for deliverables, and this certainly includes building essential technical runway such as any backend work required for the project to succeed.

Problems and Solutions

As an educated guess, not enough time is being spent on decomposing Sprint Backlog items during Sprint Planning. By the end of Sprint Planning, dependencies and timelines for the current Sprint should be fairly well understood by all involved.

In addition, the Daily Scrum is an opportunity for Developers to communicate about and collaborate on near-term dependencies. If the ML team members are working a day or more ahead of their backend teammate, this is a queuing problem that needs to be discussed. There should be enough collaboration that, at a bare minimum, the whole team knows what is needed today to get ready for the current day's work, and ideally what work will be in scope tomorrow so that near-term dependencies can be prioritized when possible.

The Daily Scrum is when anything that may prevent smooth flow is identified before it becomes an issue. If the ML team members' work will always be ahead of the backend work, then the team needs to collaboratively prioritize their tasks and coordinate their respective queues in order to maintain effective team flow.

Even if the ML developers must work from queues that empty faster than the backend queue can fill it, the fact that the ML queue developers are uncovering dependencies post facto means that the dependencies between the queues were not properly captured ahead of time, or that the Developers are not collaborating closely enough to maintain proper flow.

These planning and queue management issues should be addressed at the earliest opportunity, or at the team's next Sprint Retrospective at the latest. The whole Scrum Team needs to identify the root cause of the process problem (the "five whys" technique may be useful here) and work together rather than pointing fingers to find a way to prevent the dysfunction between the team member's respective pull-queues.

3
  • thank you for your response I deleted my posts because it came of as if our ML team are pointing fingers and not responsible or collaborative enough. that's not true. what I wonder is that we have sprint planning and we go through tasks and even though all our members are experienced in their fields why what needs to be done is opaque until they start coding. we disuse issues in our daily but the constant "something else is needed to be able to continue" messed up the whole daily and weekly work. I don't expect more than 70% to be clear in planning but now its not even close to 10%.
    – Evaa
    Jan 13 at 9:59
  • @Evaa, my guess is that people are only looking at "do I understand this task well enough to be able to work on it", but they forget the question "what do I need from others to complete the task". It might help if you start asking that second question explicitly during refinement and/or planning of the tasks. Jan 13 at 10:43
  • i tried the second question i even tried asking it 2-3 days before planning for a few times so they have time to think about it until sprint planning.
    – Evaa
    Jan 14 at 5:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.