Request A Free Quote

Methodology

We follow an agile software development methodology with short release iterations (with duration of 4 to 5 weeks).

Each iteration consists of the following phases:

  • Iteration Scope Definition

    We prepare a list of functionality to be developed as part of the current iteration following a list of priorities supplied by you.

  • Design

    As we follow an agile approach at this phase we do only the basic technical design, while the details are usually revealed and finalized during the development as the project knowledge accumulates.

  • Test Scenarios Preparation

    Based on the expected functionality we start preparing scenarios for functional testing that will be used during the development and as acceptance criteria at the end of the iteration. More information can be found in the Quality Assurance section of this site.

  • Development

    The functionality is implemented according to the known requirements. If there are unclear or contradicting requirements and need your decision we contact you immediately. When the development of cannot continue without your clarifications or decisions we start working on other functionality until we get your response and there is a final decision.

  • Stabilization

    We do a throughout testing using the test scenarios we have developed as well as performing exploratory testing. The reported defects are fixed, a new version is built and the testing is performed again. This procedure is repeated as many times as needed until the version can be certified as a release version.

  • Product review and acceptance

    We install a version of the software on our demo server and you can review the implemented functionality and test it in order to accept or reject the implementation.

    As result of your review we may have to make some changes in the functionality and fix some defects. Once we are ready we upload a new version on our server and you can review it again. This process could be repeated several times until you are fully satisfied with the outcome.

  • Iteration payment and early deployment

    Once you accept the implementation you make the payment for the current iteration. If needed we prepare installation package for the intermediate version and help you install it so the product can be used as soon as possible.

Additionally we have implemented the following practices and rules:

  • Every day we start with a short internal organizational meeting (10 – 15 minutes) to discuss the current progress and the tasks for the day. All questions needing additional input or your decision are written down and sent to you after the meeting.
  • The bug fixing always has priority over new functionality. If there is a defect found by a tester the developer most suitable for fixing it stops working on any new development and concentrates on fixing the defect. This way we keep the product stable and minimize the risks during the stabilization phase.
  • Once certain functionality is implemented it should be immediately integrated with the rest of the product. This allows our testers to check the new functionality in its real context and there is less integration work (and less hidden risk) left for the final phases of the iteration.
  • The source code checked into the source control system should not break the nightly build. Every day there should be a new version compiled and ready for testing.