Scrum vs. Traditional Project Management

Recently I signed up for a SCRUM certification class and that got me thinking about my other effort which is to get PMP certified. PMP”ians” can boast that their certification is industry recognized and achieved only after giving a certification exam. SCRUM certified professionals are “certified” after they attend an approved certification class conducted by a Scrum certified trainer. No test required.

Now the question arises, is Scrum certification of any use if you did not give an exam. It will be the easiest certification I have ever earned. But the aim of this certification is not to be certified, but to gain the knowledge of the framework that it defines.

There was this one project I was on, where the Project Manager was completely at his wits end on how to run the project. There was chaos during the development stage due to various reasons. The PM had, at his disposal, a highly competent and motivated team. The architect on the project stepped up and put in place a SCRUM-like process (unintentionally) to analyze daily progress and get things going. All the while the PM being out-of-sync. Not having done any software development the PM had great difficulty grasping
the scale of the effort and the pace at which work was being done. But lo-and-behold on the subsequent release he was a great PM. The moment things became a little more controlled he was able to jump in and take control. It was an interesting experience in hindsight. The first release could have ended in a disaster with the situation we had. The non-certified-architect who led the unintentional-scrum-style-development saved the day (or the project in this case). This is not to blame the particular PM but to simply to illustrate a point. And the point is that taking certifications does not make one a better PM or CSM.

Project management as we know it today, has its roots from the manufacturing/auto/construction industry. Software Project Management got its management roots from the same place. Sure over the years they have evolved to take into consideration the unique nature of software development.

But software development is a completely different animal as compared to manufacturing or construction related projects. With the latter it is possible to measure tangible progress and quality due to the high level of automation and design that already exist. Thats easier said than done in software projects. It is possible but requires a high degree of commitment from management and some really good people and good processes in place. Oh yes and when you have all of that how do you make sure your project actually delivers something in a reasonable time frame.

Each and every software project (or product) is unique. Even a simple shopping cart software may have a hundred variations depending on specific client needs. The other challenge in software is that the tools at hand to build it are always changing (language, hardware, development processes), etc. Last but not the least people building the software affect the software being built in larger ways than in the construction or manufacturing industries. software has become a intellectual game (I do not mean Einstein like intellect here). And this forces a lot of people-egos into the project. How often have you met those who say (and behave) that they know the best way to build something. Ask 10 developers how to build a shopping cart and they will come with 10 different ways, each confident that his way is the best way. Often they will give you the solution without evening waiting for requirements. If you ask for requirements that can at times be seen as a weakness not a strength. Have you met the lone warrior who believes and behaves like he is Gods’ gift to the software industry. The lone warrior cares not for the rest (and thereby the project). How do you manage such a resource? And add to this all the ego-centric-corporate-political battles that are fought among the different participants (and stakeholders) of a project.

Also nowadays a B.S in CS or a IT related Masters means not much, since everyone can pick up a book and a computer and learn how to program. Is a degree-laden PMP (or CSM) better than a non-degree-laden one?

There are too many variations in software development that force certifications such as CSM or PMP to be quite irrelevant except for communicating that the individual has a certain set of knowledge in the area of the certification. Thats it. The success of a Project Manager or SCRUM Master lies in the interest the individual has in that role, how well he can
execute and deliver on that interest and finally how well he interacts with people.

There are those who abuse processes due to their utter lack of any understanding of the very thing they try to spread. I was once on a SCRUM project where the powers-that-be decided one fine day to embrace SCRUM and the goal was to build small teams and
tell each team one or two lines of what needs to be done and let them figure out everything else. Pray how is the team, without access to any business user, to predict requirements. Before the shit hits the fan he or she has left the project or the company for bigger titled
positions elsewhere.

So long live CSM and long live PMP. I for one do not like the title Project Manager (seems weighty and sometimes an excuse to have a chip on the shoulder) or the title SCRUM Master (master of what). The right title is Software Development Manager. This title better reflects theresponsibilities of the job.