What Are Software Product Deliverables?

A software product is created taking into account various factors and aspects of human life. It is not just a perfect code written by a developer. Everything is much more complicated.

The software development procedure requires the common efforts of certain specialists who fulfill particular tasks using the appropriate tools and methodologies. The creating process starts with the analysis of customer’s needs and desires. The future product should be required by the end users.

What Helps to Form the Customer’s Requirements?

  • The specific teams gather the necessary information conducting surveys.
  • The specialists analyze the feedback from the other software products of the same field.
  • The information of competitive products is collected and examined.
  • The facts in magazines and newspapers are reviewed.
  • Focus groups may be involved to get the needed information.

After examining the data, the specifications are created. These documents contain the requirements to product system, features, design, etc. The whole further work is based on a set of specifications. The development process is rather complicated, so it should be scheduled in order to avoid the mass. The schedule shows the work done, the tasks which will be fulfilled soon, the time needed for performing the particular assignment, etc.

One may think that a developer simply sits and writes a code as he desires. It is not really so. Before beginning to create a code, a specialist writes a set of specific documents which will help to design and organize the code.

What Are Software Design Documents?

  • Architecture represents the general code design, its elements and the peculiarities of their interaction.
  • Data Flow Diagram shows the data movement through the program.
  • State Transition Diagram demonstrates the software states, their transition, the factors and means for state changing.
  • Flowchart represents the system logic.
  • Commented Code helps to improve the code quality and simplify it. The code is reviewed by several other developers to evaluate it objectively.

When the code is ready, it should be checked by the software testers. They are looking for various errors and mismatches in product system and design by performing various testing types (e.g. unit testing, integration control, functional testing, etc.). Software testing, mobile checking or web application testing requires the creation of several documents.

What Documents Are Used by Testers?

  • Test Plan defines the checking method that will be applied. It checks whether the product meets the requirement specification.
  • Test Case is a detailed description of the testing procedure.
  • Bug Report is created after a test case has been run. It contains the results of checking the system element or feature.
  • Metrics, statistics and summary demonstrate the testing progress.

Software testing company provides a set of services to check the software product quality.

Manufacturing Accounting Software

Manufacturing accounting software, as the name suggests, is used by manufacturing industries for their accounting purposes. There are literally hundreds of players in the market plugging their manufacturing accounting software. It is really a daunting task indeed to choose the right kind of manufacturing accounting software from the maze of products available.

Choosing the right kind of manufacturing accounting software depends to a large extent on the size of your business. The software must be of the right size; it should not contain more or fewer features than what you actually need. You should also check with the vendors about their ability to fix bugs as and when needed. Another thing to look out while going in for manufacturing accounting software is that you should be able to upgrade the software in future, if required.

Before buying manufacturing accounting software, organizations should do a thorough analysis of their business needs and processes and how the software would fit into their scheme of things. Since there are myriad features in manufacturing accounting software, people with domain knowledge of accounts should examine every aspect of their own company?s business operations, in order to select the right kind of manufacturing accounting software.

Leading manufacturing firms prepare a need analysis and flowchart of each task to understand their business needs better. Once the analysis is done, the task of choosing the right software becomes that much easier. Another important thing is the pricing issue. Now again, the price you are willing to shell out for a manufacturing accounting software depends on the kind of features you are looking for in a package. Once you have decided on your budget and your specific requirements, you can call the vendor’s representative to give you a comprehensive demo of the product, before making the final purchase decision.

Computer Software & Business Method Patents In India

India, like European Union, does not allow patents for inventions related to mathematical or business method or computer programme “per se” or algorithms. The relevant provision under the Indian Patents Act reads as under:

CHAPTER II
INVENTIONS NOT PATENTABLE

3. What are not inventions.- the following are not inventions within the meaning of this act,–
(k) a mathematical or business method or computer programme per se or algorithms;
The Section makes it amply clear that algorithms are not patentable in India. Though as per the Indian Patent Act, mathematical method, business method or computer programme per se are not allowed. The draft patent manual defines how inventions pertaining to above should be handled by the Indian Examiners and lays down parameters under which such inventions shall be patentable in India.

