Sphere of Influence Software Studios



Elaborative requirements
Intense unit and system level test automation
Integrated product design disciplines
Zero tolerance for discovered defects
Fixed-size delivery timeboxes
Design for Test (DFT) / Design by Contract modularity
Path coverage analysis and testing thresholds
Design Thinking for Software  

Design Thinking for Software

Agile at Sphere

We approach Agility from a different perspective than the mainstream Agile training community. For starters, we completely depend on Agile in both our consulting and outsourcing practice areas. Next, we don’t use “cutsie Agile” (i.e. pigs, chickens, planning games, leaderless teams, and all that). Our corporate culture is serious and built on three main pillars: engineering excellence, product design, and customer/mission. We designed our Agile approach to optimize these priorities. Finally, we are innovators who always seek ways to enhance the tools and methods available.

At Sphere, Agile is about “decoupling”. Whether the discussion is technical architecture, business process, requirements, organization structure, or testing – coupling is the enemy of flexibility. We show our clients how to detect coupling in all of its insidious forms and selectively eliminate disruptive or unnecessary coupling. By decoupling project elements our clients gain more flexibility to adapt and react to situations as their projects evolve.

Ours is a grittier more targeted approach to Agile than what you’ll get from our competitors. With our approach project teams achieve the results that attracted them to Agile in the first place, namely: a shorter less expensive engineering lifecycle, better finished products, and intense amounts of testing.

Speaking of testing, no Agile project is complete unless the testing is extreme. It goes without saying that automated unit tests need to run and pass whenever the smallest change is made. At Sphere, we not only adhere to that rule we extend this philosophy deep into system testing. By decoupling application architectures through “seams” in the design we are able to achieve extremely high coverage ratios with automated system and acceptance testing.

  How are you going to test that?

When reviewing a technical design the statement you’ll hear most from our delivery leads is “how are you going to test that?” No software gets implemented on our floor without consideration for test, specifically automated isolation tests. While other companies struggle to put their software together, our delivery teams focus on designing software to be “taken apart”. When creating a complex system, how something comes apart for isolation test or in support of deployment scenarios is at least as important as how it goes together. By decoupling application components with good abstraction and engineering we can easily run system-level test exercises several times a day, without massive data preparation.

Each development build produces analysis reports that show not only whether tests pass but how well the tests cover the code paths. Testing at Sphere is a rigorous and tightly controlled process.


Lean Development

While it is common for software developers to talk about Lean, few appreciate what it truly represents. At Sphere we take the “just in time” aspects of Lean Production Systems seriously. A project needs certain things to be in place every day, sometimes every hour (requirements for example). We make sure everything is in place when it is needed and never produced in finished form until it is ready to be consumed. This not only ensures freshness of the artifact it eliminates a lot of waste. We apply Lean philosophies to requirements, architecture, change requests, testing, and planning.

At Sphere we make every effort to run zero-defect projects. This means a defect is supposed to be corrected or removed within 48-hours of discovery. The sun should never set twice on a defect.
 
Design Thinking for Software something excellent every day
Copyright 2001-2009 by SPHERE OF INFLUENCE, INC. all rights reserved. Photo-art used under license