S: SDLC
software development life cycle
The most common phases of an SDLC are:
S: MVP
minimum viable product
S: SRS
Software Requirement Specification
S: HLD
High-Level Design
S: LLD
Low-Level Design
Three most popular software development methodologies
The values of agile are:
Agile manifesto lists twelve different principles:
1- Customer focus 2- Embrace change and adapt 3- Frequent delivery of working software 4- Collaboration 5- Motivated teams 6- Face-to-face conversations 7- Working software 8- Work at a sustainable pace 9- Agile environment 10- Simplicity 11- Self-organizing teams 12- Continuous Improvement
Agile Scrum
focuses on small, self-organizing teams that meet daily for short periods and work in iterative sprints, constantly adapting deliverables to meet changing requirements.
Agile Methods
Lean
emphasizes elimination of wasted effort in planning and execution, and reduction of programmer cognitive load
Sprint
the purpose of sprints is to accomplish the frequent delivery of working software principle of the Agile manifesto
Backlog
backlog is made up of all of the features for the software, in a prioritized list
User Stories
When a feature gets close to the top of the priority list, it gets broken down into smaller tasks called user stories. Each user story should be small enough that a single team can finish it within a single sprint
Scrum Teams
Scrum teams are usually made up of people with different roles in order to accomplish the full SDLC
seven principles for lean:
There are seven wastes of software development:
C: create a virtual environment:
python -m venv devfun
C: install packages for a virtual environment:
source devfun/bin/activate
C: show pip instalations
pip freeze
C: install the packages required by the project.
pip install -r requirements.txt
best practice to use v_ e_ when working with Python projects
virtual environments
MVC framework for Python
Django