One of the principals of BSM Development was entirly responsible for the design of two commercially successful software products (see our turnkey product development page). From this experience, we have evolved proven software development methodologies and have project management know-how that can be applied to your software projects to deliver your product ideas to your customer. Should you wish to take advantage of our design and software delivery skills, please contact BSM Development and describe your design goals, along with your contact information.

The first step in the design of any product (software is no exception) is requirements gathering. The enumeration of all of the things that a product is required to "do" defines it. BSM Development can bring the full weight of its long software design and development experience to bear on this phase of a project, to ensure that all relevant requirements are included. We know what good software should look like and can guide the design so that it meets this all-important criteria.

Once the product requirements are listed, it is time for feature determination or, in other words, deciding what functionality to include in the product to meet the design requirements. If the design requirements are somewhat vague, it is here that we help you flesh out the product into real, implementable functions. At this critical step, our experience can be used to decide which features are really necessary and which are just window dressing. Too much window dressing in a new product can doom it to failure (by running out of funding) before the product is ever delivered.

A common problem with neophyte designers is that they tend to put far too many features into their first systems (see the "The Second-System Effect" in the classic work on this subject, The Mythical Man-Month). Only an experienced system designer can produce a design that, to paraphrase Einstein, is as simple as possible but no simpler, walking the fine line between putting in everything that is necessary but not embelishing for no reason, nor leaving out anything that is of paramount importance.

Another critical component of successful product design is architecture. A product that is to be accepted by its users must take human factors into consideration and be intuitive and easy to use. Above all, it should never violate the principal of least astonishment. Furthermore, to continue to be used by those who adopt it, it must be robust and exhibit good performance.

Lastly, to be a product that its creators and maintainers can live with, it must be understandable and maintainable while to be one that can continue to sell year after year rather than becoming quickly obsolete, it must have expandability. All of these requirements are met during the architecture stage when the overall design of the product, including its modularity, is laid out. Once again, the experienced architects at BSM Development can meet these requirements for you.

Communication of the design and implementation plans to the software engineers who will build the product, marketing and sales people is the responsibility of the design documentation. BSM Development has produced copious quantities of such documentation for our past projects and all concerned have found it clear, concise and extremely to the point. We can supply similarly useful design documentation for any project which we design for you. We will also be delighted to provide summary or overview documentation for education purposes or work with your marketing communications department to create product literature and collateral.