3 ms·
In my experience, the two things that to the largest degree has improved software development productivity the last 20 years is revision control and continuous
by alephnil 9y ago
In my experience, the two things that to the largest degree has improved software development productivity the last 20 years is revision control and continuous integration. Back in the nineties, the many did not use version control at all, or used cvs or commercial alternatives that all made it a pain to merge the changes from different developers. Later svn came along, and then finally git and other distrubuted version control systems came along and made it very much easier for a large number of programmers to work on one codebase.
Continuous integration, and in the tools for assisting doing that has made it much easier to make sure you able to build the software you are developing at any time. At less organized places it could be weeks or even months where there did not exist a workable version of the software, and integration was a pain. Sure this still happens some places, but now it is totally avoidable.
Unfortunately, almost none of the academic studies seems to take the tools seriously unless you are talking about compilers. I think that tools still is the area where most gains in software development productivity can be found.
- whoisthemachine 9y agoI agree. I think the next steps towards improved software is TDD and functional programming. Possibly along with higher levels of test automation as well. When a system can be automatically proven to meet the requirements a business has of it, then much of the need for "reconciling perspectives" is removed. The perspectives that matter is the business perspective of what they need, and the technical perspective of how to build it. Automated tests in between those two will help solidify the matching of those perspectives.