“What don’t we want?” This stage of SDLC means getting input from all stakeholders, including customers, salespeople, industry experts, and programmers. Learn the strengths and weaknesses of the current system with improvement as the goal.
Software Development Life Cycle
- Identify the current problems
“What do we want?” In this stage of SDLC, the team defines the requirements of the new software and determines the cost and resources required. It also details the risks involved and provides sub-plans for softening those risks. In this stage, a Software Requirement Specification document is created.
“How will we get what we want?” This phase of SDLC starts by turning the software specifications into a design plan called the Design Specification. All stakeholders then review this plan and offer feedback and suggestions. It’s crucial to have a plan for collecting and incorporating stakeholder input into this document. Failure at this stage will almost certainly result in cost overruns at best and total collapse of the project at worst.
“Let’s create what we want.” This SDLC stage develops the software by generating all the actual code. If the previous steps have been followed with attention to detail, this is actually the least complicated step.
“Did we get what we want?” In this stage, we test for defects and deficiencies. We fix those issues until the product meets the original specifications.
“Let’s start using what we got.” Often, this part of the SDLC process happens in a limited way at first. Depending on feedback from end users, more adjustments can be made.
“Let’s get this closer to what we want.” The plan almost never turns out perfect when it meets reality. Further, as conditions in the real world change, we need to update and advance the software to match.
Full Stack vs Full Cycle developer
- Full Cycle developer
we arrived at a model where a development team, equipped with amazing developer productivity tools, is responsible for the full software life cycle: design, development, test, deploy, operate, and support.
Instead of learning superficially all technologies related to developing a software (backend, frontend, databases, UX, etc), is more important a developer that can manage a task, from design to deploy and support. we believe this is a is a healthier way to evolve in a software development career. That way, one can become a more responsible and complete professional, able to be a specialist and work well in teams, along with other experts. That is what more and more companies will look in the years to come.
- Full Stack
we create full stack engineer who can handle all the work of databases, servers, systems engineering, and clients. Depending on the project, what customers need may be a mobile stack, a Web stack, or a native application stack.
And the post, that is awesome, add a list of things that a person should learn to become a full stack developer: programming languages, databases, cache, design, UX, and so on.
If this can overwhelm to someone that is a developer for some years it is frightening for a newbie.