What should the team of programmers (and not just programmers, but other developers as well) be like – disciplined like in a factory or flexible with high personal motivation?
This question has puzzled not only IT company owners but also scholarly minds for decades. Numerous articles and even books have been written discussing and advocating for one of these opposing viewpoints.
A bit of history
Of course, this opposition is older than programming. As the world transitioned from artisanal production to industrialization, it became evident that the future lay in manufacturing, where strict discipline and a production plan dictated everything. The era of automobiles wouldn’t have emerged without Henry Ford and his ingenious concept:
Use inexpensive and unskilled labor, but with rigorous discipline, where deviating even slightly leads to dismissal.
However, times have changed. Creative professions began to emerge and flourish. Engineers were among the first, followed by designers. Finally, the era of IT technology arrived, enabling people to live and work in a relaxed environment, often from home.
This “relaxed atmosphere” has permeated everything. Today, creating a team of developers with strict discipline is quite challenging, if not impossible. Even large companies cannot afford this luxury.
Given the current conditions, it’s nearly impossible to force programmers (and many other developers) to adhere to strict rules. Hence, many IT company owners do not even attempt to do so. As a result, flexible work schedules and remote work are prevalent in many companies.
Planning and discipline
However, planning has not disappeared. The tasks of delivering products on time remain. Consequently, production plans are still in place. Even though programmers produce intangible products, production remains a factor.
Therefore, some level of discipline is necessary. In these circumstances, team leaders find themselves navigating a delicate balance. On one side, they have upper management with budgets, deadlines, and other stresses. On the other, there’s a team of laid-back programmers, who need to be organized and pushed for results.
The most important thing is balance
In essence, as always, the goal is to strive for a middle ground: a balance between freedom and discipline. Ideally, every team member should have self-discipline. Yet, this remains a dream. Unfortunately, the majority of individuals are wired in a way that they won’t work unless motivated properly.
In this situation, the choices are limited: either hire self-disciplined professionals, but then the budget won’t suffice, or search for moderately skilled programmers and place an experienced overseer above them. However, this increases the risks of missing deadlines. As always, the choice boils down to selecting the lesser of two evils.