What's a Dev?
Warm Up
Take 5 minutes to brainstorm all of the job titles a software developer might hold - be ready to share your list!
The Software Development Lifecycle
There are many steps to complete when developing a new software solution or even a feature. Every solution will have different specific steps, but most will have at least 6 common steps:
- Analysis
- Design
- Development
- Testing
- Deployment
- Maintenance
Analysis
This is the initial planning phase; typically started with a client, or other stakeholder making a request for a new product or feature. Or, in rare cases, this could be the inception of a brand new product or company!
Job Roles
- Product Owner
- Project Manager
- CTO
- Business Analyst
Design
This is where major decisions are made - we try to answer complex questions about the new product or feature.
- What is the Minimum Viable Product (MVC)?
- What tech stack will be used?
- What is the budget (time and money)?
Job Roles
- System Architect
- UX/UI Engineers
- Solutions Architect
- Database Administrator
Development
This is what we have been practicing during the first few mods at Turing! Development is the process of implementing the features that make up the MVC (as determined in the Design step). During this phase, we generally write tests that confirm that the feature is doing what we (the developers) thing it should be doing.
Job Roles
- Front-end Developers
- Back-end Developers
Testing
Now, the feature developers hand their work to another team - the testing that happens in this phase will confirm that the development phase produced what the client or stakeholder is expecting. This phase is sometimes referred to as QA (quality assurance) or User Testing.
Job Roles
- Solutions Architect
- QA Engineer
- Testers
- DevOps
Deployment
In this phase, we move the feature out of the development environment into a live environment where it will be accessible by all intended users. For example, when we build a website, we work on the application locally, and then deploy it onto servers that are constantly running on the web.
Job Roles
- DevOps
- Database Administrator
Maintenance
Once deployed, we need to make sure that the feature continues to work as expected. During this phase, we make sure that updates to the feature do not interfere with its intended purpose. Similarly, we need to keep an eye on how users are using the feature - is the feature being used appropriately?
Often, during the maintenance phase of one feature, the whole process is started over for a new feature!
Job Roles
- Users
- Testers
- Support Managers
Workflow
Take a few minutes to research the following software development processes. Be ready to share your discoveries!
- Sprint
- Daily Scrum
- Epic