image

Delivering successful projects

Software Technology Group has a proven approach to successful project development. We have developed large-scale projects consisting of millions of lines of code deployed to tens of thousands of users. Our senior consultants and management have successfully used many different development methodologies during their careers. They each have a solid understanding of the full software development lifecycle, as well as experience with a wide array of technologies and solutions.

Managing for success

Ensuring the success of a project means understanding the requirements, assigning project priorities, and keeping the managerial “overhead” to a minimum. At STG, we believe the best-run projects—regardless of the methodology used—always involve these essentials:

  • Understanding the business case and requirement
  • Assembling a strong team
  • Identifying the true priorities
  • Developing a workable plan and effective tracking strategy
  • Identifying, mitigating, and managing risk
  • Using the most appropriate tools and methods
  • Measuring results

Accommodating change

At STG, we understand the importance of hitting delivery deadlines, while maintaining the flexibility to make changes to the plan as appropriate. There are a number of valid reasons why project plans can and should change:

  • Changing business landscape – The market doesn’t stand still once a software development project begins, but continues to evolve over the course of the project
  • Requirements gap – During development, a customer or team member notices a gap in the requirements
  • New ideas – Given more time and thought, the business thinks of a better approach for a given feature
  • External dependency change – Sometimes an external dependency changes (e.g. an integration point is scheduled for an upgrade)

When evaluating proposed changes to the plan, we consider the constraints of the "iron triangle":

In software development projects, these are the three variables that you can alter. By altering one you must make a corresponding alteration in one or both of the other variables. Any change to Scope would require a corresponding change to Resources and/or Time. For example, if a new feature were proposed mid-project, we work closely with the customer to reset priorities. If the work is deemed necessary, scope increases. This means that we must increase Resources (add a person, or approve overtime, etc.), or increase the Time (and overall budget) of the project, or decrease a corresponding amount of Scope (swap out lower priority features). We work with our customers to ensure timely delivery, while staying flexible, rather than doggedly sticking to a plan that is no longer viable. In this way, we ensure that the customer is getting the best return on their investment.