- Strive for an intricate understanding of the purpose and goals of the application. At any given time, a developer should be able to speak intelligently and enthusiastically not only about the application as a technical product but about who will use it, what they are hoping to accomplish and how the application fits into a broader objective. If a developer doesn’t know what the applications are trying to accomplish, how can they measure their own success?
- Assume the role of the project partner. A developer’s expertise and problem-solving skills typically go beyond design and coding. They have extensive real-world experience that they can draw on to collaborate at a higher level; no one is just a developer, they are also artists, mechanics, entrepreneurs, and philosophers and they bring these talents to every project that they work on. Be a proactive participant in the process—I have found my anthropology background and ability to analyze a user’s “cultural context” to be just as useful at times as my technical background.
- Help sustain the passion for the project. Everyone is excited at the outset of a new project, but enthusiasm can wane as complexities present themselves. Developers have the ability to see the forest for the trees, knowing that the forest is still really exciting and cool even if the trees start to look like tangled briars. They need to communicate about a project’s progress within the context of the original vision; this helps clients stay present to the big idea that brought them to a development project in the first place.
- The devil is in the details. It is easy to call a project “done” when the heavy lifting is complete, but it’s the small details that make a big difference in a client’s perception of a product. Misspellings, warnings/errors, misalignments, etc., diminish a client’s confidence that the substantive portion of the website or application will be fault-free. We live in a world dominated by user experience and high expectations; developers must meet those expectations accordingly.
Successful Application Development: The Developer Role
The success of an application development project can be measured in multiple ways by different stakeholders; a developer might measure it as efficient, bug-free code, a client might be more concerned with business deadlines than anything under the hood, an account manager might be focused on client happiness, a project manager might be most concerned with the best balance of budget, timeline, and feature development.
But writing bug-free and stable code, meeting timelines and budgets, and managing features effectively are outcomes all development shops already have on their list. What are some of the attributes of a development project that are less obvious, but can make a real difference in project success? This post focuses on tips for software managers and developers; future posts will focus on tips for clients and product managers. This is generally written to address a situation with a client and an external development shop, but most of the tips work inside an organization as well where the client is internal.