Agile Framework
We implement an Agile development methodology with two-week sprints, focusing on iterative development, continuous feedback, and adaptability. This approach allows us to:
- Deliver working software frequently, from a couple of weeks /months
- Welcome changing requirements, even late in development
- Maintain daily collaboration between business stakeholders and developers
- Build projects around motivated individuals in a supportive environment
- Use face-to-face conversation as the primary means of communication
- Measure progress primarily through working software
- Maintain a sustainable development pace
- Measure progress primarily through working software
- Focus on technical excellence and good design
- Emphasize simplicity—maximizing the amount of work not done
- Allow self-organizing teams to create the best architectures and designs
- Regularly reflect on team effectiveness and adjust accordingly
Key Practices
Test-Driven Development (TDD)
Writing tests before code to ensure quality and maintainability.
Integration/ Deployment
Automating the build, test, and deployment processes
Code Reviews
Ensuring code quality through peer reviews before merging
Pair Programming
Collaborative coding for complex features to improve quality and knowledge sharing
Documentation
Maintaining comprehensive, up-to-date documentation
Retrospectives
Regular team meetings to reflect on what went well and identify areas for improvement
Tools and Technologies
We utilize modern toolsets to support our development process

Project Management
Jira for issue tracking, Azure DevOps for project planning

Source Control
Git with branching strategies appropriate to project size

CI/CD Pipeline
Jenkins, GitHub Actions, or Azure DevOps

Testing
Automated testing frameworks appropriate to the technology stack

Communication
Slack for team communication, Confluence for documentation