I’ve gotten sidetracked a bit from my plan to dig into SEMAT, though that remains on my list of things I want to do. I wanted to take one diversion into the topic of “project management”. In the last few years I’ve been working with a few startups and emerging companies in the technology space, and a common theme I find among developers in this environment is a belief that they don’t work on projects, and don’t need to develop project planning and management skills
I think that is a mistake. Software development may be done in a blend of ad-hoc and Agile techniques, the entire development of an application, or the company itself can be viewed as a project, in that it is a collaborative effort of multiple people required to achieve a goal or objectives. Having a project plan should not be confused with traditional waterfall methodologies. A basic project plan starts with the scope,goals, deliverables and deadlines of the team or company, and then identifies the steps to be taken and the individuals responsible.
The design, code, and test of the app, done in an Agile approach, is part of the plan. The entrepreneur company leader is responsible for a wide range of other activities ranging from marketing, training, legal, support and many others that must be put together by different people and all orchestrated to coincide with the release of the application.
I think that developing skills in project planning (and then being able to lead execution) is a real differentiation for the developer who wants to be more than a code and test resource to startups and companies. I don’t necessarily mean all of the rigor of PMP certification, which I find overemphasizes format over function, but good planning skills can be learned.