My software development class is structured to feel more like a real work environment. In this way, we practice completing tasks on schedule in a “sprint” format. This means each student is assigned a development group and communication is emphasized heavily. We began the semester by signing up and downloading the required tools.
We made sure everybody joined the same slack channel, so we could share information and update each other as we continue the project. On this slack channel, we are required to periodically enter what we have done, what we are doing, and any roadblocks we encounter in order to keep the rest of the team informed on our progress. Various slack channels are also set up so that we can ask questions to other groups who may have similar obstacles. Interestingly, we found that collaborating through the other channels was the most effective way to solve our recent issues.
We also used a website named trello.com to organize our project and condense it into workable tasks. This includes a product backlog for general goals, a sprint backlog for tasks and stories we aim to finish before the end of the sprint, a “doing” column for tasks that are currently underway, and finally a “done” column for completed tasks. We spent some time making sure the organization was set up correctly and that everybody was joined in on it. In class today, we prepared new objectives for the next sprint and archived old completed tasks.
In the first few days of this sprint, we also made a repository following the project we will be contributing to this semester, AMPATH/ng2-amrs. Everybody in our group cloned the project from the repository, so we each have the ability to view a local copy. Looking further into the README file, we gained an understanding of how to build, test, and access the server associated with the project.
Next we had to make sure we had a proper development environment to run the project. This included getting everybody the latest version of NPM, Gradle, Insomnia, open MRS, and an IDE of choice that runs typescript, for that I chose Jetbrains Webstorm with a student license. This task took us the most time and still is not finished, only one group member so far is able to run the project successfully. Some of the software we installed, namely Gradle and Insomnia, we may not end up using, so ultimately I think we can get better at limiting redundancies by further defining what is required to complete a task.
By the time our next sprint is over, we aim to have every member able to run the project, then we can start contributing to it. It seems that each group member has their own issues with starting the project, which will slow us down since we may have to work through new problems for each member. We also have sprint backlogs set up to become familiar with the programs Karma and Protractor to help us test the new angular code.