Các phương pháp phát triển phần mềm (development methodologies) là các frameworks và practices giúp teams tổ chức và thực hiện công việc một cách hiệu quả. Mỗi method có ưu điểm và phù hợp với các tình huống khác nhau.
// Scrum artifacts
public class ProductBacklog
{
public List<ProductBacklogItem> Items { get; set; }
public void Prioritize() { } // Ranks by business value
}
public class Sprint
{
public List<SprintBacklogItem> Backlog { get; set; }
public SprintGoal Goal { get; set; }
public Timebox Duration { get; set; } // Usually 2-4 weeks
}
public class DailyScrum
{
// 3 questions:
// 1. What did I do yesterday?
// 2. What will I do today?
// 3. Are there any blockers?
}
// XP practices
public class XPPractice
{
// Pair Programming: Two developers at one workstation
// Continuous Integration: Every commit triggers build + tests
// TDD: Red → Green → Refactor
}
// CI/CD Pipeline stages
public class PipelineStage
{
public const string BUILD = "Build";
public const string TEST = "Test";
public const string STAGING = "Deploy to Staging";
public const string PRODUCTION = "Deploy to Production";
}
// Many teams use hybrid approaches
public class HybridMethod
{
// Scrumban - Scrum + Kanban
// Water-Scrum-Fall - Waterfall for planning, Scrum for execution
// SAFe - Scaled Agile Framework for large projects
}