Why Agile Development?
We will try not to be too biased here, but we do feel that there are many more positives than negatives working with agile development over traditional methods -- otherwise we wouldn't have chosen to use it.
From the client's point of view, the most obvious potential issue with agile is that there is no fixed quote at the start of a project. While this is not how most people are used to working, and it can cause issues with procurement (see Pricing), several factors have made us feel this is the right way to go. The first and biggest overall reason to use agile is that projects change over time -- especially after a client sees a first prototype, sees what assumptions were right/wrong, and gets a million new ideas. Since we decide what we are going to build each week, we are free to adjust to all of the new things that we learn during the project instead of being locked into building something specific based on a quote. We strongly feel that this process alone is the reason most traditional application development projects fail.
Another big benefit is the elimination of all of the time and work it takes to develop specs, put out RFPs, wait for bids, negotiate terms, etc. These are all thrown out the window with agile development. Rather than wait several months just to get started on a project -- which is then likely to be locked into building a non-optimal solution as mentioned above -- we have a discussion, figure out what you need, and get started developing. Simple processes, fixed schedules, and highly-competitive standard pricing make it easy to work together.
Why am I paying for two engineers to pair program instead of one?
Studies have shown that the gains in quality alone from having two minds working on solutions more than make up for the added cost. But when you factor in that having two people at one machine means that they are pushing each other to work for 8 full hours a day, you are more than doubling the average 2 hours of productive "in the zone" coding that non-pair engineers have been shown to deliver in an average day. Further, being so open about what each engineer has to offer, ensures that knowledge is transferred rapidly and that engineers that can't keep up are quickly removed from the team.
How involved will I, as the client, need to be?
Agile development requires the client to attend weekly sprint kickoff/review calls (often one longer call) and to respond to email questions from engineers throughout the project. Discussion is highly valued over rigid specs in agile. This is a huge benefit, but it does require a commitment on the part of the client to be involved. The relationship between a client and an engineer is much like a marriage, communication is key. We ask that clients please make themselves available to our engineers.
What if I need a quote to get my project budget approved?
We know that agile process is not 100% compatible with a lot of larger company procurement processes. While we aren't going to change our system that works to mesh with a busted purchase process, we can offer some advice. Give us a call (see Contact) and tell us what you are looking to do. Often it makes sense to break up large projects into smaller, concurrent projects which you can get easier approval on. If this isn't possible, we can give you our best guess at how many weeks to budget for the project. At the end of the day, the project may be completed quicker or features may have to be cut to hit the estimated deadline. Most average size projects begin to take solid shape by five to six weeks. So you could get a budget approved for $36,000 for 6 weekly sprints. Better yet, plan on a buffer of $48,000 for 8 weekly sprints on an average size project. If you are happy with the app after 6 weeks, call it done. Give the extra $12k back to accounting -- they will be shocked, trust us.
Is there a minimum retainer to use Cornerspace Labs Maintenance Services?
Yes, we currently require a 5 hour per month minimum retainer. We do this for several reasons. The most important reason is that having tens of thousands of applications that we spend an hour or less with a month does not allow us to have the knowledge we need to deliver high quality service. Second, we have found that clients who have set hours available each month are more likely to make the updates needed to make their application succeed and reduce costs in the future. Finally, to be 100% transparent, supporting live applications is hard work. It has a lot of overhead in both cost and knowledge. We need to set a minimum monthly fee to make sure we are focusing on the clients who are most committed to having Cornerspace Labs as a partner in building their projects and their business.
What about bugs? Do you guys charge to fix them?
Absolutely. Bugs are an inherent part of building new software. If you are making changes to code, bugs are bound to show up. When they do, they will be fixed as part of the normal project cycle on weeks with development sprints. (Note: We recommend that you always put bugs at the top of the project list so they don't build up. We know this sucks since you are not seeing features completed, but it is important to keep the project quality at a high level. Ultimately, it is the client's responsibility to determine if fixing a bug is the best thing to work on to create business value at any given point in time.) If bugs occur when we are not in an active sprint week, they can be completed with maintenance retainer hours.
Do you offer agile training?
Yes, we offer agile training services on a per day basis. Our experts will come visit your team to learn about your current operations. We will then work with your team to explore agile methodologies & processes and how they can be applied to meet your specific needs. Agile training is billed at a rate of $5,000 per day plus travel expenses for any size team.
Do you offer website hosting?
No, we focus exclusively on helping our clients maintain, support, and improve their applications. We are happy to recommend Cornerspace Host for your hosting requirements. We do support and encourage the hosting of your web application in the cloud using Amazon Web Services relying on services such as EC2, S3,and EBS. By hosting your application with these services, we can launch with modest and low-cost computing resources, but quickly scale up to accommodate growth, without making long-term commitments. We'll help you to set up your own account with Amazon and you'll be billed for their service usage directly.
Do you offer domain registration services?
No, we focus exclusively on helping our clients maintain, support, and improve their applications. We are happy to recommend Cornerspace Host for all your domain registration needs.