Software Development Lifecycle
In this blog I will talk about working on software development as a team by relating it to our platformer4x game and the adventure game.
Introduction to the Software Development Lifecycle (SDLC) in Coding Projects
Software development isn’t just about writing code—it’s about managing and improving it over time. The Software Development Lifecycle (SDLC) is a structured process that helps teams plan, develop, test, and deploy software efficiently. Whether working on a personal project or contributing to a large-scale open-source repository, developers follow key practices like source control, forking, branching, testing, and deployment to keep their code organized and reliable.
Role of Source Control in Software Development
At the core of any successful software project is source control, which helps developers track changes, collaborate, and avoid losing progress. Tools like Git and platforms like GitHub allow multiple people to work on the same codebase without overwriting each other’s work. Developers create commits to save changes, use branches to develop new features separately, and merge their work back into the main project when it’s ready. Without source control, managing a growing codebase would be chaotic, making version control an essential skill for any programmer.
Forking and Branching in GitHub
When working on a project, developers often need to experiment with new features or fix bugs without affecting the main codebase. This is where forking and branching come in. Forking allows developers to create a personal copy of a repository, which is useful for contributing to open-source projects. Branching, on the other hand, lets developers work on new features in an isolated environment within the same repository. For example, a developer might create a feature-login branch to add a login system, then merge it back into the main branch once it’s complete. These techniques keep development organized, enabling teams to work efficiently without disrupting the project.
Building, Testing and Verification: Ensuring Code quality
Once new code is written, it needs to be built and tested to ensure it works correctly. Building involves compiling the code and resolving dependencies, turning it into a runnable application. However, just because the code runs doesn’t mean it’s error-free. That’s why developers use testing and verification processes to catch bugs before deployment. Automated tests, such as unit tests and integration tests, help verify that each part of the code functions as expected.By integrating testing early, developers reduce the risk of bugs and ensure the software remains stable.
Pull Requests, Merging and Deployment
After testing and verifying the code, the next step is to merge it into the main project and deploy it. Developers submit pull requests to propose changes, allowing team members to review the code before it’s merged. This review process helps catch errors and ensures that only high-quality code makes it into the main branch. Once approved, the changes are merged, and the project moves toward deployment, where the updated software is released for users. By following this structured approach, developers can maintain smooth workflows and ensure their software remains reliable and up-to-date.
My overall experience with SDLC
I remember, when we first started working in this steructure I found it annoying, tideous and unnecessary. Over time however, the more complicated our project started to get the more I started to realize how helpful it actually is to work with forking, branching, pull requests, merging, etc. I realized that working in Software development is not only about coding, but also about planning, organizing and teamwork.