Web Application Development: Interactive Features and Business Operations Built with Django
With the best in open source software and lightweight development methods, we deploy ideas into action.
Every web application development project starts with strategy discussions. Here we’ll work with you to define the high level outcomes for the application. Concept development includes figuring out the best way for the application to fit into your existing business, identifying personas for who will be using the application, and generating an initial list of requirements.
In concept development we start compiling a list of requirements as stories that will guide development. We prioritize these with you and then create an estimated development schedule based on weekly cycles.
Methods and process
Our focus in development is being able to quickly and reliably build new functionality. The methods we use are best described as “agile”, but without the trademarked names or process cargo cults.
We start work on stories prioritized in concept development by writing tests (test driven development) that define the requirement and allow us to maintain the integrity of the code throughout development. Features are deployed to a staging environment which you have access to as the stories are completed. This rolling deployment and feedback process allows for faster development and a better product.
Prototyping and minimum viable products
Prototyping comes in several flavors, from nothing more than interactive wireframes to functional applications with only the most features. A common strategy that comes out of concept development is to quickly launch a minimum viable product, only what is necessary to start immediately benefiting users, and continue iterating from there.
Prototyping and developing minimum viable products are part of the development process, but may be mini-projects in and of themselves before the full budget is allocated. This is especially pertinent to projects with investor funding or organic customer funding.
The technology we use
We rely heavily on Python and the web framework for perfectionists with deadlines, Django, to build prototypes and full production web applications.
Our database of choice is the world’s most advanced open source database, PostgreSQL, and applications sing running behind the high performance webserver Nginx. Most projects are deployed on servers running Ubuntu Linux.
Once you have a live app in your hands you’re going to need to continue managing it. We’ll help you plan for that ahead of time, from technical to business decisions.
We’ll help you select a hosting provider that will let you scale, and choose the appropriate model and services to support your users and keep them happy.
In concept development we’ll work with you to plan for self-sufficiency in running your application, from application design to technical and user documentation.
We can provide continued support for monitoring, maintenance, and feature development with ad hoc and planned levels of engagement as your needs require.
Custodianship is like support in overdrive. Instead of just supporting the application, we’ll retain responsibility for developing and managing the application past project launch. This includes developing new features, maintaining the service, and providing help services for your users.
This level of engagement is not appropriate for every project, and requires a deep commitment on your part as the client.