Best Practices

This page is a general outline of the best practices used by 1902 on large projects where planning and organization are necessary in order to complete the project on time and within the alloted budget.


Planning Stage
Depending on the size of the project, we always start out by creating the following flowcharts:
  • Application overview
  • Data flow
  • Role overview
    • User roles
    • Back end user roles
  • Integration (if any)
    • Integration overview
    • Integration data flow
    • Integration interface(s)
    • Web services
We use flowcharts to understand the application and to ensure that everybody involved with the project fully understands its scope. The actual application design is done when the UML diagrams are created.


UML
After creating the flowcharts, we make UML diagrams and the database structure at the same time.


Components
While creating the UML and database structure, a list of the components, types and interfaces are defined to be used in phase 1.


Pre-development ReviewBefore phase 1 starts, the UML and database diagram, as well as the component list, are reviewed by the customer, if the customer desires that.


Coding - Phase 1
In this phase the developers work through the list of components/classes/objects to be created. When each component/class/object is finished, an initial quality review is done by the project manager


Coding - Phase 2
With the classes finished, phase 2 can start. In this phase the components are tied together, and interface incompatibilities are resolved. 


Coding - Phase 3  (Front End)
In this stage the front end style sheets are created and the layout is set up. Depending on the project type, this stage can start at the same time as phase 1 or 2, but the final design must be ready before phase 3 can commence.


Coding - Phase 4  (Integration)The front end and back end are integrated, and interface issues are resolved.


Coding - Phase 5  (Integration with Other Systems)
The main system is integrated with third party systems, and interface issues are resolved.


Pre-QAThe pre quality control is done by the project manager by using the development specifications and go through the entire system. In this stage we are mostly concerned with functionality errors and appearance such as wrongly applied style sheets, data saving and retrieval errors and things of that nature.


Quality Control & Debugging The quality control is done by a trained person. Depending on the project, use cases may be used as a part of the quality control. Issues are collected and delegated to the project manager in-charge.
The customer is kept "in the loop" during this stage and may already have access to the application (this varies from project to project).


Customer Presentation 
When we reach this stage, the application is generally working as intended. The customer is given access to the application on all levels to perform their in-house testing. Errors and issues are resolved according to a plan set up and agreen upon by the customer and 1902.


Change Request
We accommodate change requests as a natural part of our work. It is, however, our experience that change requests should be kept at a minimum and that it is better to create a version 2 later than making major changes after the coding has started. In saying that, we fully realize that we live in a real world where things change and, as such, there are things that cannot wait for version 2. Change requests are accomplished by filling in a Word template. Once we have received the request, we evaluate it and estimate a price if we can. Depending on the nature of the request, conducting a research may be needed as well.


ReportingAs a general rule we write a report after each meeting. A copy of the report is sent to all project participants, customers and developers alike so that everybody involved in the project stays updated.