Software development refers to a set of computer science activities dedicated to the process of creating, designing, deploying and supporting software. Software development is primarily conducted by programmers, software engineers and software developers.
These roles interact and overlap, and the dynamics between them vary greatly across development departments and communities.