Our non-technical theme for this week is the Software Development Life Cycle. The SDLC is pretty interesting. There are 5 essential steps. Discovery is where research is done on the topic. It’s usually the phase to figure out if a project is feasible and how much it’s going to cost. Development is where you’d gather all your resources. You’d install the software you’d need and get started on the project. Testing would require testing of all aspects. Function, integration, stress testing etc. Deployment is when the software actually gets implemented and sent to clients to start using. The final stage, maintenance, is the longest. This is where you have to keep monitoring the software and ensure it doesn’t fail. You’d plan ways to make the software grow here as well.

The way it used to work, and still does in some cases, was through a waterfall method. Each phase of the cycle would be completed before the project would go on to the next. There has been a new way of thinking about SDLC called agile. This is essentially the whole SDLC on a smaller, continuous scale. You’d go through the whole SDLC in sprints that last for anywhere from 2-4 weeks. This time frame could be implementing a new feature or even the initial rollout.

Scrum and Kanban are examples of implementations of agile. They use the agile way of thinking and implement standups (mini-daily meetings to report progress on what you’re working on as well as to report roadblocks. With agile, your team is committing to getting a certain number of things done within that timeframe. If there’s roadblocks you’ll need to know about them as soon as possible to prevent not living up to your team’s commitments.