Softmake's Software Development Taxonomy
- Software Development Taxonomy
- A categorization of software development thought and methods.
An elucidation can be found under Meta Issues, Software Development Taxonomy. Note it is different from a Lifecycle Taxonomy or Lifecycle Method.
Here is our software development taxonomy (based largely on McConnell's Rapid Development System):
- As the Project Proceeds
- Management Fundamentals
- Planning
- Estimation & Scheduling Method for.
- Size
- Effort
- Schedule
- Pricing Method
- Time and Materials
- Fixed Cost
- Resource list
- Apply resource to schedule
- Team Sizing Method
- Team Method (or "Team Model")
- Lifecycle
- Lifecycle Taxonomy
- Lifecycle Method
- Estimation & Scheduling Method for.
- Measurement (metrics)
- Planning
- Technical Fundamentals
- Requirements, Design, & Specification management
- Methods for soliciting requirements/specs. E.g.
- Joint Application Development (JAD)
- Interviews
- Prototyping
- Specification Document Types
- Control and Specification
- Artifacts
- File locations
- Requirements
- Schema. Tables and Relationships Diagram (Entity - Relationships Diagram)
- Reports
- Data Flow
- Architecture
- User Documentation
- Developer Documentation
- Schedule (e.g. A Gantt chart)
- Prototype Screenshots
- Web Wireframes
- Methods for soliciting requirements/specs. E.g.
- Coding management (McConnell's approximate "Construction Management")
- Coding Conventions
- Application Directory
- File Naming
- Cliche Directory
- Cliche DB
- Code Naming
- Coding Style
- Code Validators (Automatic code checking such as The W3C Markup Validation Service)
- Standard Application Library
- Standard Development Library
- Standard Development Tools
- User Interface Design.
- Programming Craft. Eg
- Object Oriented Programming V Structured.
- Datatype Choice
- Defensive Programming
- Version Control Method (McConnell places this under "Software Configuration Management")
- Coding Conventions
- Quality Assurance Methods (Applies to requirements & design as well as Coding)
- Technical Reviews
- Inspections
- Code Reading
- Walkthroughs
- Execution Testing
- Technical Reviews
- User and Developer Documentation Conventions
- Requirements, Design, & Specification management
- Management Fundamentals
- Throughout the Project.
- Avoid Classic Mistakes
- Manage Risks
- Tracking
- Strategic decisions
- Task Management
- Revise schedule estimation
- Apply Schedule Oriented Practice (Prioritize the following)
- Develop Faster
- Reduce Schedule Risk
- Make Progress Visible
- The Trade off Triangle (Developers must control at least one apex)
- Cost
- Product (the features)
- Schedule
- Dimensions
- People
- Process
- Product
- Technology
- Developer Virtues. E.g.
- Courage
- Communicability