We Follow These Principles:
We welcome changing requirements, even late in development. Agile processes harness change for the customer"s competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.
The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development. The sponsors, developers and users should be able to maintain a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Simplicity -- the art of maximizing the amount of work not done -- is essential.
The best architectures, requirements and designs emerge from self-organizing teams.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Our Agile Best Practices:
"Agile" or "Agile Software Development" isn"t a single method. It"s an umbrella term covering just a collection of "values" that you might choose to hold. Two different methods can both be "Agile" and yet conflict with each other when it comes to practices you should or should not do.
There isn"t a clear cut definition of "Agile" - so it"s not possible to make a definitive list of "Agile practices", but there is in fact a minimum number of things you have to do to be doing Scrum (although that"s not representative about specific engineering practices.)
Rather than doing all of one thing at a time, Scrum teams do a little of everything all the time.
These lists summarize all Agile best practices our teams apply regularly at Excel SoftSources.
- Product Vision / Vision Statement
- Product Backlog
- User Stories
- Use Cases
- Usage Scenarios
- Planning Poker
- Requirement Prioritization
- Architectural Spikes / Spike Solutions
- Domain Driven Design
- Emergent Design / Evolutionary Design
- CRC Cards
- Design by Contract
- System Metaphor
- Coding Style / Coding Guidelines / Coding Standard
- Test Driven Development
- Behavior Driven Development
- Pair-Programming / Pairing
- Collective Code Ownership
- Daily Builds / Automated Builds / Ten-Minute Builds
- Continuous Integration
- Code Reviews / Peer Reviews
- Software Metrics / Code Metrics & Analysis
- Source Control / Version Control
- Issue Tracking / Bug Tracking
- Configuration Management
- Frequent Delivery / Frequent Releases
- Timeboxing / Fixed Sprints / Fixed Iteration Length
- Release Planning
- Iteration Planning / Planning Game / Sprint Planning
- Sprint Backlog
- Task Board
- Definition of Done / Done Done
- Daily Stand-up Meeting / Daily Scrum
- Sprint Review / Iteration Demo
- Value Stream Mapping
- Root Cause Analysis / 5 Whys
- Burn Down Charts / Burn Up Charts
- Big Visible Charts / Information Radiators
- Retrospective / Reflection Workshop
- Unit Testing
- Smoke Testing / Build Verification Test
- Integration Testing
- System Testing
- Exploratory Testing
- Test Automation
- Storytesting / Acceptance Criteria / Acceptance Testing
- Small Team
- Cross-Functional Team
- Self-Organizing Team / Scrum Team
- Co-located Team / Sitting Together / Common Workspace
- Scrum Master
- Sustainable Pace
- Move People Around
- Scrum of Scrums