-
Effective continuous integration
Let’s meet the smart-dev team. The team is quite small, a few developers, and the project is in the early stage. The team wants to efficiently share code between developers, but prevent the code base from instability when merging new features – in IT this is called continuous code integration. To achieve continuous code integration,…
-
The need for continuous improvement of solution to achieve productivity
During the lifetime of IT project requirements are constantly added. We can think of requirements as dots and connections (for IT people: dots represent the classes or microservices and connections represent the interactions/dependencies): At the beginning of the project there are a few requirements (above), complexity is low. After a few sprints the number of…
-
How to organize the work
Of course, it depends… how big the project is, how many teams, how complex the project is, what is the quality/technical debt and so on. You should find the best way to organize the work based on the goals and constraints of the project/ company. big project (many teams, many services), high cognitive load In…
-
How to effectively organize teams
This is a difficult topic. Like everything in IT is complex and it depends. Organizing teams and environments are especially difficult as there are many factors/variables to consider: project size, project type, project stage, and so on. There is no single best solution, and the solution should be verified overtime against the goal. How to…
-
Business pressure – a way to hell
It is not possible to build high-quality software by constantly adding new features without taking care of quality / reducing technical debt. I will explain why with a simple example. Assume, we are building something in the real world. We get requirements from client one by one without time to redesign the solution. Let’s get…