Monthly Archives: April 2022

Spring Two Retrospective

During spring two, we had more experience working as a team, and there were some big improvements and things that went well. There were also some areas in which we can improve, that we discussed in our Sprint Retrospective meeting. We started with what went well.

One thing that we improved with was using GitLab to better organize our collaboration. We used comments in the issues section of GitLab so that our development can be better documented. We were using discord and talking in person during the first sprint, when we should have been using GitLab comments. Another thing we did well was approving Merge Requests Asynchronously. During sprint one, we merged all of the requests as a group during class. This was tedious at best, and at worst led to merge conflicts, with branches being many commits behind. This time, we created a system in which any time a team member is the second to approve a Merge Request, he will merge the branch into Main. This streamlined the merging process.

Another area we continued to excel in is getting issues completed, and evenly dividing the work. With the exception of Issues that are not in our control, we completed all of our assigned issues. And we evenly divided the work. We faced some delays, as we had spring break, followed by a week of cancelled classes. But we still managed to get a lot done. We have a lot to celebrate as team, but there are some things that we can improve on.

We had a two week break from classes. And our productivity decreased during that time. We got better at using discord to collaborate remotely. And if issues like this arise again, we will be better equipped to handle them. Another thing we can improve on is naming issues more descriptively, and link issues to epics. We can also work on being more proactive with asking our instructor for help as needed. As a group those are the things we need to work on. And as a team member, I need to contribute to this.

I think I did a great job during this sprint, and I learned a lot. But there are some things I can work on. Going back to some of the group feedback, I need to be more specific in naming issues. This is extremely important, so that if another team member works on an issue I created, he is working on the correct piece of the project. Another thing I can work on is the way I help other team members as problems arise. A few team members needed help getting Chai to work. And were facing a “Chai is not defined error”. I thought this was due to Chai or node not being installed. As when I was in my branch it worked fine. When I moved to main and pulled all of the changes I found that I was getting the same error. It was due to a missing import statement in one of our testng files. I learned that I should take a closer look when trying to help another team member. Meaning that I should switch to their branch and pull all of the recent changes.

The issues I completed / worked on during Sprint two are as follows:

Test File for products: https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/general/-/issues/3

Create Data file for Products: https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/5

Test File for Returning API: https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/13

From the blog CS@Worcester – Jim Spisto by jspisto and used with permission of the author. All other rights reserved by the author.

Sprint 2 Retrospective

This sprint I feel we all did pretty well all around, and were able to accomplish almost all of what we set out to do. The workload felt very balanced throughout the sprint, not too heavy, but not too light either. My contributions to the sprint was primarily research, in particular the interactions between worker nodes and pods, and figuring out how we can install Keycloak onto our Kubernetes cluster.

For this sprint we tried to evenly distribute the workload as much as possible, so that no one was doing too much or too little. Since we had a total of 25 weight to complete this sprint, we tried to get everyone to do around 5 points worth of work, since 25/5=5. We did not put too much focus on how those 5 points were distributed, however, so someone could have done 2 2 weight issues, and 1 1 weight issue to get their 5, they could have done 1 2 weight and 3 1 weight, etc. All that really mattered was getting everything done and done well.

Overall, I cannot say much that did not go well, as everything went pretty smoothly throughout the sprint. I feel that if we continue with what we are doing going forward we will do well as a team.

We tried to communicate as much as possible during the sprint, and when we were not able to communicate in class, we either talked through Discord, or had Zoom meetings to talk and discuss. I feel this helped a lot throughout the sprint so that we all had a good idea of what was being worked on, where everyone was on what was being worked on, and what still needed to be worked on.

While it seemed to be somewhat the same for everyone else, I felt the workload balance of the work I did was very well balanced. I did not feel too overwhelmed at any given point, nor did I feel I had too little to do at any given point either. Everything felt just right, and I hope that we are able to continue with this type of workload balance going forward in the future in future sprints. I know that this sprint was primarily the research sprint, and that the future sprints will be heavier with more work than research, so I hope that we will still manage to find a good balance with the work that we need to do in those remaining sprints.

