I think I learned more this sprint about the necessity of good sprint planning than I did about anything else. We started the sprint by laying out goals, and by going over the user stories in the doc that AMPATH sent us. This was useful work, but after that we hadn’t planned for any real actionable items. Broad goals are nice for setting a larger scope, and less so for getting concrete work done.
I did, however, learn some concrete things; I think it’s also important to note that most of my learning took place in a group setting both within my team and with another team meeting in an adjacent space. I learned how the AMPATH app strings its services together to go from button press to REST API query, and how that information is propogated through the layers of services and onto the user interface. I also learned how they check the online status, which may be more important going forward for other groups that are focused on smooth offline/online transitions (my team, for now, is taking on data encryption).
Other than team planning process (which I will get to later), the most important thing that I learned was that, at least for me, it’s far easier and better to go through code in a group setting than individually. I tend to get lost or distracted when I’m looking through it on my own, where in a group I can focus and bounce ideas off of my peers. We ended up using a projector to throw the code up on the wall. We then started with a form that logically must request server access (we looked at the patient search form). From there, we looked at the service invoked by the actual search function(s), which is set up to generate a table of search results. In order to do that it makes use of another service, which actually builds the REST request from a URL stored elsewhere and the string passed along from the search bar. I think a similar tracing of services could be useful in the future to other groups interested in different parts of the UI. We also received some help from the AMPATH team, directing us to the openmrs-api folder which appears to contain all of the services that interact with the server.
The most important team-related learning that came out of this sprint is the now-clear necessity for specific, concrete tasks rather than more abstract ones. We came to this conclusion during our team sprint retrospective, and we agreed to spend more time breaking down tasks and assigning them during sprint planning moving forward.
In addition, during the class time where we met for our retrospective, we started researching already-made encryption services that we could use to encrypt records pulled from the AMPATH servers. We found three so far that may be promising; one way we can add specific, focused tasks for next sprint could be to assign one of these services to each team member so they can research it and prepare a brief report. This way we will be able to present what we’ve found to AMPATH for feedback on which might be the most suitable (they’ve already given us a few guidelines).
From the blog CS@Worcester – orscsblog by orscsblog and used with permission of the author. All other rights reserved by the author.