Discourse, noun (dĭs'kôrs', -kōrs')

A formal, lengthy discussion of a subject, either written or spoken. (more)

Open conversation builds trust. Trust is the foundation of the relationships Full Discourse establishes with its customers.
 

Our Approach To Quality

The term quality in the context of software is ambiguous. To some, quality might mean security and accuracy, while to others it might mean usability and maintainability. Whatever quality means to your organization, Full Discourse seeks to maximize the level of quality for your project. We always consider all apsects of quality, but we adjust our prioritization based on your unique constraints. 

Software development is a complex process that cannot be managed like the well defined processes found in manufacturing environments. To maximize quality and minimize risk, the principles of empirical process control – Visibility, Inspection, and Adaptation – must be used to govern the software development process.

  • Visibility - The fundamental tenet of the Discourse Programming™ is that the status of the project schedule and the work of the Software Development Team must be transparent to the Product Owner and Stakeholders (the Business Team).
  • Inspection - The Business Team must conduct frequent inspection of the software product to ensure that its functionality and direction accurately reflect and respond to current business requirements. The conversational feedback from the Business Team to the Development Team is a critical success factor of Discourse Programming™.
  • Adaptation - As the Business Team regularly inspects the software product, it will discover that requirements need to be changed. The software development process must permit constant requirement changes as it proceeds. Prioritization of the work must be driven by the Product Owner, in response to current business requirements.

Defect Prevention

Our software developers use a test first technique known as Test Driven Development. This results in automated tests suites, which is a valuable deliverable that makes future maintenance easier and less error prone. Writing tests first results in clearer more reusable code and it also saves considerable time debugging, which by the way is the most time consuming part of software development. Our developers constantly run these tests to make sure that previously written code continues to work.