Difference between Individual & Professional software development
Individual development is developed by individuals for personal needs and mainly consider the coding and technical aspects.
Professional development is developed by a team for business needs and considers all aspects (technical, non-technical and global aspects) and considering the full software development life cycle stages.
Software Characteristics
Functionality or features
Performance
Maintainability
Dependability
Usability
Model driven software development
An approach to software development where models are the primary source for analysing, designing, constructing, deploying and maintaining a system.
Model
A formal specification of the function, structure and behaviour of a system within a given context from a specific POV. This is generally represented by a combination of drawings, text with formal notation.
Traditional Software development Process
This method has linear stages and is best for simple unchanging projects AKA waterfall method.
Planning & analysis
Architecture & design
Implementation & testing
Deployment & operations
Maintenance & evolution
Agile software development
This method is a continuous cycle of development where users have high involvement in the process to produce a flexible and continuous evolution.
Requirements
Plan
Design
Develop
Release
Monitor
CYCLE STARTS AGAIN!
Agile values
Individuals and Interactions over processes and tools
Working software over documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Software development projects
projects consist of a Project stack which we use to create an Application stack
A project stack is a collection of tools which will allow the team to manage the project.
A application stack consists of the different applications the team would need to complete the project.