You are overgeneralizing one (small) enabling factor of agile as the whole reason. Maybe based on your experience in major corps.
Agile doesn't start at the corp level. It starts at the individual and team level (think scrum) and maybe penetrates to the large strategic decisions on a department/corp level. Communication is cheap for teams in the same room or even people in the same building.
A far greater effect is the internet itself and software/services that is/are distributed through the internet. This made shipping new versions cheap, gave an abundant access to metrics and fast feedback cycles. Cheap shipping and fast feedback enable frequent iterations.
When you had to burn your software to CD and mail it to the customer releasing minor updates multiple times a week or even just every few months was not an option. You also got far less feedback and had basically no usage metrics.
You make some good points, but it still boils down to instant communication.
Updating software quickly is difficult without internet. Getting feedback quickly and cheaply also isn't.
So you're right that agile isn't just enabled by instant communication among developers, but I still think it's enabled by fast communication generally, including to and from the end-user.
Not true at all. It is not about instant communication but about transparency and bug reporting tools.
In the past, you got an app and you were lucky if the dev provided a marketing phone number for a drone to talk to. (Here is where IBM and such made bank, they did actual on site support.) Or perhaps an email address that was read manually in a year.
Nowadays, a crash is automatically detected and loses some send feedback going is included in many apps for additional reports, preferably landing in a CRM directly accessed by consumers.
The one problem left to tackle is marketing selling things that are not ready nor even tried out.
> It is not about instant communication but about transparency and bug reporting tools.
Good transparency and bug reporting tools are only possible with instant communication.
If you need to call a meeting and have senior devs fly-in somewhere to report them, bug reporting is difficult, and addressing those bugs are even more difficult. If all it takes is instantly opening a github issue, you can find out about the issue and address it nearly instantly.
Agile doesn't start at the corp level. It starts at the individual and team level (think scrum) and maybe penetrates to the large strategic decisions on a department/corp level. Communication is cheap for teams in the same room or even people in the same building.
A far greater effect is the internet itself and software/services that is/are distributed through the internet. This made shipping new versions cheap, gave an abundant access to metrics and fast feedback cycles. Cheap shipping and fast feedback enable frequent iterations.
When you had to burn your software to CD and mail it to the customer releasing minor updates multiple times a week or even just every few months was not an option. You also got far less feedback and had basically no usage metrics.