I have a significant interest in almost all aspects of the Software Development Life Cycle (SDLC). You could say my main professional interest —one that I’m truly passionate about— is in how to develop high quality software systems efficiently and effectively within budget and on time. To achieve this requires at least a minimum level of interest in almost every aspect of the SDLC.
I’m by no means an expert an all of the concepts, systems and ideas I’ve listed here, but I do understand their relevance and the potential impact that any one can have on a project. One of my great passions is expanding and piecing together my knowledge of these topics (and more) .
Methodology
- Agile Methodologies
- –Scrum
- –Extreme Programming (XP)
- The Unified Process (UP)
- –IBM Rational Unified Process® (RUP®) Methodology
Process & Policies
- Model Assisted/Driven/Centric Development (M*D)
- Model Driven Architecture® /Engineering (MDA® / MD*) Processes
- Test Driven Development
- Iteration Management
- Incrementation Management
- Documentation
- Release Criteria Determination
- Effort Estimation
- Langauage System and Technology Selection
- Versioning
- Build Management
- — Nightly Builds
- Configuration Management
- Licencing
- Metrics
Tools
- Requirements Management
- UML® Modellers
- Revision, Version and Concurrency Control
- Wireframing & Prototyping
- Integrated Development Environments (IDEs)
- Compilers
- Unit Testing Frameworks
- Error, Defect & Bug Management
- — Tracking
- Automation Tools
- — Scripting
- Build Systems
- Testing
- — Profilers
- — Test Runners
Requirements Engineering
- Elicitation
- Management
Modelling & Analysis
- Enterprise, Business and Process
- Requirements
- Use Case
- Problem Domain
- Architecture
- Design
System/Software Design & Architecture
- Software Architectures
- — Software System Properties
- Patterns
- Principles
- — SOLID
- User Experience Design
- — Wireframing
- — Prototyping
- Code Re-Use
- Third Party Framework & Library Usage
Implementation
- Coding style and standardisation
- Refactoring
Quality Assurance
Verification
- Checklist Engineering & Utilisation
- Code Reviews
- Walkththroughs
Validation
- Unit Testing
- Integration Testing
- System Testing
- User Acceptance Testing
Software System Maintenance & Support
- Software System Analysis & Assessment