How We Work

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 19 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:

The Art & Logic Software Development Process

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 tendency that most programmers have 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:

  • Project Management
  • Testing
  • Bug Fixing

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 those. If you are not committed to a particular technology, we will make a recommendation depending on 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 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 connected into the same workgroup collaboration system that all our developers use. This system provides real-time messaging, chatting, document-sharing, and many other features. In effect, you'll be "on site" everyday at our "office." That said, we are very aware of the value of face-to-face communication, and projects often begin with an onsite kickoff meeting.

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 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:

  • Each of our clients has a dedicated conference area on our workgroup server. In this conference you will have electronic communication with members of the project team, including messages, shared documents, text chatting, etc.
  • Work-in-progress is released at least once a week, so that there's very little chance of a project veering off in an incorrect direction. Each release is accompanied by detailed release notes explaining what has been added since the previous release and pointing out areas of the software that require immediate testing.
  • We use a web-based defect and change tracking system. Each project has its own secure area. You will be able to add items, change the status of items, set their priority, track their progress, etc.
  • If you'd like, we can post a weekly status report. This would be a summary report in addition, not instead of, all the other kinds of communication. It may be useful for reflecting project status up to higher levels of your organization.
  • The project's project manager is available during all normal work hours by phone. Feel free to call him or her. Likewise, the project manager will not hesitate to call you if they need immediate clarification of any issues.
  • If you would like, we can set up a weekly conference call with you and other members of your team. We have a conference call service that you can dial into for free.

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 develoment 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 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.

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 more.

Contact Us / Become a Client

The best way to begin a conversation with us is through the form below. The information you provide will help us to have the most appropriate person contact you. Generally we are able to respond to inquiries within 24 hours.

1. Your Info




2. Your Company




3. Your Project