Category Archives: Sprint 2

Capstone Retrospective 2

Although we have not been given anything to work on from AMPATH, save yesterday’s meeting, I have made the most of my time to learn as much as I could about Angular. I haven’t gotten all the way through the tutorial, but I want to emphasize learning it throughly over rushing it.

The first time I was going through the tutorial, I was well over halfway done when I realized I was missing one of the steps to get it to work. This happened early on in the tutorial as well, and I resorted to blindly copying and pasting every step again to get it to work. It turned out to be a very minor fix. I was much further in this time, and I was about to do the same thing, but I realized I would be wasting my time if I did that. If I didn’t understand the code enough to diagnose these simple fixes, I am not getting much out of the tutorial doing it this way.

I was talking to members of my team about it, and we came to the conclusion that even if we individually only got through the first few sections of the tutorial, our time would be better spent if we understood what we were doing thoroughly over completing all the sections without as good of an understanding of the concepts.

Even though we have not been doing a lot of work together as a team for the clinic, it is really nice being able to bounce ideas off members of our team. It is great  to have the ability to share resources with people I am working towards the same goal.

It feels like I am living out some of the apprenticeship patterns that are laid out in the textbook for this course. I am challenging myself to learn new concepts, even without a looming test or set deadline. I have gotten better and better into the habit of carving out a small chunk of my time to learning a new concept here and there. I hope this continues as this course develops, and I hope to continue this trait for the rest of my life.

Yesterday, our group liked the idea of working on the projects described in the videos in part 2a and 2b. I liked everything that I saw, and would be more than happy to work on this. It’s not certain if we will be the ones who get to work on this, but we will coordinate that with the other groups. I am very happy to get started. This is what I’ve dreamed about doing since I decided to major in computer science. It is really exciting making that happen.

I also read a part of Edward R. Tufte’s book Visual Explanations, where he has a page giving an example of what an effectively-laid out medical chart might look like (p. 111). Although this might be the only example I could find on something for medical use, I think this book might prove to be a good resource for displaying the data. I’m sure there is a lot to be learned even from the examples that are not specific to medicine.

The most useful tutorial I have found comes from Angular itself. It is a really easy-to-follow step by step guide that holds your hand through the entire thing: https://angular.io/docs

From the blog Sam Bryan by and used with permission of the author. All other rights reserved by the author.

Sprint Review Blog # 2

            Our second sprint had little coding action and more of a personal learning aspect that we decided to focus on. I found that the team benefited from individual learning in a similar fashion to an independent study when trying to learn about important concepts like Mockito testing and Angular formats. We then compiled our individual learning resources into our slack channel to help each other find resources that others may have missed. This allowed an easier flow of understanding while also being able to bring us all onto the same mindset of where we were in terms of starting the project. I will proceed to understand the AMPATH format for their angular code and translate that knowledge to the requirement we will need to meet in the future. AMPATH members have recently posted videos and presentations of how they want their new interface to look with explanations for user interactivity. We want to continue to understand how we should edit and evolve the code already given to us and turn it into the final product that they want. We will have to communicate not only with our team member but the other teams as well to go over which functions should be divided up and worked on. This will create a better organization system for how we should communicate with other teams as well to understand any implementations that they will do which might affect our portion of the project. We learned about how the AMPATH project works through the videos which explained everything from selection tabs to navigation elements. It seems that this design concept may be similar to that of a mobile app from the setup of the mockup files which makes our approach much easier to narrow down. The most important aspect of this design seems to be simplicity with functionality for the patients and their doctors. The ability to create a smooth design is going to be complicated with different teams working on separate functions that are supposed to come together to create this app. It will require concise and mutual communications from several fronts that we will need to perfect over time. I predict that in the beginning it will be difficult to explain our coding schemas and ideas properly to each other but once everyone gets a taste of each other’s coding styles, it can be done with minor hiccups. We also need to decide whether we will stick with the idea of using a Mockito style for our testing or setup a server on campus to continue working with fake data. We have communicated with multiple teams about this idea and think that we should at least try to see if setting up a server is viable with as few hiccups as possible otherwise, we will have to look further into testing. I believe that setting up the server could work out well for every group, but it could cause issues with connecting and internal errors that we wouldn’t be able to figure out properly. It is definitely worth a try as it would be an interesting experience to understand and make it easier to test if we should be able to get fake data.

