Software Project Management with SWAT: Managing Software Development Projects Using Swift Action Teams (SWAT)
Project Management with SWAT
First let me tell you a story from the Indian folklore. Before the British colonized India, India was a group of kingdoms. Some of them were large, rich and powerful with strong armies but many were small, with limited defenses. The larger kingdoms used to conquer and annex their neighboring smaller ones. The defeated kingdom will be annexed to the victor’s empire and the defeated king will either become a subordinate to the victor and pay taxes or he will be dethroned and will be put in jail or killed. So usually the smaller kingdoms that didn’t have the might and army to fight the large empires surrendered their kingdoms and become feudatories, pledged their loyalty and agreed to pay tributes and taxes thus saving their throne.
There once was a small kingdom whose king refused to surrender. He had a small army of about 6000 men and he had to face an enemy whose army was almost ten times stronger. The king knew that with his small army he could not win the battle, if he used conventional methods of warfare. So he devised a plan. The king himself was a superior warrior, so was his commander-in-chief. They selected another eight warriors, each one a legend in his own right. All these men were leaders of exceptional caliber and with their mere presence were capable of inspiring their followers, increasing their morale, confidence, and fighting spirit to great heights, and galvanizing them into action. These warriors had such a fierce reputation that their enemies used to tremble at the sight of them.
In those days the battles were fought in a battleground where the two armies stood face to face and attacked each other. (It is like the typical battle scenes that we see in period movies like Brave Heart, Gladiator, The Last Samurai, etc). In our story the king divided his army into 6 groups each with 1000 men. He, his commander in chief and the other 8 soldiers formed another group. His strategy was like this. The six batteries (or columns) will attack the enemy (which contained more than 60000 soldiers) in unison. The elite group of 10 superbly capable warriors that he formed will be at the helm of one of the columns. Whenever the enemy pushed a column back, the ‘group of 10’ will move to the front of that column and will lead it. Since these group consisted of 10 people whose mere presence could sent shivers down the spines of the enemy soldiers, their presence will not only boost the morale of their soldiers but also will frighten the enemy soldiers. So they were able to thwart the enemy and carry the column that was pushed back to a forward base from where it can continue the fight. This group will move among the columns depending on the situation, keeping the entire army moving forward fighting the enemy and pushing it back.
During the battle, this plan was implemented and it worked like a charm. The mere sight of their heroes fighting along them and leading them, pushing the enemy back, charged up the king’s army. The enemy was frightened and in no part they were able to push the opposition back as when they were about to do so the ‘group of 10’ will appear there and the situation will change. This created a chain effect; the six columns of the king’s army knew that they could always count on the help of the elite fighting unit, if they were in trouble. So there confidence was up, morale was high and they fought with a new vigor. The success of one column rubbed on to the other columns and the morale, confidence and self-belief of the entire army rose to astonishing levels and gave them mental superiority, which in turn made them invincible. The king’s army won the battle and the enemy—an enemy that had a superior force— was defeated.
I have tried a variation of this technique in managing software projects. I have tried it in projects that had 80–90 people and 10–12 modules; I have tried it in small projects with 2–3 people. I have found that this technique always helps in improving employee morale, increasing the self-confidence and finishing the projects on time irrespective of the size and complexity of the project. I have named this technique “Project Management with SWAT.” SWAT stands for SWift Action Team.
PROJECT MANAGEMENT WITH SWAT
SWAT is a group of highly skilled and extremely brilliant software professionals who form an elite group similar to the ‘group of 10.’ This is the resource that the project management can depend in times of crisis. The SWAT functions the same way as the ‘group of 10’ functioned in the battle. They constantly monitor the progress of the various modules in a project. In the case of small projects, they monitor the progress of all the projects. The SWAT is allotted a separate room (I call it the war room) where they have all schedules of all the projects/modules. Whenever there is a project meeting a member from the SWAT attends it and gets the information on the progress of the project or module and updates the charts or the progress monitoring mechanism (for example, a project management package), so that all the people in the SWAT are always aware of the status of all the projects. When all the projects are on schedule, the SWAT members do not have any specific duty. They use this time to improve their skill inventory, make themselves thorough with the functionality of the projects, improve their knowledge on the tools that are being used in the project, and so on.
They will also act as quality auditors, configuration management auditors, and will manage the helpdesk for the project. But when the progress of a module or project is behind schedule (either due to some unaccounted problem, or due to employee turnover, or due to some other reason), the SWAT is deployed. Whether to deploy the full team or a few members is a decision taken within the SWAT after studying the situation. The SWAT members will join the project team members and help them in bringing the project on schedule or ahead of schedule. Since the SWAT members are familiar with the tools, the functionality and what is happening in the project they will be working on the full potential from day one. There is no time wasted in induction and training.
Now we will see how the SWAT is constituted. The SWAT should have a team leader (somebody as charismatic as the king in our story). The team members should be the best in the company. They are the people others will look up to, in case of an emergency. They are the gurus, experts, the geniuses or wiz kids of the company. They are the people around whom legends are created. These are exceptionally brilliant people whom the ordinary professionals admire.
So the company should assign its best and most efficient employees to the SWAT. The company should invest in these people and should create opportunities for them to excel within the company so that they can grow with the company. But these are the people who are actually running the business; these are the people who do not have time for anything else; these are the very same people, everybody will turn to in a crisis. But it is these people who should be assigned to the SWAT. The job of swift action team is very complex and sophisticated, which involves technological as well as cultural challenges. It is not the place for people without any initiative, dedication, and enthusiasm. It is not the place for the people who do not have any team skills and who have communication problems. It is not the place for people whom the boss does not want. In fact assigning some people, just because they are the only ones available is one of the most crucial mistakes that the management can make. They will be jeopardizing the entire project by taking such an action.
The SWAT needs people who can grasp new ideas quickly, who have an open mind to new technologies and concepts and who love challenges. These people should have a never say die attitude and should be capable of working as a team. These men will be pioneers as they will be taking their organizations through untested environments and uncharted waters and so their ability to think quickly, improvise effortlessly, innovate fast and act without hesitation is critical for the success of the project.
So when faced with the decision of assigning members to the SWAT, the management should be willing to send their best troops. Invariably, these people are those whose work cannot be interrupted and responsibilities cannot be delegated. But the company has to find a way. If the company decides—early enough—who they are going to send, and if those people are informed, may be they could train somebody to take their positions. But sending the best people is a must.
Now I will discuss two cases where I was part of the SWAT—one a large project with 10 modules and more that 120 people and another 7 projects where 3 were one-man projects and the rest had 2 or 3 members in it.
The first project was for a large bank; it was a bank automation project. The project had 10 modules and about 120 members (about 10 – 12 members in each module). The SWAT consisted of 8 members. The project was using a CASE tool. The standards and procedures were in place and the team members were given an initial training (induction training) on the project as well as the procedures, the tools, and so on before they were allotted to the project. The project team occupied an entire floor of the company. There was a project meeting every Monday and the module leaders were supposed to present the status report on how each module were progressing.
The SWAT had an independent room in the same floor. The team members were all exceptional professionals—gurus, experts and so on. They were thorough with the functionality of the project, each member of the group had excellent knowledge of all the tools, procedures and practices of the project and in addition to that there was at least on person who was an authority of one aspect (one who knew that topic inside out) may it be the tools, functionality, procedures, and so on.
Whenever a module was behind schedule, the SWAT was assigned the task of bringing it on schedule. The SWAT members then worked with the team members, they did anything that the team members found difficult, coding, testing, documentation, and so on. Sometimes they mentored—sat with the team members and helped in troubleshooting the programs. Sometimes they helped the team members in understanding the specifications so that they could code the programs correctly and efficiently. When the backlog of a module was finished the SWAT left the module and joined another module or continued with their normal tasks. They also did a casual analysis as to why the defects and backlogs occurred and how it could be avoided. Thus the SWAT not only solved the temporary crisis, but also helped in finding lasting solutions that prevented the problems from recurring. But there are situations that nobody can anticipate or prevent—employees leaving, loss of working time due to power failure or system failure and so on. So the SWAT helped in these situations and the project was finished ahead of schedule, which would not have been possible without the SWAT setup.
The second case I am presenting, where I have used the SWAT approach, was in a small organization. The company was a start-up with a few projects—some of them were in-house projects and some of them were for clients. Each project was small and the maximum project size was 3. There were 3 one-man projects and the rest had either 2 or 3 employees. All the team members were comparatively inexperienced. All the projects were done using Visual C++. There were two people in the SWAT and both were experts in Visual C++. They were also familiar with all the projects as they were the people who were involved in the design and who had interacted with the clients. These people were also managing the teams, so they knew the schedules.
Once in every three days each project team met the SWAT (who were also project managers) and apprised them of the status. If the projects were on schedule, then the project team was asked to continue with the work. If a project was behind schedule, then the SWAT members sat with the team and solved the problem. Since the projects were small and the review was done regularly, the SWAT was able to help in clearing any backlog within a matter of 2 – 3 hours. Since this was an informal setup, the SWAT members also doubled as technology and functionality experts and helped the employees in clearing their doubts as and when they occurred. In this way, the two people who had excellent technical and functional know-how, excellent communication skills, and good leadership qualities were able to complete 7 projects in time. This is an example of an informal set up where SWAT project management was used.
Finally a caveat, the SWAT software project management will succeed only if the members of the SWAT are chosen carefully and they are exceptionally good technically, functionally and have excellent team, communication and management skills and are diplomatic in nature. The members also should have good leadership capabilities so that they earn the respect of the project team members with whom they have to work in order to bring a project(s) back on track.