Many resources quote that average programmer writes an average 10 lines of code per day. https://www.google.com/search?client=opera&q=how+many+lines+of+code+do+programmers+write+a+day&sourceid=opera&ie=UTF-8&oe=UTF-8
As per my understanding, this might be due to different reasons:
- slow dev environment - there is a need to rebuild huge code base
- unclear requirements - developer spend time thinking of the best way to implement requirement he does not fully understand
- resolving merge conflicts
- thinking of the best way to build a class, method, stored procedure
- reviewing code of other developers
- waiting for feature to be tested by qa
- updating statuses of the tasks in bug tracking system
- investigating the cause of a bug
I do not know how to solve problem 1) Problems 2-8 might be solved in a following way: Developers, Business analyst, Product owner, Software Architect, Dev Ops write code together. Together, I mean, with one monitor and one keyboard.
- problems with dev environment - devops immediately helps to fix it
- unclear requirement - product owner tells how to resolve uncertainty
- there is no merge conflicts, cause there is no need for merges. If code base is huge and require multiple teams to work on development in parallel, you will not avoid this problem completely. But merges will be far less frequent.
- thinking of the best way to build a class, method, stored procedure - software architect will help immediately to resolve the problem
- there is no need to review the code, because it is already reviewed by other devs, BA, Dev Ops and Architect)
- there is no need for software testers at this stage. Such team can think of all possible cases in 10-30min and check it right after feature is ready. Non functional testing can be performed later.
- Good approach only for development of a new products. Not so good for support of a huge code base.
- Budget. Such team will be more productive compared to other teams. So if team 2X more productive, it should be payed 2X per month. Not all businesses can afford that. This can be solved by reducing working day to 4 hours. Or giving programmers additional holidays.