From the blog CS@Worcester – Student To Scholar by kumarcomputerscience and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective – Round Two

            A reflection
on what I learned from this week’s activities is that when the working mindset
begins it goes quite smoothly. Once everyone settles in and breaks the ice, we
are able to communicate clearly and effectively what our intentions are and how
we are to go about it. When a certain task is finished, other members are notified,
and opinions are needed before we go any further with the task or beginning a
new one. When we get proper feedback, we are able to safely continue down the
path or create a new one to account for changes.

            Another
lesson learned from this week’s activities is that members will tend to focus
on tasks that they are comfortable with first. In my case, since no one was
comfortable picking up the role on working with databases, I felt confident and
comfortable enough to pick up the task. As for the other group members, they
also went off in the direction that would prove most beneficial to the group.
This way, the group will spend less time learning material that other members
are clearly proficient enough to get started. After that, we are able to
converse and teach our knowledge with the rest of the group members which is
quite efficient.

            In light of
this lesson learned, the next time there is a situation where the group is
clearly new to each other, and a project is being newly developed. It should be
safe to assume that everyone is not comfortable with each other yet and needs
time to adjust to the new environment and mindset. In this case, there is no
need to be anxious about the project over the course of several weeks as the
working process will natural come.

            During this
sprint, my task was mainly focused on creating a design for the database. This involved
reviewing materials provided by the client and any requirements or constraints that
are to be noted. The chosen route when creating a database to account for Database
Management System (DBMS), as such an E-R Model is required. The chosen platform
for the database is SQLite, we noted the importance of being able to export the
database file as a CSV file and vice-versa. Being able to obtain a CSV file is
important for the client as it’s their preferred filetype for distributing
information.

            Starting
off, I noted for four entities, staff, client, inventory, and items. In the
staff entity, it contained the attribute OneCard_ID
and a composite attribute Name which
accounted for First, Middle, and Last Name of the staff member. For the
client, it contains all of the attributes of the staff entity but introduces a
third attribute called Last Visit Date,
to account for information regarding the last time the client visited the food
pantry. Then you have the inventory entity which only contains the attribute Total Weight, since the pantry uses weight
to keep track of how much food is in stock. Lastly, the items entity contains
five attributes, Item ID, Item Name, Item
Weight, and Item Stored Date
. However, to account for a concern from the client
about confidentiality of information the names of staff and clients are later
crossed off from the E-R Model. In conclusion, after consulting the group, the
next step is to create and connect the database with the project in order to
fully utilize its intended function.

            Starting off, I noted for four entities, staff, client, inventory, and items. In the staff entity, it contained the attribute OneCard_ID and a composite attribute Name which accounted for First, Middle, and Last Name of the staff member. For the client, it contains all of the attributes of the staff entity but introduces a third attribute called Last Visit Date, to account for information regarding the last time the client visited the food pantry. Then you have the inventory entity which only contains the attribute Total Weight, since the pantry uses weight to keep track of how much food is in stock. Lastly, the items entity contains five attributes, Item ID, Item Name, Item Weight, and Item Stored Date. However, to account for a concern from the client about confidentiality of information the names of staff and clients are later crossed off from the E-R Model. In conclusion, after consulting the group, the next step is to create and connect the database with the project in order to fully utilize its intended function.

            Starting off, I noted for four entities, staff, client, inventory, and items. In the staff entity, it contained the attribute OneCard_ID and a composite attribute Name which accounted for First, Middle, and Last Name of the staff member. For the client, it contains all of the attributes of the staff entity but introduces a third attribute called Last Visit Date, to account for information regarding the last time the client visited the food pantry. Then you have the inventory entity which only contains the attribute Total Weight, since the pantry uses weight to keep track of how much food is in stock. Lastly, the items entity contains five attributes, Item ID, Item Name, Item Weight, and Item Stored Date. However, to account for a concern from the client about confidentiality of information the names of staff and clients are later crossed off from the E-R Model. In conclusion, after consulting the group, the next step is to create and connect the database with the project in order to fully utilize its intended function.

