Dark Light
Until recently, software development was created in silos using the “waterfall method.” A product was defined, designed, built, checked for quality assurance, and then presented to the client.

Agile Software Development Contracting 101

If you manage software development projects for your organization, then you’ve heard of agile software development. Until recently, software development was created in silos using the “waterfall method.” A product was defined, designed, built, checked for quality assurance, and then presented to the client.

This linear timeline caused many problems as the clients’ design is not always possible to develop. The quality assurance team finds many bugs at the end of the process that is time-consuming to locate and fix, and the final product does not always match what the client needs. All of these problems are mitigated with the more flexible and iterative agile software development process.

What is Agile Software Development?

In agile software development, smaller, more integrated teams include project managers, designers, developers, and QA members that work together and keep the project on track. The project is completed in “sprints,” which are shorter bursts of work on specific elements of the product. The developers regularly present the feature for feedback to ensure it meets the client’s needs and expectations.

The many different agile software development firms are defined by the teams’ makeup, the timeline of the sprints, and the overall development process. Three of the most popular agile methods are ScrumDevOps, and Extreme Programming. They differ in their development processes. The general principle of intermixing teams, quickly developing sections of the project, and regularly getting feedback from the client are constant across all agile projects.

Agile software development is becoming the norm in the tech industry, so it’s important to understand the differences between the various agile processes and the more linear process you may be familiar with. The different methods affect the management of your IT resources and will significantly affect the contracting process.

How Do I Contract for Agile Software Development?

Indeed agile projects cannot be covered under traditional IT contracts with a defined timeline and product deliverable because the process is ongoing and ever-changing. Instead, agile IT projects are best managed under a Time and Materials contract, where the developer is paid for the number of hours they work rather than a fixed price for a completed product.

Many companies are concerned about developers dragging out the time spent on the project to earn more money, but there are ways to minimize this risk. One is to create fixed prices within the process, either for a minimal viable product or completing each sprint. Another is to set price caps on the project.

While these safeguards will protect the budget, they may also undermine a successful agile process as software development never has a completely predictable timeline. All agile projects rely on trust between the developer and the customer. Hence, the best safeguard is to work with a well-respected company with whom you can build a reliable working relationship.

In addition to pricing safeguards, other contract negotiations can help your organization feel more comfortable with an agile development process.

Milestones

Every project starts with a project vision. The developer should then use this vision to create a list of items that need to be developed to build the product. Using this list, or “product backlog,” you can then define milestones in your contract by prioritizing items set for the contract’s length. The developer should provide cost and time estimates for each item on the list. Both parties should define the iteration process, including meeting schedules and determining each iteration’s completion.

Termination

One benefit of agile contracting is ending the contract at the end of each iteration without paying termination charges. A termination clause is included in all standard agile software contracts since the code is paid for in stages on an hourly basis. This allows the client to pull the plug on the project if it is not proceeding as needed.

It is important to have a complete understanding of the stages in which the product is being built when deciding whether to terminate a contract. For an organization unused to the agile development process, it can be a challenging switch to make. Don’t let confusion with the process lead you to terminate a contract that is proceeding as planned.

Agile projects are often safer for clients as problems and misunderstandings about software needs are caught throughout the process rather than in the finished product. But it is also important to understand the needs of your organization and the vision for the development. If neither are being met, it’s best to cut your losses and regroup rather than continue with a project that will not result in the desired product.

Resources

Working on agile projects can be a risk for both the client and the developer. Because of the uncertainty behind the project’s length, payment, and the potential for termination at any stage, some developers might seek to move their best developers or project managers from a risky project to more stable ones.

To protect yourself from losing your key team (and their project knowledge), you can seek to add specific personnel to your contract with the understanding that they cannot be removed from your project without approval. Alternatively, you could add a clause that ensures the developer provides all the resources necessary to complete each stage of the project promptly. This way, any short staffing that leads to extended sprints does not negatively affect your bottom line.

Warranties

Warranties are difficult to provide in an iterative process like agile development since the contract may be terminated before the final product is complete. Still, there are options to create a warranty on parts of the product. For instance, each separate code of code could be warrantied to meet all the iteration specifications. And barring any unforeseen problems, your agile software will likely result in a completed project, so the contract should also include a warranty on the final product to ensure all the pieces of code developed will work together in the envisioned outcome.

This list of potential contract clauses is only a fraction of the changes you might make to your contracting process to meet an agile project’s needs. No matter what type of IT project you are undertaking, it is important to consult lawyers who specialize in IT projects. The contracts require knowledge of technology and technological processes to protect the client and the developer fully.

The emergence of agile software development has led to streamlined processes that are better for the developers and the clients. Though contracting for such a fluid process can be complicated, the superior products that can be developed through the more collaborative agile development process are worth the extra work to get there.

This article was originally published on Webnoggin’s blog.

Read more about digital transformation and why your CTO cares.

Related Posts
boring_marketing

Boring Content is a Crime

The trend is evident: more and more companies are using digital to engage with their customers. Senior management recognizes that digital marketing and customer engagement are becoming top strategic priorities dictating company success. Ranking at the top of their strategy, companies will find particularly better results by using digital to position material consistently across channels and to focus on personalized or targeted offers that are available online. The key is consistency.

Chipotle’s, The Scarecrow Viral Video Pecks at our Guts

Chipotle takes a Fiona Apple bite out of Big Food in their short film The Scarecrow, sparking conversations and spawning food advocacy through advertisement. Having gone viral since it’s debut in September, it’s certainly angered conventional agricultural reps befittingly crying foul play.  But really, you may never want to eat meat again.
Skunk_Investment

How To Invest Using Your Nose

If I have to choose, then I choose… BOTH. I’ll explain. Everyone has a dream. Whether your dream is to flip burgers at your beachside restaurant or to be the next Warren Buffet, that dream exists. But with your crazy busy lifestyle, do you have the time to really think about your dream ambition? And what is the perfect dream “thing” these days?