Genesys Infocad Company                                        Why Work Hard? Work Smart!

  only Genesys


Site Mapภาษาไทย Thai

Home Pricing Method Quality System FAQ's Software Attributes

                                   home | company | products & services | site references | get online quotation | contact us | pricing | quality | FAQ | software features | Thai


Quality System                                             

Software development is often  misconceived as an art to effectively capture the requirements of the user and try to produce the program in due time. The methods used can be quite haphazard, lacking in well-defined procedures. Although, many other developers continue to produce software in this non-professional manner, we at Genesys InfoCAD follow very strict software engineering principles in our development processes. The development life cycle can be viewed as several software engineering processes: requirements analysis, detailed design, program development, program testing, implementation and training. Each process has its required quality control, document control, and other project management and scheduling requirements. Since these steps of software production are very similar to the manufacturing or engineering of other products, the term software engineering has been used to describe the use of engineering principles in the development of software. We at Genesys take pride in providing "Custom Engineered Software".

To ensure a quality software product, Genesys strictly adheres to software engineering principles for each software development process. We place a strong emphasis on quality assurance by exercising stringent testing and review procedures for each of our software and work products.  Our customers can, therefore, count on a quality, well-designed, user-friendly product done right and delivered in due time.

A description of the method to achieve a quality product in each of our business functions or processes is described below:

  1. Quotation and Proposal Process. In this process we try to get the requirements of the customer and provide a detailed proposal with the following information:

  • Requirements Specification – a list of the forms, reports, and features required by the client.

  • Rough Design – this will show some of the important function’s screens. We usually capture forms similar to our previous customers for the client to see.

  • Project Completion Timetable – a schedule for each phase of development.

  • Price Quotation – a list of the functions and price.

  • Terms and Conditions – this will include the licensing information and payment terms.

  1. Analysis and Design Process. This is the first development process for the custom software where we study individual requirements of each client. While most other software companies do not give much attention to the analysis and design phase, we consider it the most important one. We prepare a detailed document summarizing the following for our clients to capture their exact requirements:

  • Requirements Specification – contains the points covered in the contract usually and the features of the software to be delivered. Both functional and non-functional requirements are listed

  • Use Case description – this captures what steps are done by each department in order to get the work accomplished in plain language so that it is easy to understand.

  • Screen Design – shows the menu, each data entry screen design, report design. We believe this is the information our clients understand very clearly and we focus on this.

  • Process Diagram - shows the processes and, thus, forms to be done by each department.

  • E/R Diagram – with each screen design we show the tables involved and their relationships via the entity-relationship diagram.

  1. Software Development (programming)  Process. This process is often the most time consuming because it involves the actual programming of the software. We divide a project into small tasks consisting of a form or a report for just 1 programmer to work on. The procedures we use for quality assurance in this step are:

  • Task Cover Sheet – this sheet is prepared by the project manager with a designated developer for each task and a tester for that task. This sheet includes the special points to test the software task which could be a special attachment if too long. It also includes the time log for the task, so that the total hours spent on that task can be logged.

  • Task Schedule. A project schedule is made up scheduling each task (a form or a report) in the project. We maintain a complete schedule of the project in a form as shown below to keep track of the deadlines

  • Daily Work Hours Registry Sheet – summarizes the daily work of each person. This information is used to update the project schedule as well, since it provides the project manager with a revised start and completion time (resource requirement) for each task

  • Standard Coding Guide Book – we have developed a standard coding for languages including Visual Basic, Delphi, and ASP. The first step we take when we must develop in a new programming language is to setup this standard coding guide. We make sure that each programmer closely follows this programming scheme so that we have a uniform source code that all our programmers can understand. This assures that in the future when changes may be needed for the software, we can let any of our programmers do it, since all can read each other’s code in standard form. Issues covered include variable naming convention, table field naming convention, required functions in each type of form, using template forms (simple form, 1 line item, multiple tabs/ line items),and required user interface. To our customers this ensures a uniform interface and software that has all the desired features every time

  • Standard Test Sheet – this is a test sheet containing the standard points to test for every form and report. It covers both the features visible to the customer and the programming information. For example, it covers examining that the table field names are appropriate, variable names are long, function names are correct. Thus, we also check that the programmer adheres to the Standard Coding Guide Book

  • Task Test Sheet – this test sheet is specifically for the current task. It may include a test case if the form is complex to ensure that the software programmer does the testing first. If the form is simple enough the tester does the testing without a specific test case.

  • Configuration Management (CM) Sheet.  Here all the software components (usually forms and reports) that have been tested are kept with versions.  All our modules must have pass the configuration management before delivery to the customer, which means a tester has approved it and it is ready for release.  New software as well as change requests must go through the CM procedure.

  • Development Status Report for Customer. We prepare a monthly status summary for the project to the customer. This is done after the software development work has begun until the software is completely delivered.

  1. Project Management Process. We have developed software for our own use to cover our project management needs. This project includes the project information entry, each task entry, project scheduling, project costs, invoicing, receipt, and payments. It provides us with information on the exact project cost so we can monitor our bottom line. This software is summarized in the next section.

  2. Software Implementation and Maintenance Process

  • Site Visit Form – this form is completed each time we visit the customer site. It requires the customer signature as well.

  • Work Request / Bug Report Form – we fill this form when we get a bug report or a change request. The exact format of the form is not necessary, since we often do this electronically. However, it is important that the form number be logged and tracked for progress.

  • Change Request Attachment Form – after receiving a change request, some analysis of the needed changes may be needed and a task description form is generated. Sometimes, the change request is summarized in the attachment form as well.

  • Customer Communication Form – all our communication with the customer is also logged and filed. Each memo and minutes of meetings are sent out after any important development.

  • User Training Manual – this includes a short manual describing a training session with sample training data set up just for the training and implementation phase of the software.

  • User Manual – this describes the entire software with the interface description, menu, each form, and answers to questions on "how do I".

  • Technical Manual – this describes the software for the programmer. We include a screen dump of each form along with the tables in that form and their relationship expressed as E-R Diagram. At the end of this is the data dictionary for the entire project’s database. We maintain this manual all along as the software may have changes during the implementation and maintenance phases. When this document has too many hand-written changes, for example, due to many added fields by the user, we print a new version.

  • Project Completion Document - This is the same as the Project Status Document shown above, but used to close the project.

  • Maintenance Contract – This is a contract detailing the start and end dates of the maintenance. It also shows the price and the servers covered in the maintenance agreement.




Copyright 2007 Genesys Infocad Co., Ltd.