Software Design and Programming

Once a team has been assembled, and the preliminary decisions have been made about the platform and coding language of the application, our project managers at Touch and Click oversee the design and programming of the application directly. We have implemented a number of software development strategies such as the Agile method, Unified Process, Iterative, and Spiral methods for managing our team collaborations, and have assembled a hybrid working method that takes the best aspects of each without being overly concerned with jargon or making team members conform to a particular model. What we look for is talent and quality, and that is factored by speed and clarity for swift development. Our project managers use round table methods to bring ideas and suggestions together from programmers, and then redistribute tasks to the team based upon their specializations and expertise. Our project managers are responsible for coordinating the full design roadmap of a software application and presenting it to management or to our clients directly. We typically work with programming teams of 5 to 7 members reporting to a single project manager. We require our project managers to have top level programming experience, as they will oversee the distribution of tasks, the sectioning of a project for individual work and development, as well as its re-assembly and debugging.

For workflow management in our software development projects we prefer the Spiral Model, which can best be summarized as:

  1. The new system requirements are defined in as much detail as possible. This usually involves interviewing a number of users representing all the external or internal users and other aspects of the existing system.
  2. A preliminary design is created for the new system.
  3. A first prototype of the new system is constructed from the preliminary design. This is usually a scaled-down system, and represents an approximation of the characteristics of the final product.
  4. A second prototype is evolved by a fourfold procedure:
    • evaluating the first prototype in terms of its strengths, weaknesses, and risks;
    • defining the requirements of the second prototype;
    • planning and designing the second prototype;
    • constructing and testing the second prototype.
  5. At the customer's option, the entire project can be aborted if the risk is deemed too great. Risk factors might involve development cost overruns, operating-cost miscalculation, or any other factor that could, in the customer's judgment, result in a less-than-satisfactory final product.
  6. The existing prototype is evaluated in the same manner as was the previous prototype, and, if necessary, another prototype is developed from it according to the fourfold procedure outlined above.
  7. The preceding steps are iterated until the customer is satisfied that the refined prototype represents the final product desired.
  8. The final system is constructed, based on the refined prototype.
  9. The final system is thoroughly evaluated and tested. Routine maintenance is carried out on a continuing basis to prevent large-scale failures and to minimize downtime.

From: “The Spiral Model,” based upon the work of Barry Boehm (1988), Professor of Software Development at The University of Southern California.

As our outsourcing teams may include members from three or four continents working on a project simultaneously, we find the Spiral Model most appropriate as it can be administered and implemented by our in-house project managers centrally. Nevertheless, we have adapted some working methods from the Agile method to help our teams work together more effectively.

For more information on software development at Touch and Click, please contact one of our customer service representatives.

| News | Careers | Privacy | Terms & Conditions |

www.touchandclick.com