KA-Huis / space-management

The core application of the KA-Huis
https://ka-huis.github.io/space-management
Apache License 2.0
0 stars 0 forks source link

Proposal of MVP realisation before semester ends #160

Closed cyrildewit closed 2 years ago

cyrildewit commented 2 years ago

Description

Context

At the beginning of this semester we set a goal to launch a minimal viable product (MVP) of the application. Launching a MVP would lead to a faster development cycle, because we could ask our users for feedback. Launching a MVP that's used by actual users will also provide more value to the organisation at this point. Simple features for example can already make the life of the volunteers more easy. We all have been working working towards this goal. Both teams have (partially) realised the products they planned in the meeting between the frontend and backend team on 28 April 2022 (#89).

Proposal

My proposal for the final weeks of our semester (deadline: 19th of June) is to release and deploy the minimal features of the reparation requests feature. This means that registered users with the right permissions can request a reparation in the system. Concierge users can view an overview of all the reparation requests and manage them.

Focus needed

In order to make this deadline we all should point our head into the same direction and focus on the set goal. This also means we should take the responsibility and courage to actively remind each other of this goal. If someone is spending time on possibly unneccessary tasks, you should put your question marks by this.

Sharing the workload and make tactical discussions

We decided to from two teams at the beginning of our semester with the goal to work independently and faster. This was a good tactic to prevent spending someones time on unnecessary discussions. This downside of this organisation is that we cannot share the workload and make use of the experience of each other. We did this in order to focus more on our own learning goals.

I would like to propose to make sure of everyones experience and profession, so we can finish some tasks faster. Setting up a project with a new library for example can be a time consuming tasks. Someone that has experience with this library could however set up the projects in less than a day.

We usually always want to build a perfect product with all the bells and whistles. This is however not (always) achievable. It's sometimes better to iterate and start with a different solution at first. We can always adjust it at a later time.

Schedule

Counting from today (23 May) we have around four weeks left. I believe we can realise the following things. Would't it be great if we can present a working web application that's used by real users?

  1. Quickly finish the discussion in https://github.com/KA-Huis/space-management-frontends/issues/24, so we can focus on the important things. I would say that we go for the Inertia.js and React.js setup (Vue. would be easier, since I've already set this up in semester 3). Why? Developing the reparation request functionality using this setup takes less time. We can still use React.js and start with creating reusable components. This will live in the core-application for now, but could be moved to its own repository at any time. Something for semester 5. If we would like to split the backend and frontend application, we can reuse these components and most of the code. Only the data provider logic will need to be replaced. Also something for semester 5.
  2. Create the design of the advised setup from step 1.
  3. Work out the pages structure and features of all the pages. This needs to be done together with te team. All actions that are possible on the page needs to be worked out. Simple wireframes on paper are enough since most of the components have been designed.
  4. The frontend team will start with creating all the reusable components from the design in React.js components. These don't have to be extremely customisable or feature rich. Refactorings can always be made at a later time. Experienced people can assist if necessary. Pair-programming might be a solution.
  5. Experienced developers (@Hoopless and @cyrildewit) will prepare all the files (React.js pages, Http controllers, Form requests) in collaboration with the team, so everyone can independently on the given assigned tasks.
  6. Depending on the finished work from above, the pages can be realised. If the frontend team is quick enough, they could start on creating the pages in React.js without actual data from the backend. Pair-programming could be a solution to quickly realise them. Specific data is for example requested from the backend and the frontender might have a few questions about the data set and API.
cyrildewit commented 2 years ago

@Hoopless @MiKessels @Prupke @joeyvonck I took some time write down what I would like propose. I will present this proposal tomorrow at Fontys TQ.

cyrildewit commented 2 years ago

Everyone who accepts this proposal including the new details discussed in our meeting at Fontys TW, can you give this comment a thumbs up or thumbs down.

MiKessels commented 2 years ago

I think this proposal is a good idea for the last few weeks this year. As discussed with the stakeholder yesterday, I'll approve this proposal.