During many of my Agile presentations, I keep getting the similar question from participants, "Can Agile work in services company" ?. My answer has always been "Agile methods could be implemented whether it is product company or services company".
I kept wondering where this misconception is coming from ? I think I have some clue here. ..
As we know, the software services company would try to cater to the needs of multiple customers. Many of the companies would be working on multiple projects ranging from Java/J2EE to COBOL, AS/400, etc. The verticals would be from retail domain to Avionics. As far as I have seen in Indians services company, each project is controlled by the customer's project team from distant locations. Even though the PM and the developers form the major crowd in the team, they have very little say in major project related decisions like choosing tools, process, etc.
The vendor software company has to negotiate with each of the customers about process, tools, methods, etc. Even the management of vendor companies cannot put their foot down about ideas because, there is a tough competition in the market. There is a fear that, many customers can walk out if they find any resistance to their own ideas. Keeping the above factors in mind, it becomes difficult for services companies to convince each and every customer about Agile method or any similar thing. This also results in poor implementation of methods like Agile in services organization. According to me, Agile methods can work successfully in services company provided there is a good support from not only from the vendor management but also customers .
Where as in product development companies, there is one team at the organizational level making all decisions about software development. If the management team is convinced about Agile, that is enough to take the idea forward with less resistance.