What is a methodology?
Quite simply a methodology represents the steps taken by Brite-Sparks to produce software in a manner that minimises possible slippage and risks; a QA (Quality Assurance) procedure through which all of our products must pass before they are considered fit for market.
The following is an overview highlighting the key elements of the 'Brite-Sparks Way' methodology. All new development projects follow the steps outlined below. In the case of a deployment of an existing application all of the same steps apply but they may be significatly reduced in scope. Our methodology is designed to transparently highlight our QA procedure and our desire to create the 'perfect' product. For any detailed information on the following steps please contact firstname.lastname@example.org.
- Information Gathering
Brite-Sparks believe that your organsiation must shape any product which we sell to you. Our trained consultants will work carefully with you analysing your business needs. From these needs we will work with you to plan a data model, a set of views to this data and data manipulation tools. Your security and hardware needs will also be analysed to cover any unique needs you may have.
From the information gathering a set of documents will be produced detailing the components which will be created, the look and feel of the application, the underlying data structure and the timescales applying to the project. We use standard project plans for the component development and Polaine Charts to examine any potential shift in timelines and highlight these transparently to our customers to prevent any problems becoming critical.
- Reusable Component Development
Our resusable component base means that we can produce various application features very quickly. Any new components needed will be built first before work on the rest of the application is carried out.
The development phase encompasses all of the remaining program creation work. Brite-Sparks uses VCC under RedHat to protect code and to prevent code being overwritten, destroyed and broken. Versions of each component, pages and even minor scripts are all tracked and backed up nightly to prevent any loss of data and to optimise developers time. All Brite-Sparks developers are educated to at least Degree level in Computer Science.
Whether your application is deployed within your organisation, or hosted by Brite-Sparks, the roll-out of your product will be carefully managed by Brite-Sparks. All deployments are carefully detailed and in the case of a deployment hosted by a Brite-Sparks clients the locations of all code and components detailed.
Our testing encompasses all of the development and deployment phases. We test applications in three basic ways. Firstly each component of an application is subject to an initial functionality test by the producer - Does my component function as I expect, according to the business rules acquired during the information gathering phase, when given the corect environment (State)? Secondly the developer applies a failiure test to the component - If my component is given the wrong environment, will it fail gracefully, IE not affect ANY other component and not affect the underlying data? This test is repeated with a set of parameters to simulate a basic malicious attack against any of the componentry designed to break the application. For the third and final test we use a testing tool in a closed environment to simulate loading on an application. Will my compoenent perform acceptably under a given load?
- CREQ and Acceptance Testing
After first development and testing phases are complete, we move into the CREQ, or Change Request Phase. Although Brite-Sparks endeavour to perfect the model for your application at the Specification phase we realise that further ideas may present themselves during the development lifetime and that simple changes may need to made to satisfy end user needs. This phase will finalise the product.
- Security Testing
Brite-Sparks perform a set of security tests, including an overall load test and a system soak test which consists of intensive application usage by the target user. We also perform a set of operating system and web server lock down which minimise any potential damage from the Hacking community.
Your product is live and working in the environment for which it was intended!