|
Software development technological process
At modern stage of software development industry the successful development of any software product strongly depend on technological basis of software development processes.
Holistic methodology that covers the whole production cycle from the idea to the project launch is one of the key factors of software company' success.
Company "WEB100" uses the classical methodology RUP with separate elements Scrum in its software development process.
Such approach allows uniting the advantages of RUP (use of iterations, continuous quality control at all stages of development, component architecture) and artefacts Scrum (permanent determination of prior tasks, brief meetings for team synchronization, joint code ownership) as well.
The result of each iteration is the finished product (so called build) that can be given to customer. Brief iterations provide a quick feedback from customer to the project team. A customer is able to manage the requirements estimating the iteration result and suggesting improvements for created functionality.
In the end of each iteration project team reaches all the goals planned for the iteration, creates or updates project artefacts and receives intermediate but functional version of the end product.
All requirements and suggestions are placed in the task priority list that allows putting the task priority quickly and achieving the maximum profitability from realized functionality and make the team be interested in the result.
Iterative development allows reacting quickly on changing requirements, detecting and preventing risks at early stages of the project, and efficiently controlling the quality of product.
The process consists of number of repeating iterations (the number of iterations depends on each specific project). As a result of each iteration we receive the intermediate version.
After the next iteration product receives new functionality or improvements in existing functionality.
Each iteration consists of the following stages:
- Projecting
- Realization
- Testing
Iterative approach divides development process into several iterations and while each of them almost all types of works are carried out. The real working system with more developed functional capabilities is created.
At projecting stage the analysis of subject area and building of architecture are carried out, the main requirements are determined and documented and the existing requirements are updated.
Tools: Jira, Bugzilla, Mantis, Confluence
At the realization stage the most part of product functionality is realized. This stage is accomplished with release of the intermediate product version that moves to testing stage.
Tools: Jira, Bugzilla, Mantis, Confluence
Testing process
is based on integration of manual and automation testing.
Difficult problems in business-logic is retested manually, chores are tested automatically and testing results are put into test management and performance system TestLink.
Automation tests are carried out with the help of functional testing solutions Selenium and AutomatedQA TestComplete.
Such integration allows the most efficiently and quickly testing the intermediate product versions, performing regression testing and recording the results.
After the testing results are received, they are analysed by QA team. Errors are recorded to development process management system (JIRA, Mantis) and moved to development department.
A full set of requirements fixed by the project is realized after the final iteration.
After the testing stage the final product version is created and given to the customer. It includes program for beta-testing, users learning, and quality determination. The achievement of all goals means the Product Release and the end of full development cycle.
Tools: Jira, Bugzilla, Mantis, AutomatedQA TestComplete, Testlink, Selenium, Watir.
|