In years of delivering projects, we have developed a set of best practices for managing projects. Of course, every project is different, and we are flexibile to your needs.
We prefer agile, iterative processes that deliver business value as quickly as possible, but we happy to take responsibility and deliver on fixed price projects if that's what you prefer.
Don't worry if you don't have a technical background, we can take care of the details, allowing you to focus on your customers. We will work with you to define your requirements, then produce a proposal that covers everything. We guarantee that you will be satisfied with the results, or you don't have to pay.
The following table summarizes some different ways of structuring your project:
|Fixed price||Time and materials||Retainer|
|Structure||We carefully define the project features up front, then commit to delivering them for a fixed price, no matter what||We work using Agile processes, billing based on the amount of time we work||You commit to a certain amount of work, and we commit to having resources available when you need them|
|Cost||Cost is fixed. The overhead of the proposal process increases cost and time somewhat||You control how much work we do. You can manage developers directly, minimizing overhead||Lowest cost|
|Scope / Requirements||Requirements are clear and fixed. We do exactly what is in the spec||You determine what work we do. We work as much or as little as you like||Generally estimated up front, so we have a long term plan|
|Recommended for||Projects with clearly defined scope||Projects with variable or rapidly changing requirements; sophisticated customers who want to be in control||Projects with ongoing development or maintenance needs|
Effective communication is key to successful projects. We use a structured development process to capture requirements, develop the technical architecture, and track work to make sure it is done properly.
We use regular voice and chat conferences to avoid misunderstandings and keep things moving quickly. You can always talk directly with your developers.
Agile development processes focus on delivering business value as fast as possible.
You can quickly get your product to market or implement a new process in your company. You don't have to wait months to see results. You also get more control over the development process. You can add or remove features as you get new great ideas or use market feedback to direct development.
In the Scrum management process, the project owner keeps a list of desired features in order of business value. In each release cycle (typically one or two weeks), the development team takes a set of features from the list and implements them. The result of each release is a complete system that can be used immediately.
In the first iterations, the system may be quite basic, but still good enough to get feedback from early customers, raise funding, or solve your most pressing needs inside your company.
With each release, we add more features according to business priority and feedback. You can easily change direction or switch resources to other projects if your goals have been accomplished. Because the system is always in a runnable state, you can always meet deadlines like trade shows.
A set of development practices support the business goals of high velocity development, including frequent lightweight meetings, continuous integration, testing, and pair programming. We use these processes internally to ensure quality, along with a set of structured processes to capture requirements and manage development.