At Red Maple Media we develop high quality software, using an Agile and Iterarive approach.
Here's an example of how we often proceed:
First, we learn about your business requirements and brainstorm ideas. A good website or computer program will perform tasks that solves your business needs. We take a look at the software that is currently available for the task you want to perform, and see if there are ways we can leverage existin code libraries or frameworks. If not, we can build you a custom program, but we always leverage open source code libraries if we can, as it will save you time and money.
Second, we write a design document. This document will outline the features and what you intend to achieve with the project. Referring to the design document during the development process will help keep your project on track and focused. We then prioritize all the design and function elements, so that we know exactly which pieces must come first, and what needs to be included in the first version of your product. The idea, is that we are going to launch a "minimum viable product" that includes critical functionality, so that we can get business results and feedback early on.
Third, we create a prototype. This is a basic program that shows off the functionality that you're aiming to achieve. A prototype is a quick program, and should be iterated on until you find a design that works. For example, if you are creating a calendar program, your prototype would be a basic calendar (with correct dates!) and a way to add events to it. Your prototype will change often during the development cycle as you come up with new ways to tackle problems or think of an idea later that you want to incorporate. The prototype doesn't have to be pretty. In fact, art and design should be one of the last things you focus on. Using the calendar example again, your prototype should most likely just be text.
Fourth, we confirm the prototype works as required, and turn the prototype into a working product by adding the necessary design changes, and adding any other functional components that are required.
Contact us to learn more about our Agile and Iterative software development process, and related services.