Frequently Asked Questions 18

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:17

Billing

Please describe your billing model. Do you accept part payment at certain stages of the project. Will will be aiming to hold back a significant percentage until full delivery of the project.


We ask clients to pay for 30 work days of development in advance, and invoice at least monthly with payment due by wire within two weeks. For clients unable to pay 30 days in advance, we can accept 15 days in advance and weekly invoicing with payment due within seven days. Some clients with exceptionally strong credit ratings or funding are exempt from payment in advance (e.g. we did not ask Twitter or Morgan Stanley to pay in advance).


If we follow our normal agile development methodology based on time-and-materials billing, we deliver fully integrated and operational iterations of a...

Frequently Asked Questions 17

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:15

Intellectual property

Please describe your policy on intellectual property (IP) in relation to your customers' creative ideas. How do you protect their IP? Are you happy to sign a non-disclosure agreement? We will need the contract to be "work for hire" where we retain full intellectual property and copyright in all work done on the project.

We do work under NDA. We protect IP through NDAs with all employees and would aggressively support prosecution of any employees violating client IP protected under an NDA with East Agile. We understand IP, including many of the subtle complexities.


We have internally developed code and libraries that we can grant clients a non-exclusive, transferrable right to use. Or we can re-invent those wheels using developers with no knowledge of our...

Frequently Asked Questions 16

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:14

Testing & QA

How do you test your applications? What QA processes do you have? How do you handle issues discovered during user acceptance testing? Are these fixed promptly at no additional cost?


Testing drives our development process. We follow rigorous Test Driven Development (TDD) methodologies. Before we write code for any feature, developers first implement tests, then they write code to make their tests pass. Both tests and code are constantly refactored during development. Typically for each 1000 lines of code there will be a 1000 lines of associated tests. A wide range of tests are created during development, including tests of user interface functionality using Selenium. Tests are run continuously throughout the day as part of the development process. Writing the tests...

Frequently Asked Questions 15

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:13

Development process

Please provide details of your process and the way you like to run projects. Do you use an Agile or iterative system - will we see regular releases throughout development?. Do you like to communicate via email, phone, IM? Do you have an issue tracker that you use with clients? Do you have weekly status meetings with clients? Do you send status reports every few days? Do you provide one point of contact? How do you handle change requests?


Whenever we have the option, we develop usingeXtreme Programming methodologies.Pivotal Tracker(http://Pivotaltracker.com)manages our tasks, progress, client interaction, and bugs, chores, and issues.


We askclients to provide at least 4 hours per week of time from a business or product managerwho understands the product, how it...

Frequently Asked Questions 14

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:11

Your work and experience

Do you have any live URLs of work you are proud of? Have you completed projects that have similar features and functionality to http://basecamphq.com/? We are especially interested in any "Web 2.0" applications with multi-user accounts and payment systems.


  • We have implemented a few payment systems using Paypal and Google checkout, however, none are currently visible to the public as they have restricted access.
  • Ourhttp://eastagile.commain site actually has a lot of internal 37signals influenced features. We have a simple chat room, project with the ability to add files, and also, beyond 37signals, a CMS that allows blogging, review and publishing, and most parts of the site to be edited live without development assistance. We can provide you with a private...

FAQ 13 - iPhone, Android, WebOS, Blackberry, Symbian

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:11

Smartphone Applications

Do you have any experience of developing smartphone apps?


Adam Blum
CEO, Rhomobile
We have a mobile platform development team. We develop for iPhone, Android, Blackberry, Symbian, and Palm WebOS. Our iPhone team has particular strength in geo-location and mapping applications. We have also been selected by Palm, Inc. as a recommended phone application developer.

We can create iPhone apps directly in native Objective C. See Abbott Labs' Similac Mom application on the Apple App Store.

Our current preference is to develop apps using the HTML5 oriented Phonegap system. This allows us to continue to use our full set of strong Behaviour Driven Development (BDD) and Test Driven Development (TDD) practices to create while developing for iPhone and other mobile...

Frequently Asked Questions 10

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:07

Security

What security measures would you take to protect an application of this nature? Eg from external sources - unauthorised access, hacks, DOS attacks etc. In addition, do you have experience of ensuring that registered users do not have access to other user accounts/data from within the same application? Are you aware of these risks? How would you prevent them?


We usually use RESFUL authentication framework when authentication system is required. There are several such frameworks in Rails, open-source and carefully tested. In some particular situation, OAuth can also be used to avoid or mitigate risk. For DOS attack, currently we mainly depend on the host service provider.

Frequently Asked Questions 9

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:06

Deployments

Please describe how you would deploy an application of this nature including reference to any development, staging and production servers. What systems would you put in place to roll out upgrades after the application goes live? Also, how would you create a 'down for maintenance' page if we needed to do some emergency work to alter the application without loss of user data?

-For deployment, we prefer the use of Capistrano since it supports remote deployment, rolling back and release version control. In addition, Capistrano also supports the configuration of “down for maintenance” page.
- Normally, we use git style management features to handle different environments. Usually, we have 2 branches: production with stable code and development with newly-implemented code. Two...

Frequently Asked Questions 8

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:01

Technology platforms

If you were asked to build an application like http://basecamphq.com/, what technology platform would you use? Eg PHP, Ruby on Rails, .Net, MySQL, SQL Server, Apache, IIS etc. We know this depends on a lot of things but please just give us your first impressions.
What payment system choices would you initially recommend?
Please explain your choices above. We would like to get an idea of your preferred technologies and your expertise with them.


If we were implementing a system such as the one described we would use Ruby on Rails on Engine Yard managed Amazon EC2 infrastructure (Linux, MySQL). Rails is a natural, proven, scalable choice for this sort of application that would enable rapid test driven development with strong security, strong standards, and manageable...

Frequently Asked Questions 7

0

Posted by Lawrence Sinclair on 20 Nov 2009 at 23:00

Will all the development take place in-house or would you outsource as well?


We do all development in-house.