https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/39

The above link will take you to my research about how worker nodes and pods interact, and how a pod is a part of a node.

https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/30

The above issue here explains how we would configure our Kubernetes cluster to add Keycloak to it.

From the blog CS@Worcester – Erockwood Blog by erockwood and used with permission of the author. All other rights reserved by the author.

Retrospective: Sprint 2

Christian Shadis

This past week, my development team in my Software Development capstone completed our second of three Scrum sprints for the semester and recently had our Sprint Retrospective meeting. This was my (and the team’s) second cycle in an Agile environment, so we were more comfortable with the process.

The most notable improvement from our first sprint to the second was the development workflow in respect to version control. Our largest difficulty was previously with the branching and merging process; team members were pushing code with conflicts, were pushing new code before fetching updates, and were having numerous failed merges. After having several weeks to acclimate, we were able to execute the workflow smoothly for the second sprint. After implementing a new policy allowing merges to occur outside of class, we were also able to better utilize class time to address problems team members were having instead of reviewing pre-written code.

Perhaps the largest roadblock in this sprint was a large block of time in the middle of it during which little work was done. We were off for a week for Spring Break, before having both classes the following week cancelled – no members were available to work on the project during this time. Thus, a significant portion of the sprint was spent completely idle. However, we were able to recover as a team and complete enough work before the sprint concluded.

There are some improvements the team can make for the next sprint to increase our effectiveness. First, the team should improve the naming of epics and issues and do a better job of linking the two. We have epics but have been failing to link issues to them. Additionally, the approval of merge requests needs to be done more continuously and quickly after the request is created.

However, there were several areas in which our team excelled. As in the last sprint, our team successfully divided tasks amongst all members to prevent any member over- or under-producing. Any problem a developer had was brought to the group and resolved in a timely manner, which was made easier by our improved merging workflow and increased available class time. We communicated much more in Gitlab than in the previous sprint, allowing conversation to be kept for posterity. It is also noteworthy that we completed most of the planned work despite a time gap

