With increasingly short time-to-launch windows, market forces can be quite unforgiving when you build the wrong product. Draw upon our extensive experience with requirements and systems engineering, and nFocal can guide your development program in the right direction.
Product development is best approached from a user point of view. Use cases are techniques that capture your product’s behavior or services from an external point of view. The focus of use case analysis is to define how your product interacts with others – other people, other systems, and other peripherals. Use cases can be reviewed by product management teams long before any software is written or any hardware is designed. Use cases are also a primary input into the development of test cases for your product. Our long and successful history in the application of these techniques, based upon nFocal’s proven use case templates, yields predictable a development schedule for our clients.
While use case techniques can be the primary factor in defining a product, not every requirement can be expressed in a use case. Typically product designs must work within a minefield of constraints. Backwards compatibility, programming language considerations, performance metrics, support for existing networking protocols, and internationalization are best expressed as functional or non-functional requirements. nFocal has extensive experience with standard requirements gathering and analysis, requirements management tools, and requirements-based testing.
There are many factors in successfully defining a product. Sometimes these factors are only well understood after an in-depth analysis has been performed. With our relentless focus upon defining use cases and requirements, we often find that these types of analyses are necessary to ensure that the right product is possible to build. Can the hardware and software keep up with the network traffic or processing load? How long will it take for the product to boot? What compression algorithm must be used to allow the product to hold 1000 images? Once these constraints are understood, they can be fed into the requirements gathering effort.