
For 9 years we've been building and testing cutting-edge custom Windows software solutions. Almost all of these applications have been client/server, database-centric, three tier solutions for the enterprise. Our applications run on Windows Server (all versions), Windows 2000, Windows Embedded, XP, Vista and 7.
Call +233-2644-docGh (36244) to discuss your Software solution project.
Today, web development is extremely popular, but sometimes a rich Windows application provides the optimal solution. Web-based applications have come a long way, but there are still situations when a Windows application results in the best solution. Take iTunes, for example. Apple could have developed iTunes in any technology, yet a Mac and Windows desktop application still provided the best solution. Why is that?
The Windows development tools we use allow us to build robust, mature custom windows applications. Web development tools in general are still evolving, and many still have a long way to go to catch up to their desktop counterparts. Of course, technologies such as AJAX and Flash have helped narrow that gap, but a sizable gap still remains. That's not to say that the same (or similar) functionality cannot be accomplished using web technologies - of course it can. It just takes longer, and costs more.
For example, we can build a robust, full-featured database management system with Microsoft Access in a fraction of the time it would take in .NET, PHP, or any other web development tool (except maybe Ruby). Of course, that doesn't mean every application should be developed in Microsoft Access. If you need web capabilities, it doesn't matter how productive Access is. We cannot really use it. So our goal is to find out early if a Windows application makes sense. If it does, we have the capability to create some pretty cool programs. If you need web, we can build some cool web applications too. It's all up to you.
We use a small list of Windows programming tools that are geared towards database development. Specifically, we use the following Windows development and database tools:
We've been building custom software for 9 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. We'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...

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.
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:
Now that have a better idea about what we need to do, we summon the great software gurus (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:
One clarification before we dive into this stage. Software development is a highly iterative process. This isn't awaterfall 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:
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?
I hope you found this summary of our 4D Methodology informative. If, however, you are the type of person that wants more details, we would be happy to do a further explaination with emphasis on your project.