Hello! This will be my blog page for CS-348 Software Process Management.
From the blog ALIDA NORDQUIST by alidanordquist and used with permission of the author. All other rights reserved by the author.
Hello! This will be my blog page for CS-348 Software Process Management.
From the blog ALIDA NORDQUIST by alidanordquist and used with permission of the author. All other rights reserved by the author.
Hello, this is Benjamin. I want to explain what steps I took in order to try and learn over summer. I wrote down a list of 4 steps for me to do within the week. Step 1; read a couple of chapters a week about a subject from a textbook or notes like blogs. Step 2; then watch tutorials and practice coding fundamentals on multiple coding websites. Step 3; next I would solve getcracked.io problems and leetcode problems. Step 4 is to make projects for my portfolio. Over the summer I could not do any coding projects due to taking 3 classes so I just did more coding problems on getcracked.
The reason I am trying to learn coding in this learning method is because it is better to understand why people choose a certain coding method instead of another option. I want to be helpful within a company and still be able to learn independently. So that I can have as many opportunities available. Moving on, I would watch podcasts that would have developers or professors about certain topics so that they can help explain certain concepts better.
I understand that in this field a lot of changes are happening. Which allows more opportunity for so many people and industries. Regardless of what some people say about the current state of computer science, I will still try to learn new concepts and how to implement them. I want to use this year to enjoy a few concepts and coding projects that I am passionate about so that I can enjoy this process.
From the blog CS@Worcester – Site Title by Ben Santos and used with permission of the author. All other rights reserved by the author.

Hello Everyone!!
I came into computer science as a beginner, and honestly, I still feel like one. I’ve made it this far, but I don’t consider myself fluent in any programming language. Coding is not my strong suit, and truthfully, my first pull toward computer science was about learning and understanding the hardware.
I’ve come very far and software is obviously the largest component of computer science so i have to learn and clear my confusions. That’s what this blog is for: a place to track my progress as I learn more about software process management.
I don’t have it all figured out yet, but I’m here to keep learning If you feel lost you’re welcome to follow along with me in my new arc of learning software process management.
From the blog CS@Worcester – A Beginner's Journey Through Computer Science by Christiana Serwaah and used with permission of the author. All other rights reserved by the author.
Hello everyone, my name is Rick Djouwe, and this semester I am also taking Software Process Management. While some of my other computer science courses focus on the technical side of software development, like design, coding, and architecture, this class emphasizes the processes, management strategies, and professional practices that ensure software projects succeed.
Software Process Management is designed to explore the methods and tools used to manage software projects from start to finish. Topics include:
In short, this course highlights the practices that make the difference between a project that simply “works” and one that is well-managed, scalable, and sustainable.
By the end of this course, I will be able to:
These skills go hand-in-hand with the Computer Science program outcomes, such as analyzing problems, applying ethical reasoning, and demonstrating leadership and effective teamwork.
As I prepare for a career as a software engineer, this course will strengthen my ability not only to contribute technically, but also to lead and manage software projects effectively. Understanding process management is critical in real-world environments, where collaboration, deadlines, and accountability are just as important as writing clean code.
I also see a strong connection to my current role at The Hanover Insurance Group, where teamwork, version control, documentation, and project management practices are essential to delivering quality solutions. What I learn in this class will help me bring even more value to my work, both now and in the future.
I look forward to exploring how different methodologies shape the software development lifecycle, and how project management skills complement technical expertise. My goal is to come out of this course not only as a better developer, but also as someone prepared to guide teams, manage projects, and ensure successful outcomes.
I’m also excited to meet everyone in this class and learn from each other’s perspectives and experiences as we grow together throughout the semester.
From the blog Rick’s Software Journal by RickDjouwe1 and used with permission of the author. All other rights reserved by the author.

