Useful Links
Technology
Computer science
Software Engineering
Software Development Methodologies
Agile
Core Principles
Individuals and Interactions Over Processes and Tools
Working Software Over Comprehensive Documentation
Customer Collaboration Over Contract Negotiation
Responding to Change Over Following a Plan
Scrum
Roles
Scrum Master
Product Owner
Development Team
Events
Sprint Planning
Daily Scrum
Sprint Review
Sprint Retrospective
Artifacts
Product Backlog
Sprint Backlog
Increment
Kanban
Core Principles
Visualize Work
Limit Work in Progress (WIP)
Manage Flow
Make Process Policies Explicit
Implement Feedback Loops
Kanban Board
Metrics
Lead Time
Cycle Time
Cumulative Flow Diagram
Extreme Programming (XP)
Practices
Pair Programming
Test-Driven Development (TDD)
Continuous Integration
Refactoring
Small Releases
Waterfall
Sequential Phases
Requirements
Design
Implementation
Verification
Maintenance
Advantages and Disadvantages
Simple and Structured Approach
Difficulty Accommodating Changes
DevOps
Key Concepts
Collaboration Between Development and Operations
Automation of Delivery and Infrastructure Changes
Practices
Continuous Integration
Continuous Delivery/Deployment
Microservices
Infrastructure as Code
Cultural Aspects
DevOps Culture
Collaboration and Communication
Spiral Model
Phases
Planning
Risk Analysis
Engineering
Evaluation
Spiral Iterations
Risk Management Focus
V-Model
Verification and Validation Phases
Correspondence of Development and Testing Phases
Benefits and Challenges
Clear Standards and Guidelines
Rigid and Less Flexible
Incremental Model
Incremental Development Process
Dividing System into Smaller Increments
Delivering Functional Increments
Benefits of Early Product Delivery
Iterative Model
Iterations in Development
Prototype Development
Continuous Feedback and Refinement
Flexibility in Changing Requirements
2. Software Development Life Cycle (SDLC)
First Page
4. Programming Languages and Paradigms