As opposed to the maximum size I find it more interesting what the minimum size of organisations is (Haldane's example was the mouse's eye):
Can you write viable software with a small team (<5)? Yes
Can you write very complex software like a distributed database or a web browser with a small team (<20)? Maybe, but will already be very difficult for the web browser (assuming not just writing a WebKit wrapper)
Can you develop a CPU with a small team (<10people)? Depends on the complexity, but typically CPU teams are larger for more faster chips.
Can you develop the silicon process needed to make the CPU with a small team? (<100) No
In all of your examples, it depends on the team, their skill level as individuals and how well they communicate... the large the extended teams that have to coordinate, the larger a part communication takes, and the less time each member of a team has to accomplish any work. In software, I've seen this time and again. Adding more people to a team is sometimes a very bad thing.
Can you write viable software with a small team (<5)? Yes
Can you write very complex software like a distributed database or a web browser with a small team (<20)? Maybe, but will already be very difficult for the web browser (assuming not just writing a WebKit wrapper)
Can you develop a CPU with a small team (<10people)? Depends on the complexity, but typically CPU teams are larger for more faster chips.
Can you develop the silicon process needed to make the CPU with a small team? (<100) No