Consultancy in agile technical practices
Test Driven Development – TDD
Most of the systems that have been created in recent years, have not delivered good tests coverage, and even possibility to easily perform testing, as a result lacking appropriate quality. Fortunately, already for several years, developers introduce code level testing in everyday activities.
TDD is both a set of engineering practices, as well as the process itself. It commonly includes practices related to creating unit tests, clean code practices, refactoring or working with legacy code. We start by writing a test, then it meets the logic and we end with the refactoring. Repeating this process in this specific order ensures high-quality code that is always covered with tests, ensuring high standards solution.
Behavior Driven Development – BDD
Despite the great success of TDD, many practitioners had still a problem. The tests were detached from the business context and specific criteria of acceptance. BDD unlike TDD puts emphasis on understanding client needs, language being used, the context in which it operates and how it will use the product or service.
The process begins by describing the test scenarios and acceptance criteria defining assumptions (Given). Then we describe yet not fulfilling the specifications object in our code, next we add logic, defining events (When) and their results (Then), ending with the refactoringu. If the quality is not satisfactory, we repeat the cycle until we receive high-quality code, and understandable acceptance tests by both technical people as well as business clients.
Pair working and code review
Working in pairs, in particular Pair Programming allows to create software while acting as a driver and navigator, frequently changing roles. As a result, people are maximally focused and through collaboration and group intelligence, provide high-quality solution many times more effectively, than doing it in isolation.
Code Review thou, allows you to check the quality of the code by other specialist commonly on joint sessions, he/she can detect inefficient solution, as well as propose a more robust approach. With this practice, again as a result of synergy, our solutions have a higher quality and avoid technical debt.
Continuous Integration and Delivery – CI / CD
High-quality solutions creation is not possible, or at least is not effective without appropriate technical environment and practices that allow for quick testing, introducing changes and verifying assumptions. As a result many practices recently emerged, such as Test Automation, Continuous Integration and Continuous Deployment.
Thanks to these practices, it is possible to effectively deliver solutions and verify the assumptions without downtime, so that teams can focus on delivering business value.
Our trainers and coaches advise, help introduce and use technical practices. Contact us, describe your plans, issues and challenges. Together we can increase efficiency in your organization.