- First Name
- Aug 27, 2020
- Reaction score
- Mercedes sedan, Corvette coupe, Yukon XL
- Retired Engineering Program Director
There's the explanation. It's a matter of scale.With regards to your first question: yes to all of the above.
I also agree with your conclusion. Those are major factors affecting the course a software project takes.
However, I have never seen any any organization with teams as large as you are talking about. My last team, charged with deploying an enterprise level service for a geographic area twice the size of Rhode Island, was originally three people, then got cut to two when one retired, and is now 1.5 because I retired and they have a part timer helping. And this service is key to the functioning of every single department. When I left, we were the largest such implementation in the south eastern US.
I hope this explains why my views are colored the way they are.
In a large program a lazy or incompetent person can get away with it briefly, but the large team size allows for staff capacity and processes designed to find errors as soon as possible - prior to implementation (coding) is the goal - and certainly before system-level testing. Small scale efforts likely can't afford that effort and might not even have time available from competent person to do the reviews.
It's a bit ironic that large scale development programs have a higher probability of success than smaller ones. You must be very proud that yours was so successful with such a small team!