Developing Needed Infrastructure vs. delivering a viable iteration
I find it very difficult to understand how to build infrastructure using the Scrum framework.
for instance, we have a task to do A b c d e f and G. Now we could implement A separate from B c d e f g or we can write a common framework that generates code and allows us to bring in A B C D E F G much more easily. The common framework will take 2 sprints based on the estimates. after that it will be a slam dunk to bring in the A B C D E F G functionality.
Everything i read indicates that you should implement A practically in a vacuum and not look at the long view of how putting some pieces in place will help in the log run.
perhaps i need to expand my definition of delivering a viable iteration, but I'm having trouble seeing this.
Would the delivery of A separate from the rest provide valuable feedback to support future delivery? Can the delivery of A deliver business value, even if it is minimal?
What assurance is there that B, C, D, E, F, and G is the correct framework? Is there a portion of this (thin slice) that can either confirm this approach, or point out its shortcomings?
What is the simplest item of value that can be delivered to the business/customer to solicit feedback and gain knowledge to help future development?
I find it very difficult to understand how to build infrastructure using the Scrum framework.
Build just enough, and no more, to allow an essential assumption to be empirically validated.
If a core component can validate an assumption about features A B C D E F or G, or indeed validate any part thereof, then such an exercise may be viable as a Sprint Goal and work planned accordingly.
A Sprint Backlog might reasonably address just one component of an envisioned core and perhaps just one illustrative usage scenario of just one feature.
In other words, most of the effort in a Sprint can be expended in developing a common core, but usable functionality should be delivered, however minimal it may be, and which proves the utility of the work done. The idea is to minimize the leap-of-faith taken when making any investment.
I have run across these scenarios. There is no prescribed way per say. I come from multiple backgrounds so I answer a lot not with scrum theory but what makes the most sense. Scrum Masters get to caught up in trying to figure out what Agile says to do based on the scrum guide rather than practical knowledge.
Don’t do this alone this should be a team effort to agree on. You can’t make these decisions as a Scrum Master. You are not a project Manager you are a servant leader to the team. You are also not an architect.
---“The common framework will take 2 sprints based on the estimates.” --
Then run 2 sprints to deliver the “The common framework”. There is no harm especially if the product owner agrees. I have done this. Unless you are really expected to release something in a CI\CD framework.
Or you could do what agile says you can do which is develop this “The common framework” over the course of the sprints you have them planned for A b c d e f and G. I just think with what little I know on this I’d do the 2 sprints, build the “The common framework” if the PO knows they have value in the short and long term maybe there is no issue.
Or again I am assuming these are ( A b c d e f and G. ) PBI’s that are dependent on the “The common framework”.
Don’t get too hung up on figuring this out you can sprint anything you want as long as the PO and team agrees.
Work with the team and PO.
Would the delivery of A separate from the rest provide valuable feedback to support future delivery? yes
Can the delivery of A deliver business value, even if it is minimal? yes
What assurance is there that B, C, D, E, F, and G is the correct framework? Is there a portion of this (thin slice) that can either confirm this approach, or point out its shortcomings?
its code that auto-generates the required code, so yes it is the correct framework. Certainly doing A using this framework would point our the shortcomings but doing A doesn't necessarily mean you need to do the auto-generate infrastructure.
What is the simplest item of value that can be delivered to the business/customer to solicit feedback and gain knowledge to help future development?
being able to support A. But how it is implemented is not part of the feedback.