# traditional-development-methodology > Use when developing traditional software projects (non-skill based) - provides comprehensive software development methodology covering requirements analysis, system architecture, coding practices, testing strategies, deployment pipelines, and maintenance. Focuses on executable code, APIs, databases, and traditional software engineering practices. - Author: 巩旭红 - Repository: gongxh13/agentdev-suite - Version: 20260205202359 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/gongxh13/agentdev-suite - Web: https://mule.run/skillshub/@@gongxh13/agentdev-suite~traditional-development-methodology:20260205202359 --- --- name: traditional-development-methodology description: Use when developing traditional software projects (non-skill based) - provides comprehensive software development methodology covering requirements analysis, system architecture, coding practices, testing strategies, deployment pipelines, and maintenance. Focuses on executable code, APIs, databases, and traditional software engineering practices. --- # Traditional Software Development Methodology This skill provides a comprehensive methodology for traditional software project development, focusing on executable code, APIs, databases, and standard software engineering practices. Use this when building web applications, mobile apps, backend services, libraries, or any software that delivers executable functionality rather than AI guidance. ## Overview Traditional software development creates executable systems that run on computers, devices, or servers. Unlike skill-based projects that guide AI behavior, traditional projects produce working software with user interfaces, APIs, databases, and business logic. ## Core Principles ### 1. Working Software Over Documentation - Deliver functional, tested software - Document as needed for maintenance and collaboration - Focus on user value and system reliability ### 2. Incremental Development - Build features incrementally with continuous integration - Release early and often - Gather feedback and iterate ### 3. Quality First - Write tests alongside code - Follow coding standards and best practices - Implement continuous quality assurance ### 4. Team Collaboration - Clear role definitions and responsibilities - Effective communication and coordination - Shared understanding of goals and constraints ## Project Structure ### Standard Project Layout ``` traditional-project/ ├── src/ # Source code │ ├── main/ # Production code │ │ ├── java/ # Java source │ │ ├── kotlin/ # Kotlin source │ │ ├── resources/ # Configuration files │ │ └── ... │ └── test/ # Test code │ ├── java/ # Java tests │ ├── kotlin/ # Kotlin tests │ └── resources/ # Test resources ├── docs/ # Documentation │ ├── requirements/ # Requirements documents │ ├── design/ # Architecture and design │ ├── api/ # API documentation │ └── deployment/ # Deployment guides ├── config/ # Configuration files │ ├── development/ # Dev environment config │ ├── staging/ # Staging environment config │ └── production/ # Production environment config ├── scripts/ # Build and deployment scripts ├── tests/ # Test suites and automation ├── .github/ # GitHub workflows and templates ├── docker/ # Docker configurations └── package.json/pom.xml/build.gradle # Build configuration ``` ### Technology Stack Considerations - **Frontend**: React, Vue, Angular, HTML/CSS/JS - **Backend**: Node.js, Spring Boot, Django, Express - **Database**: PostgreSQL, MySQL, MongoDB, Redis - **Infrastructure**: Docker, Kubernetes, AWS, Azure, GCP - **CI/CD**: GitHub Actions, Jenkins, GitLab CI ## Development Workflow ### 1. Requirements Analysis ```bash # Use product strategy skills for requirements gathering Task: product-manager Task: product-owner # Key activities: # - Stakeholder interviews and user research # - Business requirement documentation # - User story creation and prioritization # - Acceptance criteria definition ``` ### 2. System Architecture ```bash # Use architecture design skills Task: software-architect # Key activities: # - Technology stack selection # - System decomposition and component design # - API design and contract definition # - Database schema design # - Infrastructure planning ``` ### 3. Implementation ```bash # Use software development skills Task: software-developer # Key activities: # - Setup development environment # - Write production code with tests # - Code review and quality checks # - Integration testing # - Performance optimization ``` ### 4. Testing and Quality Assurance ```bash # Use testing skills Task: software-tester # Key activities: # - Unit test implementation # - Integration test development # - End-to-end testing # - Performance and security testing # - Bug tracking and resolution ``` ### 5. Deployment and Operations ```bash # Use git workflow skills for version control Skill: managing-git-workflows # Key activities: # - Build automation # - Deployment pipeline setup # - Environment configuration # - Monitoring and logging # - Maintenance and updates ``` ## Coding Standards and Best Practices ### Code Quality - **Readability**: Clear naming, consistent formatting - **Modularity**: Single responsibility, loose coupling - **Testability**: Dependency injection, separation of concerns - **Maintainability**: Documentation, error handling, logging ### Security Practices - **Input validation**: Sanitize all user inputs - **Authentication/Authorization**: Proper access controls - **Data protection**: Encryption, secure storage - **Vulnerability management**: Regular security updates ### Performance Optimization - **Database optimization**: Indexing, query tuning - **Caching strategies**: Redis, CDN, browser caching - **Code efficiency**: Algorithm optimization, memory management - **Scalability**: Horizontal/vertical scaling, load balancing ## Testing Strategy ### Test Pyramid ``` End-to-End Tests (10%) / \ Integration Tests (20%) \ Unit Tests (70%) ``` ### Unit Testing - **Coverage**: Aim for 70-80% line coverage - **Isolation**: Mock external dependencies - **Readability**: Clear test names and structure - **Maintenance**: Keep tests updated with code changes ### Integration Testing - **API testing**: Verify endpoint functionality - **Database testing**: Ensure data persistence - **External service testing**: Mock or use test doubles - **Performance testing**: Load and stress testing ### End-to-End Testing - **User journey testing**: Complete workflow validation - **Cross-browser testing**: Browser compatibility - **Mobile testing**: Responsive design verification - **Accessibility testing**: WCAG compliance ## Version Control and Collaboration ### Git Workflow ```bash # Use standardized git workflow Skill: managing-git-workflows # Standard branch strategy: # - main/master: Production-ready code # - develop: Integration branch # - feature/*: New feature development # - hotfix/*: Critical production fixes # - release/*: Release preparation ``` ### Code Review Process - **Pull request templates**: Standardized review checklist - **Automated checks**: CI/CD pipeline validation - **Review guidelines**: Focus on logic, not style - **Knowledge sharing**: Cross-team learning ### Documentation Standards - **API documentation**: OpenAPI/Swagger specifications - **Architecture decision records**: Design rationale - **Runbooks**: Operational procedures - **User guides**: End-user documentation ## Deployment and DevOps ### Continuous Integration ```yaml # Example GitHub Actions workflow name: CI Pipeline on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Run tests run: npm test - name: Build artifact run: npm run build ``` ### Continuous Deployment - **Environment separation**: Dev, Staging, Production - **Infrastructure as Code**: Terraform, CloudFormation - **Containerization**: Docker, Kubernetes - **Monitoring**: Prometheus, Grafana, Application Insights ### Release Management - **Versioning**: Semantic versioning (MAJOR.MINOR.PATCH) - **Change logs**: Document all changes - **Rollback strategy**: Quick recovery from failures - **Feature flags**: Gradual feature rollout ## Maintenance and Evolution ### Technical Debt Management - **Regular refactoring**: Code quality improvements - **Dependency updates**: Security patches and upgrades - **Performance monitoring**: Proactive optimization - **Architecture reviews**: Periodic system assessment ### Monitoring and Observability - **Metrics**: Response times, error rates, resource usage - **Logging**: Structured logs with correlation IDs - **Tracing**: Distributed transaction tracking - **Alerting**: Proactive issue notification ### Incident Response - **Runbooks**: Standard operating procedures - **Communication**: Stakeholder updates - **Root cause analysis**: Problem identification - **Prevention**: Systemic improvements ## Comparison with Skill-Based Development ### Traditional Software Development - **Deliverable**: Executable code and systems - **Focus**: Functionality, performance, reliability - **Users**: Humans interacting with software - **Testing**: Code execution verification - **Deployment**: Servers, containers, devices ### Skill-Based Development - **Deliverable**: AI guidance and workflows - **Focus**: Knowledge transfer, process guidance - **Users**: AI agents using skills - **Testing**: Guidance quality and accuracy - **Deployment**: Plugin systems, skill libraries ### When to Choose Traditional Development 1. **Building user-facing applications** 2. **Creating APIs or services** 3. **Developing libraries or frameworks** 4. **Working with databases and data processing** 5. **Requiring performance optimization** 6. **Needing hardware integration** ### When to Choose Skill-Based Development 1. **Creating AI assistance workflows** 2. **Documenting complex processes** 3. **Building knowledge bases** 4. **Developing training materials** 5. **Creating reusable AI patterns** ## Tooling and Ecosystem ### Development Tools - **IDEs**: VS Code, IntelliJ, Eclipse - **Build tools**: Maven, Gradle, npm, yarn - **Package managers**: npm, pip, NuGet, Maven Central - **Container tools**: Docker, Podman, Kubernetes ### Testing Tools - **Unit testing**: JUnit, pytest, Jest, Mocha - **Integration testing**: TestContainers, Supertest - **E2E testing**: Selenium, Cypress, Playwright - **Performance testing**: JMeter, k6, Gatling ### DevOps Tools - **CI/CD**: Jenkins, GitHub Actions, GitLab CI - **Configuration management**: Ansible, Chef, Puppet - **Infrastructure**: Terraform, CloudFormation - **Monitoring**: Prometheus, Grafana, ELK Stack ## Getting Started ### Project Setup Checklist 1. [ ] Define project scope and requirements 2. [ ] Select technology stack 3. [ ] Setup development environment 4. [ ] Initialize version control 5. [ ] Create project structure 6. [ ] Configure build system 7. [ ] Setup CI/CD pipeline 8. [ ] Implement basic tests 9. [ ] Create deployment configuration 10. [ ] Document setup process ### First 30 Days Plan **Week 1-2: Foundation** - Requirements gathering and analysis - Architecture design and technology selection - Development environment setup - Initial project scaffolding **Week 3-4: Core Development** - Implement key features - Setup testing framework - Configure deployment pipeline - Initial integration testing ### Common Pitfalls and Solutions #### ❌ Scope Creep - **Solution**: Clear requirements, regular stakeholder reviews, MVP focus #### ❌ Technical Debt Accumulation - **Solution**: Regular refactoring, code reviews, automated quality gates #### ❌ Poor Testing Strategy - **Solution**: Test pyramid implementation, automated testing, TDD/BDD #### ❌ Inadequate Documentation - **Solution**: Documentation as code, auto-generated docs, living documents #### ❌ Deployment Complexity - **Solution**: Infrastructure as Code, containerization, automated pipelines ## Resources and References ### Learning Resources - **Clean Code**: Robert C. Martin - **Design Patterns**: Gang of Four - **Site Reliability Engineering**: Google SRE book - **The DevOps Handbook** ### Online Communities - Stack Overflow, GitHub Discussions - Dev.to, Medium technical blogs - Technology-specific forums and Slack groups - Conference talks and workshops ### Reference Architectures - Microservices patterns - Serverless architectures - Event-driven systems - Distributed systems design ### Quality Standards - ISO/IEC 25010: System and software quality models - OWASP Top 10: Web application security - WCAG 2.1: Web content accessibility guidelines - GDPR, HIPAA, PCI DSS: Compliance standards