In which ways are programmers (software architect, computer scientist, or any kind of programmer) commonly involved in software design/planning (how it looks, how it should work, business related decisions), before any code has been written?
valid question