The proposed patent manual defines computer implemented invention as any invention the performance of which involves the use of computer, computer network or other programmable apparatus, or an invention one or more features which are realized wholly or partially by means of a computer programme/ programmes. Further, patent manual defines Computer programmes as a set of instructions for controlling a sequence of operations of a data processing system which closely resembles a mathematical method. Computer programme may be expressed in various forms e.g., a series of verbal statements, a flowchart, an algorithm, or other coded form and maybe presented in a form suitable for direct entry into a particular computer, or may require transcription into a different format (computer language). It may merely be written on paper or recorded on some machine readable medium such as magnetic tape or disc or optically scanned record, or it maybe permanently recorded in a control store forming part of a computer.

Though proposed patent manual emphasises on disclosure of mode of operation for inventions involving apparatus and necessary sequence of steps for process related invention, yet it lays down categorically that a hardware implementation performing a novel function is not patentable if that particular hardware system is known or is obvious irrespective of the function performed. It manifests that for such kind of invention insertion of method steps in apparatus or some dependency shall be required to make them non-obvious.

The patent manual has also broadly categorised inventions related to computer/ computer programmes as below:

(a) Method/process;
(b) Apparatus/system; and
(c) Computer program product

METHOD/PROCESS:

Further to make the invention patentable in India, the method claim should clearly define the steps involved in carrying out the invention and should have a technical character. In other words, it should solve a technical problem. The claims should incorporate the details regarding the mode of the implementation of the invention via. hardware or software, for better clarity. The claim orienting towards a “process/method” should contain a hardware or machine limitation. Technical applicability of the software claimed as a process or method claim, is required to be defined in relation with the particular hardware components. Thus, the “software per se” is differentiated from the software having its technical application in the industry. Therefore, as per the patent manual, a claim directed to a technical process which process is carried out under the control of a programme (whether by means of hardware or software), cannot be regarded as relating to a computer programme as such.

An example is also cited in the proposed patent manual on what kind of claims shall be allowable.

“a method for processing seismic data, comprising the steps of collecting the time varying seismic detector output signals for a plurality of seismic sensors placed in a cable.”

“Here the signals are collected from a definite recited structure and hence allowable.”

What is significant here is that patent office is not emphasising on embedment of hardware components in the method claims, as the only condition for patentability of method claims, but requires it as a machine/hardware limitation. Therefore the essential of method claims are:

a) It should solve a technical problem;
b) It should incorporate the details regarding the mode of the implementation of the invention via. hardware or software, for better clarity; and
c) It should contain a hardware or machine limitation.

APPARATUS/SYSTEM:

As per the proposed patent manual the apparatus claim should clearly define the inventive constructional hardware features. This could act as a limitation, as ordinarily hardware or machine don’t involve novel or inventive constructional feature but are programmed to perform in a novel or inventive way. Further, it suggests that the claim for an apparatus should incorporate a “process limitation” for an apparatus, where “limitation” means defining the specific application and not the general application. As a general rule, a novel solution to a problem relating to the internal operations of a computer, although comprising a program or subroutine, will necessarily involve technological features of the computer hardware or the manner in which it operates and hence may be patentable.

An example is also cited as to what manner process limitation shall be inserted in the claim. For example, in a computer comprising means for storing signal data and a first resistor for storing data, the clause starting with “for” describes the function or process carried out by the apparatus, and form the part of “process limitation” here.

Therefore the essential of apparatus/system claims are:
a) It should clearly define the inventive constructional hardware features; and
b) It should incorporate a “process limitation” for an apparatus, where “limitation” means defining the specific application and not the general application.

COMPUTER PROGRAM PRODUCT:

A careful interpretation and analysis of the provision makes it clear that it is computer programme per se that are not allowed as they are subject matter of copyright in India. The reason for not considering the software as patentable subject matter was to avoid duality of protection available to software. But subject matter of copyright can be only their literal presentation of software which includes coding decoding or algorithm form and more precisely it is their algorithms form that the Indian Patents Act does not consider the patentable subject matter.

The proposed patent manual considers the claims relating to software programme product as nothing but computer programme per se simply expressed on a computer readable storage medium and as such are not allowable. Therefore requires something tangible to bring them out of provisions of Section 3 (K) of the Indian Patents Act i.e. embedding of hardware components.

