I think you could argue that there is a third basic mode of development - the free and open source software. I'm not saying all FOSS software is artisan or cared for with excellent craftsmanship, but when I think of software that lasts FOSS software is what comes to mind:
- emacs
- PostgreSQL
- linux
I really like the Postgres example because it was initially just a bunch of academics who refused to implement new SQL features until they could do it The Right Way. See how long it took them to get upsert.
I really hope that GNU Guix takes off in this way - just gradually doing things The Right Way until the product is just the default institution.