What I produced this sprint:

References:

https://www.geeksforgeeks.org/database-management-system-er-model/

From the blog CS@Worcester – Progression through Computer Science and Beyond… by Johnny To and used with permission of the author. All other rights reserved by the author.

Sprint-2

There was very little productivity during this sprint due to minimal work assigned. To keep busy our team used the time to learn about angular and testing in angular. One method that helped me learn more about angular was to do the Tour-of-heroes tutorial on the site. After doing so I understood why angular was used and what components really were and how they responded and “talked” to each other.

The final day of the sprint, we were given assignments that included creating the GUI of some sort of web application. Our team sat down and decide which interface we wish to move forward with. Before doing so we actually looked into what programs we were going to use and watched some YouTube videos on the instructions.

From the blog CS@Worcester – Life in the Field of Computer Science by iharrynguyen and used with permission of the author. All other rights reserved by the author.

The IncreEdibles Sprint 2 Retrospective

This is the Sprint 2 Retrospective for team The IncreEdibles. We got assign to food pantry development, but we didn’t give any specific task. Big part of our team is design program and listen to the food pantry owner. There are two projects that we are working on, one is the make API that support other project where they can pull any information that they want. The other project is to work with Worcester State University food pantry.
As a group we decided to focus on WSU food pantry since we see more potential in this project. First, we want to know what the important features that costumers want. We learned that setup with costumers is not easy, not just to set the time and place for meeting. We have setup our communication on Slack, but most of the costumers are not in tech they don’t want to install complicate software. They want to have program where simple “plug and play”, so their energy can focus on what important to them. This is the problem that I think we always face with customers. We as developers before the meeting need to have set of question to ask, not all customers know what they want. We had meeting with Joanne, the professor who run the program. She wants to know who goes in and how much they take out the food, keeping track with the amount of food (by weight) is the main feature.
We took notes from the meeting and make email as direct communication that convenient for both parties. These features are important, but we must think of the design future features as program getting update. Features that they don’t think they need at this moment, that mean we must track data. These are sensitive data, we must be caution. The features seem not difficult as keep up with the weight of the food, but we want to have reliable program where it’s simple and easy to prepare/add feature.
There are few techs that our group need to know, OneCard swipe machine, we need to know that it is operative and how to implement to our program. How to export from the “sign up” Google Form. Export form that the costumer can export to submit to Worcester Food pantry. And most important is design our program where it is simple, clean and it do what it’s supposed to do.
Our next step is researching all the techs to make all priority feature work. Make a mock program, and present/sell it to the costumers. In this sprint we want to know how far we can get this program to work. There is other group in different section also look at this program, our problem is time difference and communication. If they have the same direction as us, we should find a way to divide the program into two parts that two group could work on. We find that the communication is one of the biggest problems even with members in the same group.

From the blog CS@Worcester – Nhat's Blog by Nhat Truong Le and used with permission of the author. All other rights reserved by the author.

Software Development Capstone – Sprint 2 Retrospective

This past sprint was, to me, significantly less eventful than the first, but still very important in the progress of our capstone project. Over the past couple of weeks, I spent a lot of time focusing more on preparing for this upcoming Sprint 3, familiarizing myself with the tools and technologies that we will be using for our AMPATH project. We just received word about the kind of specific development work that we will be doing for the project, so keep an eye out for my Sprint 3 Retrospective for more information on that!

As I mentioned, Sprint 2 ended up being less productive for me, for a few reasons. We had a couple of class sessions cancelled (snow and other outside circumstances). While this fortunately did not slow our progress (everyone on our team has the AMPATH project built and running successfully!), our team has been taking advantage of each period of class time to discuss our progress, help each other out with any issues what we may be having, and planning our next courses of action. So, missing a couple of the sessions definitely slowed down some of the work that I could’ve been doing.

