Get Started

  • Sign an NDA
  • Tell Rob about your project
  • Get a free estimate 
     

Get Started Now

 

Bookmark and Share

 

 

Valid XHTML 1.0 Transitional

Overview

4D: How We Work

That diagram doesn't look too inviting, does it? Fortunately, you don't really need to understand it. But you should know that we are using some organized method to create your software application. In fact, our methodology, called "4D", breaks every project into 4 stages. They are Define, Design, Develop and Deploy. Click here for a larger view. 

About Our 4D Methodology 

I've been building custom software for 20 years, so I've got some pretty strong feelings about how to do it correctly. After all, that's a long time to do anything. Just ask my wife, Yoly (we've been married the entire time). In that time, I've seen and tried a lot of software methodologies, taking the best ideas, or at least those that worked for us. The result is the 4D Methodology, which pretty much keeps us out of trouble most of the time. 4D stands for Define, Design, Develop and Deploy. By the way, if you happen to run into our methodology in your travels around the web - yeah, we were ripped off. But while anyone can talk about our methodology (and post it on their website), few actually follow it. We do, and I'd like to discuss it briefly with you below. But first, a picture is in order...

Note: Are you the type of person that likes details? I have a really nice handout I'd be happy to share with you once you become a client. But it has been known to be headache inducing. You've been warned. 

Okay, so what is this mystical 4D Methodology? The picture looks nice, but what exactly is it? Let's step back a minute and define what a software methodology actually is. From Wikipedia...

A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system.

In a nutshell, when you follow a proven software methodology, you are no longer winging it. Now that's not to say following a software methodology guarantees success. In the wrong hands, it won't make a bit of difference. Furthermore, even the most talented software professionals can find themselves knee deep if they don't have a plan. So you need both, really.

Okay, let's briefly review our 4D Methodology.


Define

Before you try to design and create your custom software application, you really need to define the basic nature of your project. It makes no sense to rush out designing the perfect solution before you've even defined the problem. Otherwise, how do you know we've even satisfied your requirements?  Just as importantly, how would you measure the success of the project? You can't. So we make our first objective defining exactly what it is you need to do, and setting up a plan to accomplish it. Specifically, we focus on the following activities during this stage:

  • Planning/Discovery
  • Project Planning
  • Requirements Definition
  • Conceptual System Design


Design

Now that have a better idea about what we need to do, we summon the great software gods (or look at how we accomplished similar projects in the past) and formulate an appropriate solution. Now you might be thinking..."great, I'm off the hook now". Sorry, you aren't getting off that easy. We work with you and/or your team to craft the best solution. It's a team effort. We use neat prototyping tools like Serena Composer, and a host of other aids, to make sure we are all on the same page. Our goal is to build the right solution, not cover our butts with complex technical docs you sign off on. So what are we doing during the design stage? Here's a brief list:

  • Prototyping
  • Functional Design
  • Technical Design
  • System Architecture
  • Training Plan
  • Test Plan


Develop

One clarification before we dive into this stage. Software development is a highly iterative process. This isn't a waterfall approach. It is common for parts of an application to go through the 4D's several times, until we get it exactly right. For example, we might discover that a billing module doesn't work exactly as intended while in the develop stage. This would cause us to clarify the requirements (define stage) and revisit the design, before making the required coding changes. Bottom line: it's a dynamic process. Don't let the linear structure of our methodology fool you.

The develop stage is usually the most time consuming. During this stage we are involved with activities pertaining the assembly, testing and documentation of your new software. Other activities that we perform during this stage include:

  • Application Coding
  • Testing/Quality Assurance
  • User Documentation
  • Program Documentation
  • Change Management


Deploy

In the unlikely event that you've actually made it this far, congratulations. I'm impressed! So what is the deploy stage all about, anyway? After all, don't we just send you the code on CD, and wish you good luck? In a word, no. The deployment of your software is possibly the most important aspect of the whole process. After all, in many respects, this is when the project really begins.  Your people are using it, and that means it better be installed, configured, and performing up to snuff. What exactly do we do during this final stage?

  • Hardware/Software Installation
  • Data Conversion
  • User Training
  • Support Training
  • Post Implementation Review

I hope you found this summary of our 4D Methodology informative.  If, however, you are the type of person that wants more details, click any of the links below (or on the left).

Follow the links for a complete explanation of each step of our software methodology.

  • Call me on my direct line to discuss your software project. It's 1.800.984.6977 Ext. 708.