For example, if the new feature comprises a set of instructions (programme) designed to control a known computer to cause it to perform desired operations, without special adoption or modification of its hardware or organization, then no matter whether claimed as “a computer arranged to operate etc” or as “a method of operating a computer”, etc., is not patentable and hence excluded from patentability.

It creates an ambiguity as whether a patent shall be allowed where all criteria for method or process claims as required by patent office are met. The only distinction from the previous categories could be that in present category “mode of implementation of the invention” is not mentioned in the claim, which in any case should not change the very character of the invention.

Patent manual further clarifies that the claim might stipulate that the instructions were encoded in a particular way on a particular known medium but this would not affect the issue. e.g., A program to evaluate the value of PI or to find the square root of a number are held not allowable. However, an invention consisting of hardware along with software or computer program in order to perform the function of the hardware may be considered patentable. e.g., embedded systems.

Therefore, claims must have few hardware components as an essential part of the invention and some form of interdependence should be shown between the software and hardware components. Hence, claims relating to methods utilising computer programs for its operation are patentable, as long as they do not claim computer programs itself.

Therefore the essential of computer program product claims are:

a) Must involve hardware components;
b) Computer programmes should perform function of the hardware; and
c) There should be interdependence between the software and hardware components

BUSINESS METHOD:

In history of inventions relating to business methods filed in India, major reasons for negating the invention was lack of industrial application, which is one of the major condition to qualify as an invention and consideration whether same in non-patentable being business method may be considered only if the subject is first found to be invention.

Invention is defined under Section 2(1)(j) of the Indian Patents Act, 1970 and reads as follow:-

“Invention” means a new product or process involving an inventive step and capable of industrial application.”

In Melia’s Application (BL O/153/92), where an application relating to a scheme for exchanging all or part of a prison sentence for corporal punishment was held to lack industrial applicability and also to be a method for doing business.

In John Lahiri Khan’s Application (BL O/356/06) a method for effecting introductions with a view to making friends was held not to be industrially applicable, even though it could be carried out by a commercial enterprise. It was also found to be non-patentable as a method of doing business.

“Capable of industrial application” is defined under Section 2(1)(ac) of the Indian Patents Act, 1970 and reads as follow:-

“Capable of industrial application”, in relation to an invention, means that the invention is capable of being made or used in an industry.

In re: Bernard Bilski, US Federal Court of appeal in its judgement dated October 30, 2008 upheld that business methods cannot be patented. The court observed that the sole analysis for determining whether an invention is patentable should be the “machine-or- transformation test” i.e. requiring involvement of a machine (like in case of computer program product) or transforming an article (for details refer to case law).

Though there are no specific, guidelines in proposed draft manual as to how to treat inventions pertaining to business methods, the requirements for patentability as in case of computer programmes or mathematical methods becomes of great significance and could be relied.

Therefore the business method per se may not be patentable, but its technical implication can be a subject matter of patentable invention.

MATHEMATICAL METHOD:

A mathematical method is one which is carried out on numbers and provides a result in numerical form (the mathematical method or algorithm therefore being merely an abstract concept prescribing how to operate on the numbers) and not patentable. However, its application may be patentable if performed function is technical process and claim is directed to such technical process not the mathematical method.

Reference has been made to Vicom/Computer-related invention [1987] 1 OJEPO 14 (T208/84) wherein the invention concerned a mathematical method for manipulating data representing an image, leading to an enhanced digital image. Claims to a method of digitally filtering data performed on a conventional general purpose computer were rejected, since those claims were held to define an abstract concept not distinguished from a mathematical method. However, claims to a method of image processing which used the mathematical method to operate on numbers representing an image can be allowed. The reasoning was that the image processing performed was a technical (i.e. non- excluded) process which related to technical quality of the image and that a claim directed to a technical process in which the method used does not seek protection for the mathematical method as such. Therefore the allowable claims as such went beyond a mathematical method.

Therefore anyone interested in protecting an invention in India or for any part of the world has to more careful at the time of filing basic application (priority application). The specification as well as claims should be modified in pretext of above before filing of patent application or else the description must have sufficient support for modification of the claims to include hardware components. One of the safest criteria deployed by the Examiner to find whether any hardware features are involved in the invention is to require inclusion of reference numerals for hardware components in the description as well as claims.