Another reason why this sprint has been a bit quiet is that we have not heard much about development ideas from the AMPATH team until yesterday, the final day of Sprint 2 and the beginning of Sprint 3. I’m very excited to start coding more, now that we have more of a plan, which involves mobile app development!

Our team had 2 tasks to complete this sprint – reading about Angular testing, and building and running the AMPATH project. Because I completed the second task during the previous sprint, I only had to concern myself with Angular unit testing, along with working together with my teammates to make sure that everyone could run the AMPATH project.

At the beginning of the first sprint, we had been tasked to learn about Karma and Protractor, two popular Angular unit testing tools. I, like other classmates working on development for the AMPATH project, utilized documentation for each tool in order to better understand how they work. My resource to understand Karma is found here, and for Protractor I used this source. Angular automatically incorporates Karma testing when creating any new project, so I spent more time reading about that tool. Karma and Protractor are similar, though, in that both load up servers on one or more browsers (specified when configuring) and runs the developed source code with the written tests. Then, the developer is notified whether each test passes or fails, via command line or through the browser.

This sprint really made me appreciate the quality assurance testing course that I took last semester. Learning about Java unit testing and its basic framework made the comprehension of this newer concept a bit easier.

Once again, I’m looking forward to posting more about progress that our team makes during this upcoming sprint! We have a lot of exciting ideas to discuss and potentially work with.

Thanks for reading!

From the blog CS@Worcester – Hi, I'm Kat. by Kat Law and used with permission of the author. All other rights reserved by the author.

Sprint 2 Retrospective

For this week, I have finished up Sprint 2 and I would glad to be talking about it.

What I wish I could done throughout this sprint was to finding

 

 

 

 

 

 

Links:

From the blog CS@Worcester – Onwards to becoming an expert developer by dtran365 and used with permission of the author. All other rights reserved by the author.

Sprint Retrospective Blog Posts 2

Welcome back everyone to another CS 448 blog post. Today topic is going to be about the second sprint retrospective. This second blog post is going to about the recent actions that I been learning in the class, the work and work products that I am producing during the second sprint. The second sprint was very informative we worked on researching many topics that can potentially relate to our projected plan like Angular testing, Ampath, etc. During this sprint, I already had the Ampath to run on the personal computer but there were a few group members that were having minor issues when building the Ampath project, so I prioritize some so my time towards having Ampath running on every member in the group personal computer. I research many of Unit testing for Angulars like Karma and Protractor and found it important to learn for a solid foundation when testing in Angular. There was really much work again during this sprint as we were waiting for more information about objective for the Ampath project but meeting on this sprint we finally got some clarity in the project. We added more task in our sprint backlog like figuring if we will get access to Ampath on our computers, keeping an eye out for Zeplin shared folder and finding out more about mocking the database. There were also some videos from Gregory Schmidt that we had to watch which I finish which gives the main idea on which we should create during this semester. I found these videos easy to understand and after I feel more anxious and clearer on what must be done. I saw that Gregory Schmidt was developing an android application and now curious if we can create the Ampath application in another platform like IOS. My thoughts on the project are that the project will be a simple application that records and stores data. I will be continuing to do more research on this project during the break and found out more about the developing environment and programming language that we will be using. I researched briefly on how to save data into a database and I found that in IOS developing you can use SQL to create a database and then import the database into the swift project. I believe that you can probably apply the same concept with another other environment and programming language. Other than this information, I really haven’t done any significant towards the Ampath project. Also, if anyone is still having trouble getting the Ampath project to run on their personal computer just follow the lists of steps that I and the members of my group posted on slack. During the sprint, our group work well and perform great together as a team. I learned a lot of important information about testing and application development during this step. I am planning on applying some the stuff that learning in application developing in Swift towards the Ampath project. All in all, this is what happen and the things I learned during this sprint.

From the blog CS@Worcester – Phan's CS by phancs and used with permission of the author. All other rights reserved by the author.

Sprint 2 Retrospective

For this week’s blog, I will be talking about our second sprint working on the open source food pantry project. This sprint was a bit unique as to the first one since it is mostly about communicating with the customer.

