Since my transition from developer to manager of developers 4 years ago, I’ve been fascinated with art of technology management within an advertising agency environment. While technology management is well documented for software development companies, little exist for the development of complex web applications within a creative based environment. Below are a few high-level thoughts I’ve considered when approaching the art of technical management at an agency.
Organization within an Unorganized Setting
Where as the software development life-cycle is based on months and years the agency development life-cycle is often based on weeks. This is made even more challenging considering requirements tend to be more loosely defined and effected by non-technical stakeholders (the client). The agency environment forces you to have a more of a “run and gun” mentality. While you want to have: objects, requirements and goals clearly defined up front, timelines and bandwidth don’t always allow for it. One true rule of development is that clean organized code is necessary regardless of the size or scope of a project.
Letting Developers Develop
Probably the #1 goal of anyone managing developers is to make sure your developers have everything they need to write great code that can be delivered in a feasible timeline. While management requires the ability to sit in hours of continuous meetings daily, developers need the ability to write code for continuous amounts of time. Being brought into unnecessary meetings or forced to hunt down project status or assets is a huge detractor to this. Doing these things for the sake of code being written requires a very selfless mindset.
Ownership of Technical Failure or Success
With a waterfall method being the easiest and most dangerous process to follow, it’s easy for technology to be the last informed of project progress and status. Early in my career there was a situation where I was told not to attend a meeting by the organizer since “development was not being discussed so you would be wasting your time”. When I told the my boss afterwards he stated in similar situations to tell the organizer that “unless you want to be responsible for the technical success of a project I should attend this meeting and determine if it’s appropriate for myself”. From initial requirements gathering through QA there are enough moving parts to warrant ownership from one individual. For the sake of the project success that person should be technical in nature.
Combined with QA, development is the last stage in the overall process. This results in being the last informed within the project. Within technology management you have to always make an effort to seek project status and information particularly when you know the project is active. You have to be willing to walk into meetings that you weren’t originally invited to and challenge deliverables from other departments.
Promotion of Innovation
Unlike others areas of the advertising industry, digital is totally based on constantly progressing technical mediums. Rather the output is: desktop browser, mobile or native os applications, there are numerous considerations beyond the design and content which can attribute to the success or failure of a project. Innovation requires a understanding of theses constantly evolving platform so known boundaries can be challenged. The technical management lead needs to be at the forefront of these trends.