We continuously improve our methodology to meet customer expectations through accelerated development schedules and high quality results. We have refined our business processes by blending leading industry practices spanning from classical Waterfall to modern Agile methodologies.

We have been working both with software vendors and non-software companies in projects with teams located in different parts of the world. While successful distributed development allows teams to develop high quality software faster, leading to improved business agility and a greater capacity to handle the pressures of competition, the challenges are significant. You need to:

  • communicate accurately and unambiguously across the barriers imposed by distance, time zones languages, or cultures – or all of these factors;
  • manage all dimensions of the software development lifecycle – requirements, change and assets, testing, coding, etc. – in a distributed environment.

The DGIT can help here, for we know perfectly well how to ensure there are neither overlaps nor conflicting delivery terms.

REQUIREMENTS & PROPOSAL

From the moment you dial, you’re put in touch with a trained developer and guaranteed to receive useful advice and honest feedback. We’ll immediately note down your needs and provided we can help, will book a face-to-face meeting to better understand what you’re looking for. We realize requirements may change over time and are well prepared to be flexible. We also encourage all parties to focus on the Minimum Viable Product and avoid project scope creep.

After gathering your initial requirements, we produce a detailed document outlining our proposed solution and initial system designs.

We are happy to keep refining the proposal until we have a document which fully meets your needs.

DEVELOPMENT

We create the application using agile methodology. The development is broken down into several iterations; there’s a meeting before each stage to confirm requirements, and after each, we’ll walk you through that section to get detailed feedback.

Early feedback and the ability to refine and re-prioritize features, are key to both how we work and the success of our projects. As a client, you can expect software solutions which closely match both the needs of your end users and your ultimate business goals because you’ll be fully involved with the development process.

STAGING SYSTEM & CLIENT TESTING

Unless the project is particularly small, we deploy a version of the system to our staging server during development. Then after each iteration, we deploy complete code to the staging environment ready for testing. As a client, you’ll be given access to the system and encouraged to interact with it throughout development. This ensures every aspect of the solution is tested thoroughly.

Once all agreed features are complete, we move to an agreed period of client testing. During this time, we encourage as much testing as possible to ensure the solution is ready to go live.

SUPPORT & MAINTENANCE

We know our work is not done once the project goes live and we’re passionate about nurturing long lasting relationships.

We do that by tailoring our support packages to ensure they meet your needs.

If your solution is mission critical we provide Service Level Agreements. If you expect traffic peaks we ensure the infrastructure is put in place to automate scaling up and back down.

We provide 24/7 automated monitoring as standard and optionally 24/7 phone support where required.

Most importantly, we monitor telemetry from all our systems and pro-actively maintain them to avoid potential issues.

DISTRIBUTED TEAM PATTERNS AT THE DGIT

Common infrastructure
  • Integrated code base
  • Single CI server
  • Hourly automated builds
Shared community
  • Project management tool
  • Wiki and blogs
  • Shared mailing list and folder
Complete alignment
  • Technology alignments
  • Tool alignments
  • Engineering best practices
High communication modes
  • Sprint planning
  • Sprint review
  • Daily standups
  • Retrospectives