How a Portal Factory Simplifies Development, Page 2
Portal Design Time Environment Roles
The Portal Developer is responsible for creating front-end assets in the common services layer of the portal onion. These reusable front end assets include the security aspects of the portal applications, the content management and search integration, analytics, and other common services needed for consumer, partner, and employee websites.
The Portlet Developer is responsible for creating front-end assets in the portlet catalog layer of the portal onion including sales, service, billing, document viewer, work list, and content portlets. These portlets rely on the common services created by the Portal Developer and are created according to the architecture defined by the Portal Architect.
The User Experience Designer defines the content and creative design aspects of the portal, as well as the overall information architecture including the branding, look and feel, navigation, and layouts. These elements are part of the common services part of the onion, but manifest themselves in the user experience layer or skin of the onion.
Portal Run Time Environment Roles
The Portal Administrator's job is to configure portal assets into the desired user experience as determined by the User Experience Designer. In some portal implementations, for example iGoogle, the end user may actually perform this role by configuring their own user experience.
The Content Manager is responsible for creating and publishing the portal content. This is usually the most dynamic part of a website. As such, the Content Manager plays a critical role in the relevance and value of the website. As with the Portal Administrator, the end user also may perform this role to some extent; for example, the content in an Amazon product review is created by a customer, not an employee.
The Configuration Manager deploys portal assets across the testing and production environments. It is important for the Configuration Manager to ensure the quality of assets through a consistent deployment and change processes.
Finally, the Channel Manager's job is to monitor the user experience through web site analytics, and to influence the evolution of the user experience to meet user needs. To complete the circle, the Channel Manager provides key input to the User Experience Owner.
The Second P: The Process
The second P in a software factory is the consistent set of processes used to define, create, assemble, test, and maintain applications. Examine the Portal Governance, Software Development Lifecycle, Content Management Lifecycle, and User Experience Lifecycle processes within the portal factory.
Portal Governance is the process that guides the evolution of the portal over time. If you try to make the website everything to everyone, it will become difficult to use and inconsistent. Without a strong governance process and leadership, the website will devolve and end user productivity and satisfaction will diminish. The User Experience Owner and Portal Architect play important roles in the governance process by guiding what new features will be added and how they will be implemented.
The Software Development Lifecycle, or SDLC, is the process by which portal assets and applications are created, assembled, tested, and deployed. The development of new assets begins with governance approval.
Agile or waterfall methods may be used to create these assets. With a factory, it is not as important which process is used, but that a consistent process is followed. However, an agile process that delivers incremental functionality in weeks versus a waterfall process that delivers in months would be preferred to better respond to end user needs in an incremental fashion.
The Portal Developer, Portlet Developer, User Experience Designer, Portal Administrator, and Configuration Manager play key roles in the SDLC as assets are designed, built, and tested in the design time environment, and then configured and deployed in the run time environment.
The process by which content is authored, reviewed, approved, and published to the website is the Content Management Lifecycle, or CMLC. Whereas the SDLC may work in weeks or months, the CMLC needs to work in minutes or hours if needed. The Content Manager plays the primary role in supporting this process. The Portal Architect, Portal Developer, and Configuration Manager are responsible for the underlying content management architecture and environment supporting this lifecycle.
The User Experience Lifecycle, or UXLC, is no less important than the Portal Governance, Software Development, and Content Management Lifecycle. In fact, it intersects with all of these factory processes. Arguably, it is the most important process because the application, after all, is being created to meet certain end user goals and expectations.
The UXLC collects user feedback on a regular and consistent basis. This is a key input into the Governance process and assists with decision making. Usability testing is a component of the SDLC that ensures the defined end user goals are met by the software developed. Finally, the content being delivered in the CMLC is prioritized to meet the end user needs and expectations. The User Experience Designer and Channel Manager are the primary roles that support the UXLC.
The Third P: The Platform
The third P of the portal factory is the platform upon which assets are designed, created, assembled, and run. The portal factory platform encompasses both the design time and runtime tools and environments needed to support the factory people and processes.
The design time of the portal factory provides the tools and environments needed to support the Software Development and Content Management Lifecycle processes. Elements in the design time factory include: integrated development environment (IDE), configuration management tools, and testing environments. The front end assets to be reused and assembled into applications are an important part of the design time factory. These assets reside in the common services and portlet catalog layers of the onion.
The runtime environment of the portal factory provides the environment needed to meet the performance, availability, and scalability needs of the portal applications deployed to various user groups. This is another area where the factory provides efficiencies by creating a consistent runtime infrastructure that can be reused by many B2B, B2C, and B2E applications.