Author: Lorraine Pauls Longhurst Published: LPLSC Blog Date: 13 Oct 2011
Outlines how Trust is the biggest difference between using Agile software development in a software company vs. using it for project-based work.
Why Trust is needed for Agile in project-based development
What is the biggest difference between using Agile for software development in a software company vs. project work?
The biggest difference between the two environments is Trust.
In a software company, there is complete trust between the ones paying for the development (i.e. the management) and the development team. Management believes that the developers will work in the best interests of the company to get it done.
Whereas in a project-based environment there is always a client or business representative who is sponsoring the development project. Typically a client relationship is very different because there are promises made up front which must be met and the team may profit from taking longer to do work.
This key difference in trust between the two environments makes Agile better suited to a software company. That doesn't mean it won't work in a project-based environment, but it does mean that you must establish trust with your client before you can properly use Agile.
Why Agile works well in a software development company
Agile was originally intended for software companies. The goal of any software company is to release high-quality software to market as soon as possible.
If you consider the project triangle, if one of the three variables (scope, time and cost) change - then the others must as well. In a software company, cost is constant since the development team is usually a fixed size. Typically, software companies announce release dates (minor releases usually being only a few months in length), and the goal is to include as much scope (as many high priority requirements) as possible within this time frame.

With Agile, the number of features that will make it into this release must be flexible! This is because as new client requirements arise or development issues occur - a change in direction may be required.
If using Scrum, the software is 'release-able' after every sprint, and therefore it can be used in sales demonstrations quickly.
Also, because quality is always the priority (defects are always worked on before new features), if a sales demonstration is successful, the product can be released to market early with only the highest priority features.
Why you must establish trust with project-based work
The nature of project-based work means there is a client or business sponsor paying for the project. To get approval for the work, some promises must be made including what will be developed, how long it will take and how much it will cost. Again, if you consider the project triangle; scope, time and cost are constant in a waterfall project.
This is where trust comes in.
To make a project Agile, you must ensure the client/business agrees that scope is variable. The client must understand that the biggest benefit of Agile is that the project can adapt when requirements change and issues arise.
Fixed cost and time can be agreed to but scope must be flexible and outlined up-front only at a high level.
This is only possible if the client feels that the development team have their best interests in mind and are working as hard as possible to resolve issues and solve problems. The client must feel that they are part of the team and that they have the final say on what is being worked on. This is only possible with trust.





