We recognize the need for close interaction with the customer to gain a common understanding of business needs and constraints. Our approach of deep involvement in the up-front requirements definition and design of an application always leads to a better understanding of and agreement with the customer.
short iterations
Short iterations allow the customer to see completed functionality on the very early stages so that feedback is received in time to keep the project on track with respect to the final project goals.
At the end of each iteration, we deliver a running version of an application and review it with the customer. Using the information gained during the iteration review, it is much easier to plan the next iteration.
The short iterations also allow us to adjust the priorities and make necessary adjustments for each new iteration based on the evolving business needs.
|
daily project briefings
These briefings allow highlighting ongoing problematic issues, making mistakes analysis, establishing current and further tasks, make information interchange and develop new ideas together. Thus, all project team may be aware about works produced by others, about (newly) established processes and tasks. QA team members are involved in these meetings as well.
|
in-depth involvement of QA team in the development process
QA engineer/tester is involved in the development from the very beginning. He/she discusses with developers all the major issues taken from the specification and/or additional discussions from business perspective and/or from the user's actions view (UI). This allows avoiding misunderstanding and ambiguity from the very first steps of implementation. Also this gives an opportunity to follow settled rules/methods (implemented earlier and existing in other parts of the application) concerning "user - application" interaction.
|
joint code development
Com Tec Co considers code to belong to the project, not to the individual developer. Any code in the shared development environment is open to viewing and modification. The team approach leverages the entire team's thinking on critical problems and ensures that no one is working on his own. The idea here is to spread the knowledge contained within the system to the entire development team.
We practice two forms of joint code development - pair programming and peer reviews. Both approaches ensure knowledge sharing among the team, mutual cross-checking and collective code ownership.
|
automated builds and testing
The general idea behind is to decrease the time limitation, we suffer from, for final testing of the next iteration release.
Automated testing is essential for performing thorough and fast testing. Test automation ensures uniformity in the testing process each time the test is executed. Tests can be run faster, in a consistent manner, and over and over again with fewer overheads. Automation is used to replace or supplement manual testing with a suite of test programs.
|