The application should assist gym users. By recording previous workout details (number of reps and number of sets, number of reps and amount of weight) the application can assist users in making workout decisions. Similarly, by clearly displaying patterns of exercise, regarding which muscle group is exercised and how often, the application can offer a benefit.
By the end of sprint one I aimed to have a three level application, with some interaction between the user interface and database using business layer to preform a few basic crud operations.
- complete user Story 0.1
- complete user Story 0.2
- complete user Story 0.3
- complete Agile documentation
- complete Agile review
- complete Agile retrospective
- update "read me" file
- commit all changes from local to git hub
The database was completed, it took several modifications to ensure the necessary data could be stored effectively and easily assessed when needed. Many feature methods were completed however uncertainty in connect a business layer to solution caused a reduction in productivity.
By finding examples to learn from I should be able to improve productivity. This will be especially effective in initially connecting the user interface and database to the business layer. Once a process is achieved replicating this for different functions should be less challenging.
I aimed to have all the basic crude operations working in the user interface. This was achieved. Looking ahead I need to test all functionality already created, I can then continue to improve functionality and work on the layout - testing as I go.
- complete user Story 0.2
- complete user Story 0.3
- complete user Story 1.1
- complete user Story 1.1.1
- complete user Story 1.2
- complete user Story 1.2.1
- complete user Story 2.1
- complete user Story 2.1.1
- complete Agile documentation
- complete Agile review
- complete Agile retrospective
- update "read me" file
- commit all changes from local to git hub
The user interface was created and I was able to complete all planned user stories. However I have gone back to adapt the user stories to include testing so the user stories will stay in the sprint backlog until the testing is complete. In the next sprint I will prioritise completing testing for the CRUD operations I have already created, before adding more functionality. The biggest blocker I faced was finding a away to move data between the database and user interface.
Using example I was able to work a lot faster. I will use this approach for the testing. My working environment has cause me to become distracted at different points of the day. In the next sprint I plan to log time spent on different activities. I also need to start estimate time to complete user stories so I can better estimate how much can be completed in a day. this is difficult to do with never processes such as testing, but once I get an idea I will start listing 'etas' in the sprint definition of done.
- complete user Story 1.1
- complete user Story 1.1.1
- complete user Story 1.2
- complete user Story 1.2.1
- complete user Story 2.1
- complete user Story 2.1.1
- complete user Story 2.2
- complete user Story 2.2.1
- complete user Story 2.3
- complete user Story 2.3.1
- complete user Story 2.3.2
- complete Agile documentation
- complete Agile review
- complete Agile retrospective
- update "read me" file
- commit all changes from local to git hub
I completed testing for all crude operations. This took me a while to do as I need to refresh myself on using 'set up' and 'tear down' methods. In my next sprint I aim to finish the remaining functionality and test these methods. The WPF layout is very basic, with no real structure. This was the plan as I was not unsure how to layout the application before starting. Once I have completed all the methods I will create a wire frame to set out the application.
Using example I was able to fill the holes in my knowledge quickly. I did log my progress in this sprint and will use this to plan future sprints.
- complete user Story 2.3
- complete user Story 2.3.1
- complete user Story 2.3.2
- complete user Story 2.3.2
- complete user Story 3.1
- create wireframe
- complete Agile documentation
- complete Agile review
- complete Agile retrospective
- update "read me" file
- commit all changes from local to git hub
I managed to complete all remaining methods required to satisfy the minimum viable product (MVP) set out by the project goals. Two user stories remain uncompleted, as they aren't required for the MVP they are low priority and will be left to be complete later in the process if time permits. In this sprint I created my wireframe and started to rebuild the application as intended for final use. I started to conduct some manual testing of the user interface to make sure the WPF responds as required. In the next and last sprint, I will complete the building of the interface and manual testing to make sure the application works without throwing errors or exceptions.
Progress was made consistently. With clear understanding of MVP it was an easy decision to prioritise application layout over completing the final user stories.
- Complete User Story 6.1
- complete Agile documentation
- complete Agile review
- complete Agile retrospective
- update "read me" file
- commit all changes from local to git hub
The application was complete with all crud methods passing unit tests and user interface passing manual testing.
All Goals were achieved comfortably. Unfortunately there was no extra time to complete the remaining user stories.
The project MVP was achieved and so the project is considered successful. Two user stories remain and should be completed for full application functionality. The application has passed both unit testing for crud methods and business methods. The user interface has been manual tested.
All Agile documents have been completed throughout these project, making the progress of this project extremely visible.
At the start of the project I was unsure of many design decisions, including application layout and some of the more subtle methods for example the methods for displaying error messages. As the project progressed I was more informed and so could plan out exactly how to distribute my time. Using the sprint documentation I have been able to stay on track, complete the application to the MVP as well as Testing.