Personal tools
You are here: Home Services Customization
Document Actions

Customization

Software applications are built to cover a specific (or broad) domain of business or technical needs. Some are customizable just by simple configuration, and others provide "advanced customizations", and programming APIs. With proprietary solutions you usually have to settle with the customization that the manufacturer has built-in to the product. With Open Source however, you can modify every part of the product and adapt it to your specific needs. Yabarana can help you customize OpenSource application the right way, maintaining a balance between up-front customization costs and long-term TCO (Total Cost of Ownership). Acessing and modifying the source code, is a very powerful feature of Open Source, you will surely run into problems if not done correctly. Poorly done customizations can make the software perform incorrectly and can make an upgrade very costly or simply impossible. Our experience with Open Source technologies, allows us to determine the best route to customize a particular FOSS application and reduce the risk, and cost to a minimum.



Workflow




Requirements

Customizations are a lot like small development projects. It is our job to start by determining the precise requirements and understand why they are specific for the particular client.  With granted permission, we may discuss the requirement with the community that maintains the software to discover why this need is not incorporated into the base product. Many times we discover it's a planned feature and we try to work with the client and the community to incorporate the new feature into the core product. The cost of maintaining customizations or enhancements can be eliminated jut by publishing the enhancement back to the original product and community. This is one of the reasons why Open Source evolves faster and usually performs better than their proprietary counterparts.

Analysis and Design

Any software development must undergo adequate Analysis and good Design. Especially if we are customizing and existing product. In this phase we determine the best way to build the customization  in a way to minimally affect the existing functionality and reduce the impact when upgrading to new versions of the core product. It's a good thing that the majority of Open Source Software projects are designed with customization and extension in mind, and many time it's just a question of studying the customization guidelines readily available from the original project.

Development

This phase is the actual coding of the customization or extension. We take great care to follow the original product's coding standards and design patterns, reducing the future costs of maintaining the code.

Testing, Documentation and Training 

In all our processes, testing is very important. Whenever possible we use Test Driven Development (TDD) techniques for unit and functional tests at the factory (FAT: Factory Acceptance Testing), and always carry out Site Acceptance Tests (SAT) with the client to make sure the new software product will perform as required. As customary, our documentation is extensive and we almost always include a technology transfer stage to our client's personnel.

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: