Agile Development Methodology

Instead of running off with the specifications and come back six months later with a system that probably does what the customer needed half a year ago, an agile process relies on frequent communication between customer and supplier.

Jazkarta's agile development practices

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan


How we work


Short iterations.
Instead of running off with the specifications and come back six months later with a system that probably does what the customer needed half a year ago, an agile process relies on frequent communication between customer and supplier.

The primary differences from traditional waterfall development can be summarized as:

  • Development is done in short iterations (typically of two weeks length).
  • At the end of every iteration we deliver a working, running, system.
  • Every developed piece of functionality is first done as minimal as possible, then im- proved in small steps. Thus, there should be no hanging, un-usable, “80% done” components. - Just small components that can be expanded to the intended functionality
  • The customer is invited to plan which features will be worked on in the next iteration after evaluating the previous achievements.


Test-driven

The functionality of the software is demonstrated by a set of automated tests. The tests are delivered with the software and the customer is free to run them at any time. The customer is furthermore invited to provide his own set of tests, if desired. Automated tests, in particular unit tests, are a core practice in any agile methodology. Tests make sure we deliver low-defect components. Even more important, they provide the safety-net essential to the ability to evolve the software in the face of changing requirements, so the software can even be refactored or rewritten at a later date with minimal risk of disrupting the running system.

Transparency of Open Source

Every piece of code is open to scrutiny by peers and customers, and frequently also to the public and the Plone community. We normally have automated mails produced from every check-in done to our version control repository, - to mailing lists that customers and fellow developers are subscribed to.

Optional Scope Contracts

Optional scope contracts are designed to accompany agile software projects. In essence, they attempt to align the interests of customer and supplier, instead of pitching them against each other.

Think of it this way: If the four variables of project management are time, cost, scope and quality. Traditional IT contracts tend to set values for three of them: time, cost and scope. The fourth variable, quality, is left to flap freely in the breeze.

When reality intrudes and a feature turns out to be harder to implement than envisioned, or when requirements change over time, software quality - being the only "variable" - inevitably starts to suffer. Low-quality software however, is neither in the interest of the customer nor of the supplier.

Also, tying scope to cost leads to a situation where the supplier aims to reduce expenses by interpreting the requirements as narrowly as possible, whereas the customer intends to maximize investment by demanding the most generous exegesis of the requirements documentation. Extensive possibilities for controversy ensue.

Lastly, traditional contracts fail to reflect the realities of iterative development methodologies, where the project is allowed to change focus with every iteration.

Now, let's say we use a contract that specifies time, cost and quality, and let scope absorb the uncertainty inherent in every project? We end up with a contract where:

  • Sacrificing software quality on the altar of finishing on time is no longer necessary.
  • Changing requirements (scope) no longer threatens the project.


Optional Scope Contracts have a contract model that fits the iterative approach of the development process, and makes the customer and supplier work together — and produce results that are on time, on budget and beneficial for both parties.


For more information on Optional Scope Contracts from some of the world's most recognized experts on agile development methodologies, Kent Beck and Dave Cleal, download the PDF linked at the bottom of this page.

Note from Nate: Thanks to Plone Solutions for introducing me to this way of working.

Document Actions
Contact
Phone/Fax:
+1 (888) PLONE-IT (tel)
+1 (888) 756-6348 (intl)
+1 (866) 864-4918 (fax)
Email:
sales@jazkarta.com
Office:
Betahouse
13 Magazine St. #2
Cambridge, MA 02139

(Google Map)
Mailing address:
Jazkarta, Inc.
P.O. Box 230285
Boston, MA 02123
U.S.A.