Better control over the total IT costs
Wide industry expertise at
your finger tip
 
Perfect match of skills to the
required service level
 
Access to service that is
flexible and adaptive
 
Award-wining developers’ team
Just-in-time development
Increased productivity and
performance
 
Intuitive techniques and
business systemic
 
Guaranteed customer
satisfaction
 
Trust and relationship
home > FAQ
1.0 What standards for design and coding are followed?

Answer

Design Standards

Our system design standards are in place to ensure the highest degree of customer satisfaction possible. Unlike some consultants, we prefer to include client participation in the design process so that our systems support their long-term business strategies. We have other standards in place so as to ensure system scalability and supportability. A high-level list of these standards are as follows:

  • Business Case/Analysis
  • Customer Approval/Participation
  • Design Documentation Standards
    o Use Case/Functional Diagrams,
    o Context Diagrams
    o Data Flow Diagrams,
  • Design Technical Reviews, which ensures that the system can be developed as designed within the project constraints
  • Multi tiered systems for scalability
  • Non-proprietary/Open Systems for interface with external systems
  • Remote accessible systems for maintenance and support. Preferably via TCP/IP or via direct modem access.


Coding Standards

We follow two levels of application development structure. One is in the processes framework that we follow to develop our code. These processes are in place to ensure that all code developed meets all customer requirements, meet all project timelines and budget constraints. These process standards are discussed in the RFP and in question #3 of this document.

The second level or our development standards is at the technical coding level. These standards ensure our coding effectiveness, supportability and a reduction in system defects. We the following discusses our coding level standards.

  • Tools Standards
  • Library utilization standards
  • Naming standards
  • Syntax validation tools
  • Inline coding documentation standards
  • Revision tracking standards
  • Technical/Peer Reviews

First we select development tools and libraries that are considered to be stable and supportable in the industry. In the case of open source software we rely on third party modules where we have access to the source code such that we can test and resolve bugs without having to rely on others for support. We subscribe to several Open-source communities and users groups so that access to other developers in the community. This interaction within the community gives us an awareness of problems with any open source tools prior often resolving them prior to them affecting our client. Should such a bug show us in our client’s open source application we have access to a vast experience base, which allows us to reduce our research and resolution time for the software. We include other factors in our tools selection such as size of the system, time to market requirements, system performance and flexibility requirements. That way we use the tool set most suited to the client’s needs. Finally we keep in mind the customer’s request and their ability to transition support to their own IT department.

During our coding process we use structured names for all variables used so that they are easier to track within the code without having to resort to using a separate “data dictionary”. All designs and code pass through a peer review process by a senior technician to make sure that the code design is well thought out and technically sound even before any coding begins. Where tools are available, we run code checkers to ensure that all coding syntax is complete and accurate. These checkers reduce errors based on typographical errors within the code.

We have a standard requirement for all of our programming staff to provide documentation comments within the code at the time it is developed. This allows us to use several teams of programmers on the same piece of code simultaneously and ensures that the code is easily supportable. A part of this documentation process is to track and archive code by major milestones and/or release versions. This ensures that we are able to track changes that may have an effect on other internal or external systems. It also prevents us from accidentally working on and installing in a production environment an older version of our code.

During the peer review process the code is “walked through” by this senior technician to make sure that there are no errors such as infinite loops, permanent wait states, or “dead end branching”. This walk through also ensures that all functional requirements are met as created in the design documents prior to releasing the software.

TOP
2.0 Can you elaborate on the procedures for QA and testing

Answer

We take the requirements document created early in each of our projects to develop a testing document to be used by our staff and our client as a common base for our testing. This starts by a list of specific functions to be tested. In complex applications data sets and input fields along with any expected results are also included. This allows us to validate that the expected results are achieved given all of the proper inputs. DSi completes this testing document as soon as possible after the acceptance of the design documents and obtains customer agreement prior to the completion of any coding.

Our three phase testing has the following elements:

Phase QA/Testing Performed Responsible
I A) Design functionality and pre-coding technical review, B) Code level functional testing and review The development team and their peers
II Integration and business case testing A separate QA team
III User acceptance testing as a final step prior to a migration to production The customer


Our three phase testing starts at the coding level by the developer(s) and their peers. This ensures that each function can be performed even before the entire system has been completed. In addition to the actual functional testing the developer walks through the code with his peer to validate that the code meets the design documents and any formally accepted change documents.