I contributed to the project in several ways. Perhaps my most significant contribution was the revision of the API repository to produce a valid API that passes the npm test. This consisted of fixing naming errors and references in fifteen different files (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeperapi/-/issues/4). I also added a few necessary files to the backend repository (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/17, https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/18 ). Previously to validating the API I renamed several files in the repository to ensure all files were capitalized consistently in camelCase (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeperapi/-/issues/10). Finally, I contributed by opening a dialogue with the IAM and AWS teams to inquire about incorporating access management into our API, and about deployment on AWS (https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/14, https://gitlab.com/LibreFoodPantry/common-services/foodkeeper/foodkeeper-newbackend/-/issues/15 ).

Though I performed better than in the first sprint, there are some areas in which I can improve for the final sprint. First, I would like to be more consistent in my work. In the previous sprints, I have been taking multiple days between work sessions and doing work in bulk. This increased the amount of time needed to orient myself with the task at hand and catch up with other work done in the span. Working more continuously would prevent that. Furthermore, I would like to write more code for the next sprint – while I completed several issues, I wrote very little code this sprint. I believe my backend development skills could use the boost of writing more of the code. I will choose different types of issues to assign to myself for the following sprint.

I would consider the sprint successful overall. Essentially, we have a working and validated API, most backend code, and are working on integrating the two together, leaving testing for the third sprint, which is in line with our pre-semester goals. We have worked well as a team, I have worked well as an individual, and we are well on our way to a (near) finished product at the end of Sprint 3.

From the blog CS@Worcester – Christian Shadis' Blog by ctshadis and used with permission of the author. All other rights reserved by the author.

Sprint 2- Retrospective

This sprint went slightly better than the first one. Though we didn’t get to full completion of what we had planned for the sprint, we definitely tackled it understanding what needed to be done and how to do it.

What worked well:

As a team

The most noticeable thing was how comfortable everybody felt tackling the different tasks. During the first sprint everybody was sort of new to this whole process and it was hard to find the right balance on how to work as a group.

Another success was that we had “better” issues than previously. Now that we knew what actually needed to be done it was easier to pinpoint and address them. We originally thought we would just have to modify the backend but then we quickly realized that the backend endpoints actually needed to be re-made from scratch because the work left by the previous team was not really functional. Thus that was the main focus of the sprint

Individually

I worked on finalizing the complete move of the Api to its own repository and creating the addInventory and getApiVersion endpoints. At first, I was very hesitant to work on any of the endpoints because it just seemed like a lot of complicated work. It turned to be way easier than I thought. I ended up mirroring from the microservices example for the most part. 

What didn’t work well:     

As a team

The one thing that did not work too well was breaking down some of our issues. We definitely knew what needed to be done and created issues for it but for some of it was not broken down enough for more people to work on.  That resulted in some team members without issues to work on and some other members with too much to do.

Another point is that we were not able to make the backend work because we had issues connecting to the database. It could be because one member was in charge of it the whole time while others could have jumped in when they did not have anymore issues to work on.

Individually

Everything went pretty smoothly on my end. The endpoints were not hard to create or update. The one thing I would change is that I wish I looked at the front-end a little bit in preparation for sprint 3. 

Changes to be made

As a team:

As a team, we need to do a better job creating issues. We also need to better communication, discussion, and recording of decisions taking place under the GitLab issues and epics. We are looking forward to this sprint because we will most likely all work on the frontends for a while so there will hopefully be a lot more to communicate on GitLab

Personally:

Do more research on the material to bring my focus more on the learning than just getting things done. I will make an effort to look over the issues that are not assigned to me.

Links:

Add an endpoint that returns the API version (#26) · Issues · LibreFoodPantry / Client Solutions / Theas Pantry / InventorySystem / InventoryBackend · GitLab

Create and implement addInventory.js endpoint (#23) · Issues · LibreFoodPantry / Client Solutions / Theas Pantry / InventorySystem / InventoryBackend · GitLab

Rename addItem.yaml and give it a more fitting name (#1) · Issues · LibreFoodPantry / Client Solutions / Theas Pantry / InventorySystem / InventoryAPI · GitLab                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      

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

Sprint 2 Retrospective

Our second Sprint had the end goal of deploying a demo Kubernetes Cluster. This cluster would most likely be deployed locally using Minikube and Kubectl, and would use a demo so we could understand the process.

We weren’t able to get to the issue that would have us create a Kubernetes Cluster, but we still made a lot of progress and ended up getting close. 

What worked well was the use of teamwork between issues. What I mean by this is, one team member would research something for one issue, and that research would be important for another team member working on another issue after the fact (1). The research and the results of what we produced while working on our issues is informative, and is vital for our goal of our team for this class and what was our goal for Sprint 2. The quality of our work was pretty good, and I think we’re progressing nicely, albeit a bit slowly, to a competent end product.

What didn’t work well was some of our organization during the sprint. As mentioned above, we weren’t able to finish the demo for the end of this sprint (2), and I believe there were a few examples for this. The first reason was spring break. We didn’t progress on any issues during the break, and coming back took time to get back into gear. The second reason was the class cancellation on the 21st of March. This was right after spring break, and it was a bit difficult to get back into it. Even still, we should’ve started working on issues like normal, but it took some time to organize and it caused us to stall for a few days (3). Finally, a lot of work relating to a Kubernetes Cluster is a concept that is new to us, and it involves quickly learning new things. (4) This spring required us to deploy a demo within a relatively short amount of time. As such, I think Sprint 2 was more difficult than the first sprint, and this spike in difficulty was a big factor in our work progress.

As an individual, I felt that I could improve by interacting with my team more. Some of our issues could’ve been worked on concurrently, and it’s very easy to simply keep working on individual issues without understanding the greater context of what we’re doing. Since we’re trying to set up the infrastructure for a Kubernetes Cluster, everyone needs to understand the context of their work in the project (5). I felt like maybe I could’ve started a conversation or two with my teammates about the project. I did it once or twice, but maybe initiating one or two more conversations would have been helpful.

As a team, communication is something that I think we need to improve on. For example, after the break we should’ve started communicating to roll back into action after not working on anything for a while. Another thing that we struggled on was communicating outside of class on setting up some of the sprint issues, which caused us to lose one point on our grade.

By the end of Sprint 2, we progressed and learned a lot. I feel comfortable about this project, and our work for our next sprint as laid out by our second sprint.

(1) https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/28 – This issue provides a lot of good information about Kubectl, which will be very helpful on deploying a demo cluster.

(2) https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/41 – This issue is the demo issue. It is not yet done at the time of writing this.

(3) https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/24
– An example of me starting this issue a few days after coming back from break, which should’ve been done by Monday.

(4) https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/24 https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/35 https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/28 https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/39
– Four examples of different things that we need to know while working with an issue.

(5)- For example, the demo would require us to deploy the projects listed by this issue: https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/34, concurrent to understanding and creating anatomy posited by this issue: https://gitlab.com/LibreFoodPantry/common-services/aws-deployment/general/-/issues/35

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

Sprint 2 personal Retrospective

For our second sprint I think our group improved in many aspects of the process. Last sprint there was a lot of confusion around what exactly needed to be done and how, as well as issues with managing time and expectations. The group also had relatively poor over all communication over discord, although that was more attributed to the fact that many tasks did not really need to involve more than one team member at a time. We addressed those issues in the last sprint retrospective and this sprint I believe that we did much better over all. Firstly we communicated much more than before, using discord more often to ask questions or gather information that we need from other groups. We also had more clear goals this sprint, which consisted of getting many aspects of the back end written up and hopefully working, as well as finishing up refactoring the front end. The team did a good job getting all the tasks done in a timely manner, even writing in stand-in code in areas where another team member was working on implementing a feature. In this case that team member was me, as I was working on inventory.js my team was finishing up their endpoints, and since they could not connect to anything they created stand-ins while I finished up my portion of the project. Another area I think we did good in this sprint was being timely with merge request approvals. This sprint if a merge request was created it tended to be approve within a few hours.

As a team I think we did much better this sprint compared to the previous sprint, and we flushed out pretty much all the big issues we had before. I do not really have any suggestions for things that we could improve going forward as a team. We communicated well, managed our time and work load well, and in the end got almost everything we needed done. As a team we have found a system that works. As an individual however I definitely have some things that I know I can continue to work on to improve going forward. The biggest is still time management. I did better with my own time management this time but I still could do better as I did leave many issues for later in the sprint; however I did not save them for the last second like I did before.

Since there was not too much that can be criticized with the teams performance this sprint, there are not many things I believe that we need to directly address to improve on next sprint. We will however need to keep this level of performance, and most likely bring it up a notch next sprint. While we have not had a planning session yet, we have discussed an abstract of what will happen next sprint, and the main focus will be testing and fixing bugs. Given that this will be a very involved task we will need to be communicating even more and there will have to be more collaboration between members as bugs may pop up in multiple areas of the project.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/backend/-/blob/BackendCreation/src/data/inventory.js

I primarily worked on getting inventory.js written out with the correct endpoint connections so that the team members working on the endpoints can use them to connect to the DB.

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

Sprint 2 – Retrospective

I thought this sprint went well. While the team definitely has room for improvement, I thought that the team cooperated and managed to accomplish our main goal for the sprint, which was to give functionality to the backend of the project. We managed to add the necessary endpoints as well as give invesntory.js functionality. We also managed to accomplish other tasks like adding commitlint to the gitlab-ci.yml file in all the projects repositories as well as coming to a consensus regarding the naming conventions and style decisions. I thought that, overall, the team was much more cohesive this sprint compared to the previous one. The team was able to communicate much more effectively, and the team was more aware of what needed to be accomplished.

I think the team still has room for improvement that could help us become even more cohesive and efficient. I think the biggest area where we could improve is how we come up with tasks and divide the labor. The tasks that we had in our sprint backlogs over the past couple of sprints were rather imbalanced. There were some tasks in there that were important, challenging, and took a lot of time to complete. But at the same time, there were also other tasks were minor, easy, and took little effort to complete. This led to some team members having tasks that would take them more than one sprint to complete, while other team members did many simple tasks and were left with little to do by the end of the sprint. I think this sprint we should try to break up the big tasks into smaller ones, and group minor tasks into bigger, more general tasks. I think team members should also ask the other team member for help if they think that they cannot finish their task by the end of the sprint.

Individually I thought that my performance was satisfactory. I mainly worked on adding commitlint to the gitlab-ci.yml file in the project repositories, but I also spent time trying to understand how RabbitMQ worked. For the latter, I created a demonstration for RabbitMQ that shows how things are sent and received. Ultimately, I managed to complete six tasks by the end of the sprint that are worth seven points. I think my biggest issue was that the tasked I worked on were either too specific like adding commitlint or too broad and vague like figuring out RabbitMQ. I also think that I didn’t communicate with my teammates as much as I should have.

Personally, I have a lot of room for improve in several areas. One of the areas that I want to see myself improve is communication. I felt like I did not communicate with my teammates as much as I should have. For example, I felt like I should have kept my teammates updated with my progress on the RabbitMQ demonstration. For the next sprint, I want to use Discord as well as class time to communicate with my teammates more. Another area where I want to improve is taking on more challenging tasks. Over the past couple of sprints, I felt like my tasks were either too simple or too minor. So, for the upcoming sprint, I want to try taking on a bigger and more challenge tasks.

List of issues that I worked on:

Issue InventoryAPI#2: Added commitlint in gitlab-ci.yml in InventoryAPI.

Issue AddInventoryFrontend#6: Added commitlint in gitlab-ci.yml in AddInventoryFrontend.

Issue CheckInventoryFrontend#4: Created gitlab-ci.yml in CheckInventoryFrontend and added commitlint.

Issue CheckOutGuestFrontend#7: Created gitlab-ci.yml in CheckOutGuestFrontend and added commitlint.

Issue InventoryBackend#27: Created gitlab-ci.yml in InventoryBackend and added commitlint.

Issue InventoryBackend#22: Spent time learning how Rabbit MQ works and created a simple demonstrations that shows how things are sent and received.

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

Kindred Spirits

Apprenticeship is a long road, a road that doesn’t look easy at first, a road that is filled with uncertainty, doubt, questions, a road that can bring lack of self-confidence, a road that can take away your passion and leave you to think that you are not good enough. What is the best thing that someone might desperately need during this long journey to feel reassured, to feel understood, to keep that passion burning and ideas flowing? This chapter is telling us how kindred spirits what is exactly we need in our journey as craftsmen.

As the book states, the problem today is that organizational cultures that encourage software craftsmanship are rare. We find ourselves stranded without mentors and in an atmosphere that seems at odds with your aspirations. I remember talking couple of weeks ago with one of my classmates about this issue. Today graduation is around the corner, and we are at the door of apprenticeship with the fear of not being supported, of landing in a company that doesn’t value progress, ambition, passion, and willingness to achieve. I want to work in a company that feeds my aspirations, where ideas are exchanged, where there is life in the job that I do. And not just doing exactly what is expected of me, making things hard and boring.

It is important to be surrounded by people who share similar goals and values as you. People that enjoy learning together, advice are shared among the group and there is the enthusiasm to get out of a comfort zone. I also believe it is important to stay connected to the people that inspire us and fee our mind. Making a list of communities and getting involved is important. I am thinking that LinkedIn is a great example of this. It is not just a platform where you can find job opportunities, but it allows people that share similar values and goals to connect, stay connected and grow they passions together.

The last point the author mentioned is about the need to retain our thoughts and the ability to ask critical questions and not just go with the group. This was very relatable to me as I sometimes find myself having a great idea and hesitating to share it with the group. Or a better idea can be shared before I share mine and I end up losing the confidence. I realize that we should not feel intimidated by other people’s ideas and mindset. Creativity and critical thinking are things we all possess. I personally will not hold back anymore and will speak my mind because it might benefit my community.

From the blog CS@Worcester – Software Intellect by rkitenge91 and used with permission of the author. All other rights reserved by the author.

Sprint review #2

This sprint I feel as though my team and I made a lot of progress. One aspect of our project that was really holding us back was getting a keycloak instance up and running. We were able to follow a tutorial guide online to make a basic vue app and secure it with keycloak and all create our own users in the realm.

Our team worked very well this semester and I believe we were able to improve our communication in our team. We have implemented a twice a week virtual check in on thursdays and saturdays and that has been a great way to check in with each other and this has improved our progress.

One thing we should work on during the final sprint is getting our demo up and running and secure it with keycloak. Although our team communication has improved I believe we should begin to make better use of the issues board and add more updates to issues as we work on them through the week.

From the blog CS@Worcester – Site Title by lenagviaz and used with permission of the author. All other rights reserved by the author.

Sprint #2 Retrospective

With reflection on the previous sprint we had a more clear vision of what we could modify and change about the front end systems and possibly some work to be done about the back end system. We also as a group decided to reach out to the IAM and AWS teams to see if we could integrate their work with ours. I also had not finished my previous tasks so it was an issue that I personally needed to address and focus on during this sprint.

I still had the two previous issues from the last sprint on my hands but I did take the responsibility of communicating with the other teams and start working on understanding their work to help integrate it with our team.

https://gitlab.com/LibreFoodPantry/client-solutions/theas-pantry/inventorysystem/checkoutguestfrontend/-/issues/8

On this sprint the majority of my time was working learning html and CSS, but in a manner that was constructive and effective as my previous sprint learning session did not go well. In this sprint I had a far more effective learning period by following a six hour html and CSS course which helped me greatly [https://www.youtube.com/watch?v=1Rs2ND1ryYc]. A major portion of my time was watching this, pausing to test out the things I learned and working on the html pages for the Worcester state styled formatting. This would all have been added to their necessary repositories, but I noticed something both funny and disappointing at the same time that changed all the work that I needed to complete.

While I was nearing the end of the sprint I felt as if the pages I did have were ready for testing and possibly creating a branch for and wanted to test it in one of the front ends. I tried running the front end docker containers on my desktop, but I never could get the local host page to run. It would load forever and never show me anything. I also tried separate front ends to see if it was just one front end’s issues, but I still had the same issue. It wasn’t until I tried running two front ends at the same time and had to change one of the ports to discover that it was just local host 8080 that was having a hard time. I tried connecting to it without any containers running on those ports and a page I had not seen in a while showed. It turns out somewhere on my mac laptop Jenkins was running [https://www.jenkins.io/]. This was preventing me from running and I had to do a deep dive through my laptop to find it and stop it completely which had taken far more time than I wanted to. With it disabled I ran the containers and connected to the local host page. It was there that I found that a front end landing page had already been made and implemented and I had unnecessarily wasted my time on trying to create pages for the front end systems. Now I don’t feel as if my time learning on html was wasted but the app.vue already had the needed formatting and style that was appropriate for the landing pages.

Right at the weekend before the end of the sprint was around the time that the IAM team contacted me and provided information on how to set up the keycloak system and I had spent a little bit of time that weekend looking it over. That same weekend was when I had made the discovery about Jenkins. The href task was easy enough to implement and I had tested it and it worked. I just did not have the time at the end to create my own separate branch for each front end as I felt like it needed to be split into separate and specific issues for documentation reasons. The next sprint will have those two fully solved and I’ll probably be focusing the majority of my time on integrating the IAM teams work and testing out their work with ours, but at least I understand html fairly well now!

From the blog CS@Worcester – A Boolean Not An Or by Julion DeVincentis and used with permission of the author. All other rights reserved by the author.