I am about to embark on a project mostly using C# that will involve client and server communication.
I'm wondering how to plan out a project like this.
I usually just jump into smaller projects and figure things out as I go because I have a diagram in my head.
How do I design a complex project before knowing everything it will require takes?
How do I know if I have a good design or a crappy one?
Sounds stupid, I know, but I have taught myself everything I know so I haven't really had any experience working in groups or with instructions.