In this sprint, I learned a lot about the communication between us, the developers, and the customer. I learned that it is not a simple process. At first, I thought that it would just be a simple interaction, they give us what they want or how it should look like, and then we try to create it and meet their demands. But that is not how it goes at all. There was a lot of interaction that we needed to do since the customer does not know what they really wanted. There is also the issue of communication. Most of the time, it is hard to get hold of the customer and we have to wait for them to respond to us before we could even move on with what we are doing. I also learned that starting a new project is like an open-ended question. while planning on this project and asking the customer questions as to what they want, it just seems like they do not really know what they want.

During this sprint, we have decided to change our focus from making the foodsaver REST API onto making the food pantry software since the other team has already made it. This sprint was mostly about communicating with our customers. The first meeting with the customer is with Serena. Serena works on Thea’s food pantry and knows how the pantry operates.  During the interview, we asked how the pantry operates. They have a google form that is filled out once by every student that goes there. It asks about the number of people in their household, their income level( whether they qualify or not), and what kind of help or services they are already receiving. If they already filled out the form, they only need to swipe their card preferably but for now, they just take note of the student’s ID number. Then they weigh the items that are being taken by the student and record it. They only keep track of how much weight is taken and how much weight is left on the pantry. 

The second meeting that we had was with Joanne, she has been helping guide the student-led-food-pantry initiative. Before our meeting with her, we tried to come up with questions to ask. Most of the questions we came up with was just a clarification on the information we got on the first meeting. In our meeting with Joanne, we asked her again about the forms and what kind of information they are storing. Since they cannot give us private information, we asked if she could just blur out the pieces of information and leave the column headers. This meeting was mostly trying to learn what the food pantry does and how they get food in and out. This meeting also opened the topic with the one card system and how they want it to show information about the student once they swipe.

From the blog cs-wsu – Computer Science by csrenz and used with permission of the author. All other rights reserved by the author.

Sprint 2 Retrospective

This week’s Sprint was relatively uneventful due to a combination of reasons. First, due to the weather, we had snow days which interrupted our meeting. Second, we had issues communicating with the Ampath people, and we had classes cancelled for a week, so there were no concrete assignments for us to add to the product backlog to create our definition of done to deliver value. Finally, and this is a more personal reason, I caught a stomach bug so I was unfortunately not able to show up to the few classes we met up in.

Even though we weren’t able to produce any solid units of work, we still kept our team on track for our Scrum related tasks such as our stand-ups and kept our overall plan pretty solid. We are still in the process of completing the tour of heroes tutorial for angular, as well as installing and finishing the tutorials for the two testing frameworks Karma and Protractor.

After we began that, we took a look further at the tutorial for Karma, and installed the code into our computers. The Karma tutorial is relatively short, although we are expecting to have to allocate some extra time to researching about the Jasmine framework and syntax that both Karma and Protractor use in their testing commands. One thing we noted while looking through the tutorial is the fact that Karma tends to look similar to junit unit tests, so we are hopeful that Karma will feel somewhat intuitive when designing our unit tests.

The first major decision our group made based on the tutorials was that we are going to go with the tour of heroes for brushing up on our angular skills. We are allocating the most amount of practice time to completing the tour of heroes because we all believe that brushing up on our angular skills will be the primary force behind our whole project, while we can learn the testing frameworks slightly easier, is what we are hopeful for.

In light of the fact that our group was not able to produce any direct value this sprint, I still believe that we will be an efficient team. Even though we had no tasks, a few of our team members kept us on track for due dates of stand-ups, CATME surveys, and blog posts. The rest of us kept on track for preparing for when we had work to do so everyone in our group would be ready to hit the ground running.

So what I learned is that even though we did not contribute anything to the project during this sprint, I do not believe that we need to change anything about how we proceed or group organization or splitting of tasks. I am happy to have learned that team roles are naturally starting to develop due to the personalities of our team members, as one of us is adept at time management and keeping the group on track, while some of us can help out more with technical skills and troubleshooting skills. That is great because we will have less difficulties.

 

From the blog CS@Worcester – Bit by Bit by rdentremont58 and used with permission of the author. All other rights reserved by the author.