jorgecotillo / green_light_health

0 stars 1 forks source link

System Architecture #24

Open nasadorian opened 4 years ago

nasadorian commented 4 years ago

As a development team,

We want to to discuss and settle on a system architecture for the Green Light Health application so that we can implement it. This architecture may encompass a front end framework, a data layer (databases, queues) and a compute layer (API and data processors). An example architecture is described below for the sake of discussion.

noweber commented 4 years ago

@nasadorian In a similar manner to the domain modeling, I don't agree with this user story being on the backlog. I agree that system design has value, but I don’t agree we need or should attempt to take on this much breadth up front. Instead, I believe we should look at the most urgent problems and focus entirely on those. While, of course, we will try to look ahead, we don’t need to force ourselves to attempt to foresee all paths this software could take. Again, we should design slices of functionality with less breadth such that we can better adapt to stakeholder feedback and keep our output focused on working software.

noweber commented 4 years ago

@nasadorian To clarify, I think these should be tasks underneath multiple user stories rather than a single user story itself.

nasadorian commented 4 years ago

@noweber Yeah, that makes sense. We can pick off individual items from here for the product backlog as they become necessary to build.

noweber commented 4 years ago

@nasadorian @jorgecotillo I gave this more thought and did some reading through the evening and morning. I think this is similar to the environment creation stories, which I was on the fence about (we absolutely need them, but I wasn't sure if they should be user stories themselves). I think the way we need to capture this is to create personas within the development team. There are developers who love and are deeply knowledgeable about infrastructure, developers who love system design, developers who love front-end coding, ones who specialize in efficient best practices, etc. Those passions and strengths being captured by a persona means we need to account for them in every story (as needed, of course). Then, even with the infrastructure story, we would be creating the pieces of our environment we need as we go along. Taking each vertical slice piece by piece for what it is. Additionally, it becomes a never ending process rather than a single upfront effort to ensure our infrastructure and system design are part of the discussion because it is integral to everything we deliver our user. Thoughts?

noweber commented 4 years ago

So, as per Richard's response, what I listed seems to be the right approach for this course aside from the developer persona's. Stakeholders should only be people external to the team.