Software Development
Software development is a set of computer science activities that are dedicated to the process of creating, designing, deploying, and supporting software. Software itself is the set of instructions or programs that tell a computer what to do. It is independent of hardware and makes computers programmable.
SDLC
Software development refers to the design, documentation, programming, testing, and ongoing maintenance of a software deliverable. The combination of these steps are used to create a workflow pipeline, a sequence of steps that when followed produce high-quality software deliverables. This pipeline is known as the `Software Development LifeCycle.
CDLC - Software Development LifeCycle
1) Discover - Projects are envisioned, designed, and prioritized. A methodology such as agile helps to guide the work process for the project. Practices like DevOps guide practices during development and operations.
2) Plan - Stakeholders are identified, budgets set, and infrastructure requisitioned. Design documents from the concept phase are broken down into actionable tasks.
3) Build and Test - Development teams work to build production-ready software that meets requirements and feedback. CI/CD pipelines ensure an efficient developer experience. Collaborative code review tools and CI/CD pipelines that plugin to the code review process.
4) Deploy - With code written, tested, and merged, it’s time to ship it. Bitbucket’s CI/CD pipelines make deployments as easy as clicking a button. The live production code will need a place to live. Consider using cloud hosting provided by Amazon AWS, Google Cloud Platform, or Microsoft Azure.
5) Operate - Support and maintenance are required for active software projects.
6) Observe - Incident management is when Development and Operations respond to unplanned events and restore services using reliable methods for prioritizing incidents and getting to resolution fast.