algorithm
A specific plan and sequence of steps and/or rules that’s used to solve a problem.
analysis
Stage of thoroughly thinking through and understanding all aspects of a problem to inform how you write your algorithm and what data structures you will use in the design phase
design
When you write out a specific algorithm for solving the problem and determine which data structures will be used. Design is based on analysis process.
implementation
When the code for an algorithm is written in a specific language.
maintenance
When the problem is solved with working code, but at some point an update to the algorithm is needed as the needs of the end users change, or it’s when the problem is mostly solved but small refinements are needed.
testing
Stage where you give the algorithm various inputs to test and make sure you get the correct outputs and behaviors in different scenarios