“Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days.”
Modern technologies and interesting projects are the opportunity for developers to continually improve their level of programming under the working process.
-Working with high load unusual projects requires the developer to think freshly. Such projects provide an opportunity to develop different skills, to find a rationale among the many possible variants and improve the methods of its realization. We introduce the modern practices of code development into the process. It helps us to instruct recruits in a conversational mode.
-We practice the pair programming extensively: two developers sitting at one computer, implement a task together. While the first programmer writes code, the second one monitors the accuracy and clarity. The method allows to find the best solutions together, to avoid errors in the code and to exchange experience with colleagues.
-Code development by testing is the best way to examine the working capacity of system at the stage of its development. First of all the test is written, which covers the expected change. Then they write the code which allows to pass this test. At the end of the process a new code refactor is carried out in accordance with the requirements. This method reduces the time of writing of accompanying documentation, and improves the functionality.
-We practice the refactoring of the written code. The purpose of the process - is to make the code easier to understand. By reducing the dependences among the parts of the code, grouping of data, disposal of superfluous variables and etc. this process helps to increase the performance considerably. As a result – a significant productivity improvement and clarity of software.
-The obligatory code review provided by other team members is carried for solutions to the problems which do not require work in pairs. This technology allows raise the level of code quality, without bending the general set of the rules.
Task evaluations in an infant state, the division of the project into iterations, the weekly work planning - processes and scopes - are the joint decision of the whole team. The process of implementation and development quality of the using these methods clearly win.