Pursuing perfection and excellence
in IT services sector

 

Technical Expertise

Technical Expertise

Our clients feel...

"Great to work with. Great work and communication. Thanks"

Lawrence
Client for iPhone application using Xcode

Free Consultation

Full Name
Company Name
Email
Phone
Your Message




Methodology

 

Software Development

Software industry is evolving, and so the software development process too needs to be evolutionary. Tri-Force selects a software process model on the basis of the given problem domain. At Tri-Force, we are experienced with, and have demonstrated our expertise in, both Iterative and Spiral Models.

Owing to our cross-functional organizational structure which consists of human resources with varied skills sets, we have a lot of experience with Agile Methodology. Agile Methodology also brings the benefits of Extreme Programming (XP) process. There are other supplements like Rational Unified Process (RUP) that supplements the Agile methodology of software development.

We follow pair programming during the implementation cycle which ensures review and unit testing of the codes during development process. This saves time and effort during the testing phase. We have broadly classified the process in three parts or phases.

Preparatory Phase

As the name suggests, this phase is about preparation for the further processes to come. Requirement engineering which consists of feasibility analysis, risk analysis and other such sub-processes take place during this phase.

Our objective is to clearly understand the user requirements: what is going to be the user perspective of the system and the performance requirements as per the business perspective of our client. At the end of this phase we are ready with preliminary design documents commonly termed as Use Case Diagrams. It is important to mention here that requirement elicitation is finalized only when a confirmation is received from the client’s side.

Design Phase

We employ the user requirement information gathered during the preparatory phase to develop architectural design of the application and the platform upon which the application would run. This is not a one-stop process, but a drawn-out process that needs several verifications and revisions so that all performance issues are properly addressed.

In this phase, the Use Case Diagrams are mapped to classes and sequences, to be later presented in forms of class diagrams and sequence diagrams. Success of any software project heavily depends on a well-formed design and so we prefer to use component-oriented software development, where business logic and application logic can be easily divided into components in a layered architecture. How well we take care of Interaction and Security amongst the components will influence overall system performance.

Implementation Phase

Pair programming is much like driving an air plane where a pilot and co-pilot take care of driving functions. In pair programming, one developer writes the code, whereas the other one performs review and unit testing, and vice versa.

Although the term used is ‘Implementation,’ this phase also includes testing and Quality Assurance. Testing is performed simultaneously along with the development process and as we follow Agile methodology, several cycles of testing and development are carried out.

Share