Your Agile Team


What does Agile mean to Sphere Consulting? Sphere boasts an army of highly technical software craftsmen who provide real-time project visibility. Sphere is Your Agile Team.

With global locations in Chicago, IL, Pittsburg, PA, San Francisco, CA, Los Angeles, CA and New York, NY, as well as Central and Easter Europe - Sphere is ready with an agile team of developers, business analysts and project managers…and more.

Team agility means we provide accountability and decision-making insights during all stages of your project. Your agile team will unite project planning, resource management, time reporting, defect tracking and customer support in one integrated system.

  • Agile is not a buzzword; it's our commitment to "Team empowerment and accountability". Agile Scrum methods promote collaboration with you and equip us to take on innovations at any stage without sacrificing the continuous evolution of the project.
  • If a problem arises we fix it quickly, visibly and to your satisfaction. We progress in tandem every day. It's just that simple.

We practice Agile methodology, and, in particular, Scrum.

Here are the practices that we follow:

  • Scrum with 7-day or 14-day sprints
  • Continuous integration, TDD, code reviews, pair programming
  • Project tracking and collaboration using Jira, Confluence, SVN, Git and PM software
  • Code and demo are 100% visible at all times
  • Daily and weekly reports and plans
  • Regular meetings via Skype/GTM with minutes

We believe in the Agile Manifesto Values.

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Benefits of Agile.

  • It reduces costs while reallocating more funds for new business development
  • It greatly minimizes bugs and gives you working code every iteration
  • It significantly reduces the chance of project failure due to poor requirements, unrealistic schedules or lack of testing

Description of common practices that we use: Pair Programming

Pair programming is a very productive practice for improving code quality and time to market. One programmer will develop the code while another closely watches, advises and navigates. This practice has proven producing shorter programs, with better designs, with- out loss of functionality and far fewer bugs than programmers working alone.


Test Driven Development (TDD)

TDD programmers write software in very small, verifiable steps. The objective is to take all business requirements and translate them into code. This becomes the pass/fail tool to ensure that what we code matches your expectations. They start by writing a small test scenario to make sure all their code fills your requirements. Then they write enough code to satisfy/pass the test and move onward. So, the next test is written, and so on.

Continuous Integration

The system is built/compiled/integrated at least daily and ideally, whenever updated, source code is checked into version control. Immediately after the system is built, which is often done in a separate "project integration sandbox"; it is automatically tested.


Refactoring

As programmers add new features to the project, the design gets fragile and the code becomes brittle…easily breaking over time. Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior. So its heartbeat is a series of small, behavior preserving transformations.


Behavior driven development

BDD focuses on exposing internal logic (typically business rules) to review by stakeholders. Behavior-driven developers use their native language in combination with the ubiquitous language of domain driven design to describe the purpose and benefit of their code. This allows the developers to focus on why the code should be created, rather than just the technical details.