[[https://gondor.io|Gondor]] was built over the past couple of years in response to Eldarion's needs as a web agency as well as the development of our own sites.

For client work, continual feedback in the form of demos is a big part of our value delivery. This is more than just a typical one to four week sprint between client reviews. As stories are completed and reviewed and ready for client demo, we deploy to staging instances for the client's immediate feedback.

This process started off with much less frequent deployments, mapping more to the weekly or bi-weekly "sprint-then-review" which is typical of most Scrum implementations. With the early incarnations of Gondor, deployments were not as simple as they are now and required a much more manual process. As a result of this demand for continual delivery, we now have a process by which we can deploy many times per day with little overhead. Deployments are no longer a bottle neck in our value delivery chain.

Even if our clients choose to host their production site elsewhere (they rarely do), we are able to provide temporary URLs with the latest demonstrations of different features during development. This often results in the client demoing functionality, several times per week. Lowering the frequency and increasing the granularity of this feedback loop allows our clients to pivot much more quickly. At the same time, developers remain story-focused and uninterrupted.

The exponential increase in our delivery cycle to clients would have been impossible without being about to deploy so quickly and easily. During the development cycle, developers can easily create an instance and deploy a single branch they are working on to share and get feedback from the team. For client feedback, we batch stories together and deploy an integrated set of branches to a staging environment for client review.

An example session for a client after reviewing a group of stories (our Team Leads still tend to batch up doing reviews, though that is typically daily):

Merge story branches into a release candidate branch

Create a staging instance ({{{ gondor create

Seed staging instance with production database ({{{gondor manage

Deploy new code for demonstration ({{{gondor deploy

Tell client there is something to review.

The entire process (after the reviews) takes only 10 minutes.

For most of our clients, after the demonstration passes their approval, we immediately:

Merge code to master and tag the release

Deploy to production ({{{gondor deploy primary }}})

Again, just another few minutes. We have continual delivery of value to clients with the control point of clients deciding what they want to go to production by seeing exactly how it will work in production, with very little effort on the part of Eldarion. This enables us to focus most of our client billable time on implementing stories and testing and less futzing about with servers, deployments and configurations.

If you are a web agency, we would love for you to give us a try and tell us what you think. Everyone has a different process for delivery, and we'd love to hear how we can make Gondor help in the process.

Email me directly at [[mailto:paltman@eldarion.com|paltman@eldarion.com]] or call (615) 300-2930.