Near-Shore Staff Augmentation

Engineering for High Quality

We Follow These Principles

Our highest priority
Satisfy the customer through early and continuous delivery of valuable software.
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
We encourage contact 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.
face-to-face conversation
The most efficient and effective method of conveying information to and within a development team
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 skill, tightens bounds with customers
Simplicity
the art of maximizing the amount of work not done -- is essential.
The best architectures
requirements and designs emerge from self-organizing teams
Effectiveness and time
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.

REQUIREMENTS
  • Product Vision / Vision Statement
  • Product Backlog
  • User Stories
  • Use Cases
  • Usage Scenarios
  • Personas
  • Planning Poker
  • Requirement Prioritization
CONSTRUCTION
  • Coding Style / Coding Guidelines / Coding Standard
  • Test Driven Development
  • Behavior Driven Development
  • Pair-Programming / Pairing
  • Refactoring
  • 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
TESTING
  • Unit Testing
  • Smoke Testing / Build Verification Test
  • Integration Testing
  • System Testing
  • Exploratory Testing
  • Test Automation
  • Storytesting / Acceptance Criteria / Acceptance Testing
DESIGN
  • Architectural Spikes / Spike Solutions
  • Domain Driven Design
  • Emergent Design / Evolutionary Design
  • CRC Cards
  • Design by Contract
  • System Metaphor
PROCESS
  • 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
  • Velocity
  • 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
ORGANIZATION
  • 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