Knowledgebase
What is the PerfectMail software development process?
Posted by David Rutherford on 23 November 2012 11:43 AM

Each developer is responsible for their code. Development is done in a modular method with a central co-ordinating module. Each developer is responsible for all aspects of their modules. The PerfectMail™ product architect is responsible for co-ordinating all development efforts and supervises the testing and integration of modules.

We perform regular peer-level code reviews. Code reviews give an opportunity to search for potential bugs; facilitate the exchange of ideas pertaining to programming style; and help identify potential system wide improvements.

All code is passed through code analysis software. We use the Coverity® Quality Advisor (www.coverity.com) to identify code quality defects while in development.

Prior to coding, design decisions are discussed and debated. Functionality, stress points, boundary conditions, best/worst case scenarios, etc. are established for design changes.

Metrics are established to measure the effectiveness of a module and performance goals are set. At this point the module is re-evaluated for feasibility and impact.

On completion a module must go through development and Alpha testing. During development testing the module must demonstrate programmatic and functional stability and scalability. During Alpha testing the module is placed in a production environment. We maintain two alpha servers servicing approximately 80 domains; including our own domains.

For new modules or significant changes to modules, the modules are initially delivered impotent; they log what they would have done instead of actually making decisions. After a test has proven itself and the metrics have met our goals we turn it on in the next maintenance release.

We currently have 11 beta test sites servicing approximately 600 domains. They consist of various sizes and business types. Site traffic ranges from a few hundred to 1.5 million connections per day.

After Beta release we actively monitor these sites for any issues that may occur. After a period of clean behavior we make a determination of whether to release our software. Software release typically occurs on the following Monday.

Major releases should occur every two years. PM-4.0 should be available next summer.

Minor releases should occur every 2-4 months, depending on our development cycle.

Minor improvements are included in our Maintenance releases. Maintenance releases occur as needed. Spam is constantly evolving. Our maintenance releases generally occur every 2-4 weeks, depending on need.

(0 vote(s))
This article was helpful
This article was not helpful

Comments (0)
Post a new comment
 
 
Full Name:
Email:
Comments:
Help Desk Software by Kayako Resolve