DESIGN METHODOLOGIES
There are two basic methodologies used in product development. They are the Waterfall Method, generally applied to traditional hardware development, and the Agile method, most commonly applied to software development.
The term Waterfall Development describes a sequential process wherein the requirements for each step in the process must be met before moving on to the next step. Some variations include; Spiral & V-Model.
The process generally consists of five major steps;
The process relies heavily on the ability to fully define the product requirements up front. The Waterfall method is best applied to Hardware development, and some software development, wherein the product requirements are clearly understood at the start of the project.
The term Agile Software Development describes a number of development methodologies based on iterative and incremental development, also referred to as Lightweight Development. It encompasses such terms as;
Unlike the Waterfall method, the process does not try to fully define the project up front. Rather, the product is developed in increments with each new iteration building on what has been developed and learned in the previous iteration.
The method was developed primarily for use in software development, with the focus of getting working software into the user’s hands for evaluation, as quickly as possible. The user’s input then determines what changes and additions to include in the next iteration.
The Agile method is best suited for User Interfaces and emerging technologies, where the overall requirements cannot be fully defined up front, but rather will emerge as the development proceeds.
The term Waterfall Development describes a sequential process wherein the requirements for each step in the process must be met before moving on to the next step. Some variations include; Spiral & V-Model.
The process generally consists of five major steps;
- Requirements
- Design
- Implementation
- Verification
- Maintenance.
The process relies heavily on the ability to fully define the product requirements up front. The Waterfall method is best applied to Hardware development, and some software development, wherein the product requirements are clearly understood at the start of the project.
The term Agile Software Development describes a number of development methodologies based on iterative and incremental development, also referred to as Lightweight Development. It encompasses such terms as;
- Rapid Application Development (RAD)
- Rational Unified Process (RUP)
- Extreme Programming (XP)
- Lean
- Scrum
- Test-driven development (TDD).
Unlike the Waterfall method, the process does not try to fully define the project up front. Rather, the product is developed in increments with each new iteration building on what has been developed and learned in the previous iteration.
The method was developed primarily for use in software development, with the focus of getting working software into the user’s hands for evaluation, as quickly as possible. The user’s input then determines what changes and additions to include in the next iteration.
The Agile method is best suited for User Interfaces and emerging technologies, where the overall requirements cannot be fully defined up front, but rather will emerge as the development proceeds.
Search the web under Product Development or Project Management and you will find all kinds of articles and companies providing methodologies and products to assist with your product development needs. Much of the information focuses on systems and processes which are simply not practical to implement in a Small Business Model. Most of the organizations offering these services tell you little about the processes they promote, and simply want to sell you their service. So, what do you really need to know to successfully develop a product or service on a Small Business budget?
In short, the development process consists of the following steps:
Easy isn't it? So how come so many companies, large and small, run into problems such as poor customer acceptance, cost overruns, project delays, and the like?
In short, the development process consists of the following steps:
- Define the product - This is without a doubt, the most critical step, and the one most businesses do the poorest job on. There is no question that putting the time and effort into properly defining he product up front saves that time and effort many fold in the back end. Product definition is broken down into two aspects, Product Requirements, what the product is required to do, and Product Specifications, how the product will do it. By maintaining a clear separation between the two documents, you can ensure that the customer's requirements are understood, while maintaining the most flexibility at the engineering level.
- Engineer the product - While the Product Specification details how the requirements are to be met, it does not in and of itself provide all the design details. . The Product Specification is used to develop a number of Detailed Design Documents, which as the name implies, specify the details of the design. Detailed Design Documents may include any or all of the following; Text Documents, Drawings, Schematics, Logic Diagrams, to name a few, and may drive down into more detailed designs, while in other cases they will be used to generate parts and pieces, or define processes.
- Test the product - Testing the product is the process of verifying that it does in fact meet the Product Requirements. There should be a test to verify each requirement. Testing must be repeatable and provide objective evidence of the results of the testing.
- Manufacture the product - To ensure a cost effective effort, the manufacturing process, like the product, needs to be designed. By developing a Manufacturing Requirements Document that details the manufacturing process step by step, identifies jig, fixture, and testing requirements, we can ensure a quality product at a competitive price.
- Service the product - One area often overlooked is the what happens after the product is sold. Will your product required Technical Support or a Help Desk? How will you handle returns and defective product?
Easy isn't it? So how come so many companies, large and small, run into problems such as poor customer acceptance, cost overruns, project delays, and the like?
