There are some general good practices to follow when building a new software application. Below provides a good outline of steps when following an Object-Oriented methodolgy when performing the Analysis and Design during Iterative development.
Following the Unified Process (UP)
- Inception (Artifacts (any work product) are Optional)
A short phase to develop and analze the vision/business case, Use-Case (Some) & Models, Supplementary Specification, Glossary, Risk Management, Iteration Planning, Proof of concepts, Scope, Estimations, Development Case. - Elaboration Phase (Multi-iteration)
Most requirements analysis should occure in the Elaboration phase. Refining vision, core architecture, resolution of risk, identify most requirements & Use Case, realistic estimates, Domain Models, SSD, Interaction Diagram, Class Diagram, TDD, - Construction
Full iterative implementation, preperation for deployment - Transition
Testing and Deployment
Following the Unified Process Disiplines
- Business Modeling
Visual and noteworthy concepts in the application domain. - Requirements
Use-Case and Models,Specification artifacts showing functional and non-functional requirements. - Design
Design Model Artifacts, for architectual objects, UI - Implementation
- Test
- Deployment
- Configuration & Change Management
- Project Management
Agile, Scrum - Environment
- Business Modeling
Agile Modeling - Requirements
- Design
Agile Modeling - Implementation
Test-Driven Develoment TDD, Continuous integration, Coding Standards