Every time when building up a new software development team I could experience the very same thing again and again – new team mates argue a lot about every “methodological” issue. Unit testing, commenting code, building application, debugging, naming conventions, software testing, IDEs etcetc etc. Sometimes you think it’sgonna be endless exchange of arguments without actual value to the software development process.
Is it really?
Actually there is value, it turns out that all these battles is simply one of the “earliest” forms of communication in newly established team. It might look pretty defensive and for sure having no certain immediate outcome because “fighters” usually quit their battle without changing their opinions, each of them. But the value is in cumulative volume of these discussions, which then combined with collaboration over the same codebase, gives the team more connective power and accelerates the process of building the software development team.
Although it is good if it doesn’t consume too much time. Thus at the beginning of the team path, it is rather manager’s task to facilitate right things in right portions and vice versa – help the team hit their breaks when necessary. When the team establishes more or less, these arguments will not totally go away, they actually never will. But what will happen is that they will become less often and more meaningful because by that time the team acquires another important quality – listening.
Eventually, if the software developer or software programmer you just hired never argues about how they write their code, then there might be something wrong with the software development team.