The Software Development Life Cycle (SDLC) refers to a methodology with clearly defined processes used to create software of the highest quality. In this article, we break down what this looks like when you build with Crowdbotics.
In systems engineering, information systems, and software engineering, the Systems Development Life Cycle (SDLC) is a clearly defined process for creating high-quality software that includes planning, creating, testing, and deploying an information system.
SDLC works by lowering the cost of software development while simultaneously improving quality and shortening your production time. SDLC achieves these apparently divergent goals by following a plan that removes the typical pitfalls of software development projects, starting with evaluating existing systems for any deficiencies.
Next, it defines the requirements of your new system and creates the software through the stages of analysis, planning, design, development, testing, and deployment. By anticipating potentially costly mistakes like failing to ask the end-user or client for feedback, SLDC can eliminate redundant work and after-the-fact fixes.
Crowdbotics follows an iterative, short-increment waterfall development model for all application builds. Following a detailed requirements analysis, a Crowdbotics Product Manager will work with you to construct a development plan that determines the milestones and timelines associated with them. If needed, the entire application scope will be broken down into increments, with you contracting to build one or more increments at a time.
The Crowdbotics SDLC has 5 phases:
- Requirements Analysis: During this phase, a Crowdbotics Product Manager will work with you to detail requirements for your application, including user flows, screen designs and layouts, and third-party integrations. The output of this phase is a detailed Product Requirements Document (PRD), which details the application interface and functionality as well as a set of development milestones, each of which encompasses a set of tasks.
- Architectural Design: Applications built by Crowdbotics are written on the RAD Stack (React Native, APIs, Django) and are deployed to the cloud as a Docker container. Therefore, in the architecture design phase, any third-party integration requirements are defined, as are the requirements for additional infrastructure resources such as cloud storage, asynchronous job queues, etc.
- Development: The project plan, which is the outcome of the first phase, is executed by a team of front-end and back-end developers managed by the Product Manager. Weekly reports will be sent to you so that you're able to stay apprised of progress.
- Testing: In this phase, a team of testers ensures that the acceptance criteria for tasks are met and that your application is ready for deployment.
- Application Launch: The Crowdbotics platform leverages best-in-class continuous integration and continuous deployment practices to deploy applications to your cloud of choice. Our preferred pipeline consists of GitHub, CircleCI, and Heroku, with applications being deployed to Heroku. Other clouds are also supported.
As each product increment is completed, your team will work closely with you to design and release the next increment using the above SDLC.