Friday, April 19, 2024

CST438 Week 8

List the 5 most important things that you learned in the course, and why you chose them.

Agile vs Waterfall – Learning about these software development processes provides important context to software development work, and will no doubt help in my future endeavors.

REST Web Services – The ability to create API-style endpoints is an important skill, especially in the realm of websites / web apps.

React Frontends – Similarly, I anticipate that the ability to create frontends using a highly versatile and powerful framework such as React will prove useful in the future. While we have explored other frameworks in the CS Online program, I find React to be the easiest to work with / develop for.

Software Requirements Specifications – SRS documents are a vital part of the Waterfall process, and having experience writing an, albeit brief, SRS document will prove valuable going forward.

Amazon Web Services – While our interaction with AWS was brief, I believe this is one of the most important topics covered by the class. With cloud computing becoming an industry standard, the ability to manage, and deploy applications to such a cloud computing platform is essential.

I enjoyed CST 438; onwards to the next slate of classes!

Tuesday, April 16, 2024

CST438 Week 7

Describe some of the differences between using an Agile process and using a Plan and Document (or Waterfall) process.

The Waterfall process, as compared to the Agile process, is a more traditional form of software development. As the name suggests, in a “Plan and Document” (Waterfall) process, a comprehensive set of documentation is created before any software development starts. It is from this rigorous documentation that the project’s goal, scope, required functionalities, etc. are defined. This documentation is then referenced during the development process to judge the project’s overall completion, and to what extent the client’s specifications are satisfied.

Agile, on the other hand, implements an approach that is much more flexible. In place of the rigid “documentation, analysis, development” pipeline of Waterfall, Agile maintains a sort of loop between the development process, and client feedback. Indeed, a core philosophy behind Agile is the belief that it is simply impossible to create a comprehensive set of documentation upfront. Thus, Agile breaks the development process up into short sections, called sprints. Sprints often take place over a week; and every time a sprint is completed, the project, along with the newly made progress, is reevaluated. If questions arise from this retrospective, the client is reconsulted, and the trajectory of the project is adjusted.