Author Archives: Christian Oboh

Understanding the Twelve Principles of Agile Software

The 12 Principles of Agile Software explained

For this professional development entry, I chose to read the article titled The Twelve Principles of Agile Software Explained from the Agile Alliance website. The article provides an overview of the core ideas that shape the Agile Manifesto and explains how they guide the way modern software is built. What immediately caught my attention was how the principles focus on people, teamwork, and adaptability rather than strict processes or heavy documentation. The article highlights that Agile is not simply a development framework but a philosophy centered on collaboration and continuous improvement. It emphasizes that successful teams listen to their customers, respond to change quickly, and work together to deliver valuable software frequently rather than saving everything for one big release.

I found this resource helpful because it connects directly with what we have been studying in CS-343 about software processes and team communication. In many group projects, I have experienced situations where rigid planning or lack of communication slowed progress. Reading this article helped me see that Agile’s emphasis on flexibility and open dialogue could have prevented some of those problems. The principle that stood out to me most was “responding to change over following a plan.” This idea made me realize that while planning is important, being adaptable is even more valuable. Real-world projects rarely go exactly as expected, and being able to adjust quickly is a skill that separates good teams from great ones.

Another key takeaway for me was the focus on sustainable development. The article explained that teams should maintain a consistent pace and avoid burnout, which is something I think every computer science student can relate to. It is easy to fall into a cycle of late nights and last-minute fixes, but this principle reminded me that long-term quality depends on balance and discipline. The principle about motivated individuals also resonated with me. It stated that the best results come from trusting team members and giving them the environment and support they need to succeed. I have noticed this in my own coursework; when everyone feels respected and valued, collaboration becomes smoother and creativity increases.

The article also touched on the importance of reflection, encouraging teams to pause regularly to discuss what went well and what could be improved. This aligns perfectly with the concept of continuous improvement that we discuss in class. I learned that retrospectives are not just about fixing mistakes but about strengthening the team’s process as a whole. Moving forward, I plan to apply these ideas in future projects by promoting open communication, being willing to adjust plans when needed, and supporting my teammates in maintaining a healthy work rhythm.

Overall, this resource gave me a deeper understanding of what it truly means to work in an Agile environment. It showed me that Agile is not about speed but about building smarter, more collaborative, and more human-centered teams. The twelve principles serve as a strong foundation for both professional development and teamwork, and I believe they will continue to guide me as I grow in my career as a software developer.

From the blog CS@Worcester – Life of Chris by Christian Oboh and used with permission of the author. All other rights reserved by the author.

The Value of Clean, Readable Code

Link to resource:
Why Clean Code is Important | The Power of Clean Code

While searching for a resource on software development and craftsmanship, I stumbled onto the article “The Clean Code Debate: Why Readable Code Still Wins.” It explores a long-standing debate among developers about the continued applicability of “clean code” the idea of writing code that is easy to read, understand, and maintain. In contemporary software development. Although frameworks and technology are developing quickly, the author argues that the ability to produce understandable codes that other developers can work with will always be necessary. The article discusses how techniques like consistent naming, few functions, and a clear structure lessen issues and promote collaboration, all while referencing Robert C. Martin’s Clean Code principles.

I choose this resource because I have noticed that a lot of programming projects and classes place more emphasis on getting the code to function than on making it readable or clean. I have come to understand the value of “maintainability” as I get ready to enter the workforce, not only for myself but also for everyone who might use my code in the future. The author made a particularly strong argument when she said that teams eventually get slower due to careless code. It brought back memories of collaborative projects where unclear variable names or a disorganized organization led to misunderstandings and more troubleshooting. I learned from reading this essay that producing “clean code” is about respecting future developers who will have to maintain or enhance the project, not only about style.

The essay taught me that the ideas of software architecture and design that we cover in CS-343 are directly supported by clean code. Writing code that is simple to modify and expand is related to ideas like modularity, separation of concerns, and readability. I too had to consider my own coding practices after reading the post. Although I occasionally shave corners to meet deadlines, this served as a reminder that little routines, such as explicitly naming functions or reworking when something seems too complicated, can add up to a significant impact over time. I intend to put these concepts into practice going forward by going over my assignments and side projects for readability and clarity rather than just functioning.

All things considered, this resource reaffirmed that “clean code” is a professional approach rather than merely an outdated notion. Great developers will always be defined by their ability to communicate through code, even when frameworks, languages, and tools change.

From the blog CS@Worcester – Life of Chris by Christian Oboh and used with permission of the author. All other rights reserved by the author.

Welcome to My CS-343 Blog

Hello everyone,

This blog has been created as part of my work in CS-343: Software Construction, Design, and Architecture at Worcester State University. Over the course of the semester, I will be sharing my reflections, insights, and experiences as I learn more about software engineering practices, design principles, and professional development.

The goal of this blog is not only to document my progress but also to connect what we learn in class to real-world applications in the field of computer science. I look forward to engaging with the wider community through my posts and learning from others in the course.

Stay tuned for upcoming posts on software architecture, design patterns, testing, and professional growth.

— Christian Oboh

From the blog CS@Worcester – Life of Chris by Christian Oboh and used with permission of the author. All other rights reserved by the author.