Software development is inherently risky. You might be surprised to learn that, on an industry-wide basis, less than 50% of software projects are considered successful. We've spent the last 20 years learning how to make projects succeed. Hiring the best programmers in North America certainly helps, but it takes more than genius to consistently produce successful outcomes. When you hire Art & Logic, you'll benefit from two decades of experience on over 500 projects.
Here is how we do things at Art & Logic:
When you fill out the contact form on our website, the information is sent to our sales team. We receive inquiries throughout the day and respond as quickly as possible. During the initial conversation, we'll usually cover general information and coordinate the signing of an NDA (non-disclosure agreement). After the NDA is in place, we'll work closely with you to gain a deep understanding of your project. A salesperson will coordinate the effort and usually involve a developer with the requisite skills and experience to prepare a detailed estimate.
We use an estimation process called "Pessimistic PERT" (Program Evaluation and Review Technique). The estimator reviews project requirements and breaks the work down into tasks. He then estimates the Best Case, Worst Case, and Most Likely Case for each task. The Pessimistic PERT formula calculates an Expected Case value that is weighted more toward the worst case than the best case. This takes into consideration the fact that most programmers tend to be overly optimistic in their estimates. Hence, the name "Pessimistic PERT." We sum the expected cases of all tasks to calculate an Implementation Sub-total. We then burden that value with 3 adjustable factors:
We then turn the estimate into a range by adding a "Safety Margin" to account for project risk factors that may not be reflected in the value calculated by the PERT formula.
We charge hourly for our services. All of the work product that we produce is owned completely, royalty-free, with no strings attached, by the client once all invoices have been paid in full. This includes source code, graphics, documentation, and any other project-specific files created during the course of the project. Our standard software development services agreement is available for you to review at any time during the sales process. Clients and their attorneys often request specific changes which we are usually able to accommodate.
Our clients come to us with various levels of technology commitment. If you have corporate mandates that require that certain technologies be used, or if you have existing software that needs to be extended, we will be happy to work with your technology requirements. If you are not committed to a particular technology, we will make a recommendation driven by the requirements of your project.
We have a broad and diverse set of skills and experience, so it is highly likely that we have developers who are well qualified to work on your project. However, our goal during the sales process is to select clients with whom we can work effectively and projects on which we can excel. If we do not think we are a good fit for your needs, we'll tell you that directly and honestly.
Once you decide to work with us, we'll assemble the project team. Teams generally consist of a project manager, one or more developers (which may include the project manager), a tester, and optionally a graphic artist. We're normally able to start projects within two weeks of finalizing the business arrangements, sometimes sooner.
The project manager will be your main technical contact during the life of the project. Each client also is assigned an account manager who is your business contact during the life of all projects we do for you. This is normally the salesperson you worked with during the sales process. We find that having separate technical and business contacts provides valuable checks-and-balances.
As a client of Art & Logic, you’ll be expected to be an active member of the development team. Our developers are experts in their field of programming, but we will rely on your specific domain knowledge to augment the skills of our team.
We believe that frequent and high-quality communication is crucial for the success of your project. As a result, project status is not merely "reported" to you. You will be an integral part of the project team, constantly aware of what's going on. Here's how we do this:
We don't follow a specific off-the-shelf development methodology. The needs of the different clients and industries we serve, along with the way that we integrate with our clients' organizations preclude us from dictating exactly how the development of every project should proceed. Instead, we adapt the broad principles of agile software development and apply them in a flexible, practical manner. This means using as lightweight design and management procedures as possible, emphasizing short, frequent release cycles, and remaining responsive to changing requirements. Read our Development Practices Manifesto.
We have developed a set of conventions and practices that we apply to all source code written for client projects. The primary advantages are that an Art & Logic programmer can start work on a project without needing to come up to speed on how things are done on that project -- the code on any Art & Logic project looks and reads like Art & Logic code. If we need to add developers to a project, or when we come back to a project in a year to add new features, there's no time wasted figuring out the code. There are stories in the industry about new developers starting on a project and burning valuable time reformatting the source code into something more pleasing to them; there's none of that for us. For more information, please see our programming style guide.
We believe software should be released frequently during development and that testing is a collaborative process. Our developers and QA staff rigorously test releases before we send them to you. However, we aren't experts in the domain of your business. It is imperative that you arrange for real-world users to use the software and provide us with detailed bug reports. During the later stages of a project, when testing and bug fixing are the primary activities, we'll work closely with you to prioritize the bugs so that you can make an informed decision regarding when to release your software to the public. In some cases a limited, beta test may be preferable. In those cases Art & Logic is available to assist you with your beta test program.
After the software ships or the site is launched, you can take over maintenance of the software if you wish. Alternatively, we are happy to remain available indefinitely to make changes at your request. We will also happily scale up the team again to tackle new versions. Our business is based on long-term relationships. We are proud that we have worked with a number of clients for 10 years or longer.
Art & Logic, Inc.
2 North Lake Avenue
Pasadena, CA 91101
Over 500 companies have hired Art & Logic, including:
"We gave our first software development project to Art & Logic when our local programmer said that what we wanted couldn't be done. They not only proved him wrong, but the work that Art & Logic has done for us has been absolutely excellent."
LoanRates Online, Inc.