After 12 years in the veterinary medicine field as a nurse, I am actively focused on a career shift into computer science, specifically in software engineering.
This blog is where I will document my technological discoveries, achievements, setbacks, and anything else that contributes to conquering my career goals.
From the blog cs-wsu – Anna The Dev by Adrianna Frazier and used with permission of the author. All other rights reserved by the author.
There is a video on YouTube from a channel called The Digital Project Manager about Project Management called, “Agile project management methodology explained (with burgers?!)”. This video talks about Project Management, a topic from our course, but more specifically, agile project management. I found this video particularly educational and informative because instead of explaining agile project management in typical terms, the methodology is described using burgers. The video explains that agile project management is all about flexibility and adaptability. The agile project management style runs through multiple cycles of project production and release, taking feedback and input from the customer and users after each release cycle. This is a very effective and efficient method of project management because it allows a smooth flow of progress while making a more accurate product based on the customers’ desires. The way that the video compared this method of project management to burgers is by suggesting that there could be a goal of making the world’s best burger and in order to do that the chef would have to make a burger, get feedback from those who try it, then make changes to the burger in order to improve it. Agile project management implies that after every round of changes, the product should (hypothetically) get better and better. This made me wonder, in a professional setting, how each of these phases of the project would be tested and improved. Further, at what point could the project/program be determined as complete and who has the authority to make that decision? Agile project management is also inherently iterative. This means that multiple iterations or cycles can be completed throughout the process of completing the project. This method is particularly successful with dynamic projects and environments such as game development and software development because the requirements for these types of projects tend to be constantly changing and developing. Agile project management is also a more flexible form of project management. Because multiple cycles of development will occur, not all of the planning for the project has to be done prior to the developing stage of the project. This allows for more flexibility and a more robust and high quality product to come out of the process. During agile project management, each sprint can be broken down into five parts: Define, Craft, Develop, Deploy, Evaluate. The evaluate phase is what allows for this method to be iterable and flexible to multiple rounds of work.
From the blog CS@Worcester – The Struggle of Being a Female Student in CS by Noam Horn and used with permission of the author. All other rights reserved by the author.
I happened to stumble across a YouTube video by a channel called Licenseware by the title of, “A Brief History of Software Licensing – Why it exists, and why it is so important”. This video covered information about how software licensing came to be, how it is used, and why it is important in the world of software and coding. The video explains how our world has developed to become, ultimately, reliant on software for organizing and controlling everything from transportation to communication. Because of all of this, the software industry has gained many rules and regulations around when, where, why, and how software can be used. These rules and regulations are more commonly known as Software Licenses. Software Licensing is one of the topics we covered relatively early on in our course, going over the different types of licenses and their uses as well as when and in what scenarios they worked or didn’t work. The history of licensing stems from the history of copyright which came from The Copyright Act of 1710 (The Statute of Anne). This act, passed by the British Parliament, stated that authors had the right to publish and sell their work for a renewable period of time. This is relevant because Software Licensing falls under the category of Copyright Law. This is because software is ultimately seen as a type of literary work. The video goes on to talk about how the Free Software Foundation (FSF) introduced the concept of open source software which led to the development of the open source software movement and the creation of the General Public License. I found this video very interesting because, prior to watching it, I hadn’t realized to what extent and depth software licensing was similar to and fell under the umbrella of a legally documented copyright. This confusion came from the fact that open source software creates an atmosphere of open communication and sharing that doesn’t typically appear in other copyrighted pieces of work. I find it interesting that software seems to be the only field, at least to my knowledge, that has this type of sharing of information and work between other users and developers. The collaboration between maintainers, leaders, collaborators and users allows the field to expand and advance quicker and more efficiently than other fields. This video helped solidify my understanding of different licenses and the importance of not only having an active license in place but also the correct license in place. This also gave me a better concept of what to do in the future if I should choose to post any of my code online as open source material.
From the blog CS@Worcester – The Struggle of Being a Female Student in CS by Noam Horn and used with permission of the author. All other rights reserved by the author.
From the blog CS@Worcester – The Struggle of Being a Female Student in CS by Noam Horn and used with permission of the author. All other rights reserved by the author.
The blog explores the paradox faced by developers who prioritize the creation of clean code yet often neglect the critical need for documentation. Despite its essential role in software maintenance and the reduction of technical debt, documentation is frequently undervalued. Studies indicate that well-crafted documentation can substantially enhance productivity by minimizing the time needed for various tasks and improving code quality. A thorough meta-analysis encompassing over 60 academic publications has shown that effective documentation positively influences several aspects of software development.
Although these benefits are evident, developers frequently place greater importance on other responsibilities rather than on documentation, especially when confronted with tight deadlines and a strong focus on producing operational code, a situation frequently encountered in Agile practices. This inclination leads to the creation of informal and outdated documentation, which can exacerbate technical debt. The lack of adequate documentation often results in misunderstandings, mistakes, and redundant work, thereby generating inefficiencies that impede the long-term success of projects.
I chose this blog for its significant relevance to my ongoing studies, as it aids in the practical application of theoretical concepts to my coding endeavors. As a student, I find the article on clean code and documentation to be particularly insightful, as it highlights the often overlooked yet essential role of documentation in software development. While many academic programs emphasize the importance of writing clean code, this article effectively explores the relationship between high-quality documentation and its advantages, such as promoting collaboration, reducing technical debt, and improving overall productivity. Additionally, it offers insights into real-world challenges, including tight deadlines and Agile methodologies, thus preparing students to effectively navigate the complexities of professional environments.
One significant insight from the blog is the importance of documentation in improving collaboration within development teams. Thorough documentation guarantees that knowledge is retained and readily available, which is crucial for team members operating in various time zones or entering projects at different stages. This promotes a more unified working atmosphere, enabling developers to leverage each other’s advancements without unwarranted interruptions. By ensuring that documentation is current and comprehensive, teams can enhance the onboarding experience for new developers and reduce the risks linked to employee turnover.
The blog ultimately emphasizes that clean code and thorough documentation are not opposing elements but rather integral parts of effective software development. By incorporating documentation into the development process, developers can foster the creation of projects that are more sustainable, scalable, and maintainable. This shift in perspective, from considering documentation as a secondary task to acknowledging it as a fundamental component of development, can greatly enhance both the long-term success of projects and the professional development of individuals in the field.
Blog: https://stackoverflow.blog/2024/12/19/developers-hate-documentation-ai-generated-toil-work/
From the blog CS@Worcester – Matchaman10 by tam nguyen and used with permission of the author. All other rights reserved by the author.
Engaging deeply with academic literature is essential for enhancing one’s comprehension of computer science, as it offers a more profound experience compared to merely watching tutorial videos. While tutorials focus on practical skills and specific tasks, academic papers explore the theoretical underpinnings that inform the discipline’s advancement. The “Papers We Love” initiative, led by Zeeshan Lakhani, Darren Newton, and David Ashby, demonstrates that individuals lacking formal training in computer science can greatly enrich their understanding by studying seminal research papers. This initiative highlights the transformative impact of immersing oneself in academic texts, which often clarify the progression of programming paradigms and foster innovative approaches to problem-solving.
The blog post titled “Papers We Love” presents an overview of four pivotal computer science papers that are strongly recommended for individuals seeking to enhance their comprehension of the field. The selected papers are “Communicating Sequential Processes” authored by Tony Hoare, “Dynamo: Amazon’s Highly Available Key-value Store,” “A Unified Theory of Garbage Collection,” and “Out of the Tar Pit.” Each of these seminal works delves into core principles that have significantly contributed to the evolution of computer science, providing readers with an opportunity to investigate the foundational ideas and progress of essential technologies and methodologies. For example, Hoare’s work on Communicating Sequential Processes (CSP) introduces a formal framework for articulating interaction patterns in concurrent systems, a notion that remains influential in contemporary distributed computing.
I selected this blog for emphasis because I am convinced that the field of computer science encompasses much more than merely consuming tutorial videos. Numerous aspiring programmers become ensnared in what is commonly referred to as “tutorial hell,” where they find themselves perpetually watching instructional videos without attaining a profound understanding of the underlying concepts. This blog promotes the idea of breaking free from that cycle by engaging with scholarly literature, which not only expands one’s intellectual perspective but also offers a solid theoretical framework that is frequently neglected in tutorials. By exploring research papers, programmers can discover invaluable insights that enhance their capacity to develop more efficient, innovative, and elegant solutions to intricate challenges.
Academic publications in the field of computer science often form the foundation for technological advancements. They present innovative algorithms, introduce new frameworks, and analyze complex systems, many of which ultimately become integral to industry standards. While the terminology in these publications may initially appear intimidating, the time spent understanding them is highly beneficial. Developers and researchers who engage with academic literature acquire a competitive advantage, remaining abreast of new developments and enhancing their analytical capabilities to address contemporary challenges. Additionally, this engagement promotes critical thinking and cultivates the intellectual curiosity essential for driving technological progress.
Engaging with academic literature is essential for individuals committed to enhancing their knowledge in the field of computer science. This practice serves to connect theoretical frameworks with practical implementation, thereby promoting a comprehensive grasp of the subject. Regular interaction with seminal works enables programmers and developers to sharpen their technical competencies while establishing themselves as influential figures who can make meaningful contributions to the wider technological community. In a discipline characterized by constant change and innovation, the skill to locate and analyze academic research becomes a vital resource, profoundly influencing both personal career paths and the evolution of the industry at large.
Blog: https://stackoverflow.blog/2022/12/30/you-
From the blog CS@Worcester – Matchaman10 by tam nguyen and used with permission of the author. All other rights reserved by the author.