A product line architecture (PLA) can be defined as a set or
family or group of elements that coordinate with each other to provide a defined
product functionality. It defines not only element types, but also how they
interact, in addition to how these are mapped to the product functionality.
Additionally, product line architecture could also define a few
instances of the architectural elements. We could use this term to refer to a
set of products within an organization.
How do we
define PLA?
We can think of product line architecture (PLA) as being a draft
for creating groups or families of related applications. Product line
architecture proceeds on the premise that it is wiser for organizations to
produce sets or groups of intimately related products than to build individual
products.
Why should
organizations need to go for PLA?
Product line architectures are important for a very critical
reason: software keeps becoming obsolete and complex at a breakneck speed. This
calls for very strong effort in keeping the costs of software development and
maintenance down. With product line architecture, an organization can make good
the effort it puts into software design and development, which it can implement
across a variety of products, leading to major reduction in costs.
It is for this simple, commonsensical reason that creating
multiple products is more prudent and cost and time saving than individual
ones. This principle has some correlation to economies of scale: just as how it
makes greater sense to build a mold that manufactures more products than have
one mold for each; PLA too creates standards or frameworks on which smaller and
more diverse products can be built with lesser effort and time.
Since about four decades, the benefits of having multiple software
families are being experienced by organizations.
References:
http://www.cs.utexas.edu/ftp/predator/stja.pdf