The second phase is performed by a separate QA team that reviews the system in its’ entirety for both functionality and esthetics from a user’s perspective. This testing is performed on a system that matches the production environment as close as is practical. Often this testing phase includes the system designer and the project manager. The testing document as agreed to by the client is used and signed off by the QA team and presented to the client upon completion. Additionally for software that will be installed on multiple systems, we perform an installation and documentation check to ensure that the code will be installed properly at the time of deployment.

The third phase is where the client reviews the code. The client uses the same testing document as earlier. This step ensures that any last minute corrections either functional or esthetic are resolved prior to deployment. This phase is a milestone for fixed price contracts, which is required to be met prior to DSi getting paid for the work performed. Once the testing has been approved the new system is put into the production environment.

TOP
3.0 Can you elaborate on the Development & PM Process

Answer
Our standard Development and Project Management Process start off with the same basic elements that can be arranged into one of several different formats to best meet our client’s development needs. Each of these elements have their own set of standard documents we use to communicate internally and with our client the plans for the project. These documents serve as communiqués to our clients acting as periodic approval points ensuring that the end product meets the needs of the client. Each of these elements has a standard input documents required to execute the tasks. They also have standard output documents, deliverables and milestones by which to measure the process in a project plan.

These basic elements are:
a) Establish project plan and structure
b) Gather application requirements
c) Analyze the requirements
d) Design the system/application
e) Develop the application
f) Test the application
g) Deploy the application to the customer/production environment
h) Support the implemented system

We organize these elements into of the following three categories that allow us to meet our client’s business needs.

Standard application development
Modular application development
Rapid application/prototyping development

Use:

  • Fixed price contracts
  • Hourly contracts
  • Staffing contracts

Benefits:

  • Fully documented results
  • Established fixed delivery
  • Define roles and responsibilities
  • Identified risks and contingency plan
  • Established metrics and milestones
  • Documented testing plan
  • Established metrics and deliverables
  • Managed schedule

Use:

  • Fixed price contracts
  • Hourly contracts
  • Staffing contracts

Benefits:

  • Faster partial implementation
  • Iterative documented results
  • Flexible (modular) delivery
  • Defined roles and responsibilities
  • Establish metrics and milestones
  • Documented testing plan(s)
  • Spread out payments

Use:

  • Hourly or monthly contracts

Benefits:

  • Faster development
  • Increased customer involvement
  • Flexible development
  • Changes can be made earlier
  • Try it before you buy it
  • Lower development costs
  • Spread-out payments
  • Risks quickly identified and managed through “trial and error”
These processes are put into a project plan where each task is placed on a calendar and assigned to the appropriate personnel. This document is either kept in MS Project or MS Excel, depending on the complexity of the project and the tools available to the customer. Putting all assigned tasks on a calendar basis allows us to monitor the progress of the project. Any deviation can be caught and corrected during the course of the project. Any deviations are shared with the client along with any actions to be taken required to bring the project back in line with the approved schedule. Our change management process alerts both DSi and our client as to any changes to the project based on updated requirements during the course of the projects. A project manager is assigned to each project to overlook the project plan, any assigned personnel, deliverables/milestones and produces these periodic status reports.
TOP
4.0 According to you, what is the most important aspect of the project management that can make or break proper project execution?

Answer
It is our opinion that there is no single item that is the most likely issue that can cause the project to fail. Our entire development and project management process are utilized to reduce all potential risk elements to us and our client. Our entire development process has checks and balances built in the processes, documents and procedures to mitigate these risks. These risks can be categorized two basic forms, technical and business.

From a business side, we start by setting the expectations for all teams participating in the project. These expectations are documented and agreed to as early as possible in the project. The expectations are deliverables, milestones, participation, budgets, etc. We constantly monitor the progress of the project to ensure that the project stays on track. We identify any issues or problems notifying the effected parties so that they are resolved in a timely fashion.

We have the experience in small to large projects, we are proficient in technical matters, our experience show us how to test for problems prior to migrating to a production environment. Any anomalies are found, reported and often resolved early in the process before they become so large that they have an adverse affect on the project. Our analysis process identifies potential technical risks such as environmental/infrastructure issues, platform stability, systems integration and security risks, scalability and others.

We view our project plan as the most critical piece of what we do. We (DSi and our Immagration.com) will create it, approve it, monitor it and manage it. In a nutshell, we say what we do and we do what we say.

TOP
  query   achievements   cto's corner
home   company   services   roles   synergy   value chain   faq
Copyright © 2000 – 2009 DSi Incorporated All rights reserved