How we work with you

Coding is not the hard part. Knowing what to code is the hard part. That’s why we have an established, rigorous methodology for identifying your needs and making sure that the development process addresses those needs exactly. Our careful attention to process also supports our ability to deliver on time and within your budget.

Assessment

The goal of assessment is to figure out what you want. Simple as that.

We start by asking, “What do you need to do?” We catalog, describe, and specify the goals for your system. Discovering the basic objectives for a system is often based on existing documents (RFPs, perhaps), interviews with users, and in-depth research of best-practices. We’ll break abstract goals into distinct features, grouped into feature areas. We’ll look at your preferences for how the features should behave, and make recommendations where you have no preferences.

We’ll also take your existing systems into account (even if they’re pen and paper!); learning from your established practices in order to improve upon them and to minimize training costs by making our improvements non-intrusive. We’ll specify integration features where your new system will need to interact with the old.

Finally, we’ll work with you to prioritize our findings. We would rather give you a simple, working system today — than a complex system someday. This prioritization is central to finding a balance between the calendar and the available resources.

Proposal

Following our assessment, we’ll synthesize our findings into a plan of action. Depending on the level of detail of the assessment, the proposal can be a quick birds-eye-view of how to approach your project, or an in-depth architecture design and implementation strategy. In the latter case, we’ll provide you with exhaustive documentation of our findings and any blueprints we’ve generated for planning your project.

Development

At Beezwax, we create a custom development process that suits your needs. Many shops advertise “agile” or “XP” methodology—but we’ve found that these process models don’t suit every project and client. We certainly do tend to practice agile development, but we adapt our way of working to match how you work.

Regardless of the development process model chosen for your project, we prioritize rapid delivery of flexible, solid, and useful software. On larger projects, we’ll deliver the project incrementally over several “iterations”; each iteration resulting in software that’s immediately useful.

Delivery

Depending on the development process model your project uses, there may be several deliveries over several iterations, or one delivery. Regardless of their quantity, each delivery consists of a package of the work product, your acceptance of our work, and a managed transition to maintenance of the delivered product. In this phase, we’ll also provide you and your staff with documentation and training necessary to work with the product.

Maintenance

Once your project has been finished, we’ll arrange to have the day-to-day administration taken care of. Sometimes that means training your staff in administrative tasks, training a third-party, or creating a Service Level Agreement that guarantees dependability and availability of your mission-critical systems. Our maintenance plans cover everything from the mundane and expected, to fire, flood, and doomsday scenarios.

What’s Next?

Use our contact form to get in touch.