Custom Software

Overview

Are your  information systems working for you or against you?  At NexLAN, we're the team that makes technology work for you!  To make that happen, your applications must work the way your business works.  We were founded to bring highly skilled and experienced programming expertise to bear on the solutions to your business problems, and as a Microsoft Certified Partner we enjoy an inside-track to the company that wrote the software your applications depend on.


Steps to Success

The first step of any successful custom software development effort is a Detailed Requirements Specification.  Only by completely defining what the application needs to do can you be assured of receiving an accurate cost estimate for it's development and have the final product meet your needs.  If you have a complete Requirements Specification, we're happy to write an implementation proposal at no cost or obligation to you.  If you only have a rough idea of what your requirements are, then we're happy to assist in the development of the Requirements Specification, which you can then use to shop for multiple implementation proposals.  A major advantage to having a software development organization like NexLAN involved in writing the Requirements Specification is that we know the things that need to be defined (such as performance, security, etc. that are often overlooked) and we can bring our development experience to bear on making functionality recommendations that you might not have even considered or even known were possible!

You won't hear many custom software development organizations say this, but the second step is a survey of the already available commercial applications.  Simply put, why re-invent the wheel?  We're familiar with the existing software for many vertical markets and if an application that meets your needs is available at a defined cost and with a greatly reduced implementation timeframe then we'll gladly recommend it.  Remember, the goal is solve your business problem and that doesn't necessarily have to require an application developed from scratch.  Also, we specialize in applications for which the source is available.  An often-overlooked option is the use of a source-available commercial application which can then be slightly modified - at a price much less than a complete custom development.

The third step is the development of a proposal to implement a solution which meets the requirements specification.  Under most circumstances, preparation of the proposal costs you nothing!  If you have a solid requirements specification you can shop it around to multiple custom development companies and they'll all happily design and bid in the hopes of winning the project.  The proposal should detail how it meets every issue of the requirements specification - along with the cost and schedule for doing so.  A well developed proposal will also include the short resumes of the people to work on the project and other terms and conditions such as the payment schedule, penalties for non-performance, confidentiality agreements, etc.  It's also a good idea to see prior work done by the developing company and ask for letters of reference from their prior clients.

For small projects of less than 100 hours, you're often ready to begin development immediately after acceptance of the proposal.  But for most projects step four is the detailed design and, for really large projects, development of a test plan to ensure the requirements are met by the final product.  The time and cost for detailed design and test planning should be included in the proposal; but for such sizable efforts, new requirements are sometimes discovered and revisions made to the proposal during detailed design.

We're finally ready for the "programming work" in step five: the development, customization, and installation of the application/modification per the proposal.  This would seem to be simple after all the work that's gone before - and it is!  As long as the requirements specification was complete and the proposal addressed it completely and accurately, then the actual work will proceed smoothly.  So why is this step so often fraught with problems and misunderstanding?  Besides the obvious answers that the requirements specification and/or proposal weren't complete and accurate, the most common issues are changes in scope and lack of interaction between developer and client.

Changes in scope are very common, and are genuinely to be expected as the requirements specification is a snapshot of what was needed at a particular time.  As the business changes and evolves, the requirements to manage it are going change and they rarely become less complex!  The key to managing change is to update the requirements specification, then update the proposal schedule and costs before just blindly modifying the work in process to meet undocumented new requirements.

There is no excuse for lack of interaction between developer and client, yet it happens all too often.  Without regular project status reviews the client is unaware of progress being made (or the lack thereof) and is often blind-sided later by changes in the schedule or costs of which they were unaware.  The developer, by not reviewing work-in-process, is often unaware of changes that have taken place in the business which should require a change in the requirements specification, proposal and work-in-process - all effort is then misdirected effort.

There you have it: the Steps to Success for any custom software development.  Do all the tasks required leading up to the actual programming effort, plan to address changes in scope and hold regular status reviews and reap the rewards of software that works the way you do!


Services Provided

  • Requirements and Business Analysis
  • Preparation of Requirements Specifications
  • Custom software development for Microsoft Windows, Microsoft PocketPC and the Palm computing platform
  • Active-data website design, implementation and hosting - including streaming audio/video and E-commerce solutions

 

a b c


 

Legal Disclaimer
Copyright © 1998-2008 NexLAN, LLC.