How do you describe software development to someone who doesn’t already know it?
When I first went to college in the 1980s, I learned computer programming and I would tell people “computer programming is typing instructions to make the computer do something”. But typing instructions is just a small part of modern software development.
Now when I describe how DelMar does software development to someone who is unfamiliar, I compare what we do to what people in more familiar industries do. My favorite analogy is new home construction, but I sometimes also compare software projects with how a Hollywood movie is made – especially when making a distinction between the role of the project manager and system architect/technical lead.
Big-time Hollywood films seem to always have two roles at the top of the responsibility hierarchy – directors and producers. According to Wikipedia:
A film director's task is to envisage a way to translate a screenplay into a fully-formed film, and then to realize this vision. To do this, they oversee the artistic and technical elements of film production.
A film producer is a person who oversees the production of a film. The producer is tasked with making sure the film is delivered on time and within budget, and has the final say on creative decisions.
These roles require different skills and different personality traits, but both roles are equally important to the success of the film. A bad producer and the movie will go over budget. A bad director (or worse, too many directors), and the movie won't tell a clear, consistent story.
The team creating a new software application also benefits from having two different people, with different experiences and personality traits, that serve these two roles, at the top of the responsibility hierarchy. We can change a few words in Wikipedia's definitions for film makers, and they sound just right for software development teams:
A system architect’s task is to envisage a way to translate a requirements document into a fully-formed software application, and then to realize this vision. To do this, they oversee the technical elements of production.
A project manager is a person who oversees the production of the software. The project manager is tasked with making sure the software is delivered on time and within budget, and has the final say on creative decisions.
We make sure each of our projects has the right director and producer to make the best possible software. Schedule some time with us today.