What is a "Front-end Factory"?
The key role of a web integrator is in the “multichannel“ front-end area and to fulfil this role it requires a strong competence.
The front-end can be understood as a presentation layer according to a three-layer paradigm, as I have described earlier in my article How to apply the principles of three-tier architecture in a web integration project.
As I mention in the article (and summarize here), the presentation layer includes:
- appropriate information architecture, reflecting the objectives of the portal/solutions
- support of the user interaction in the form of inserting the necessary data and their displaying,
- interface enabling further integration in a structured format - various forms of XML outputs/feeds (RSS, RSS 2.0, Google Sitemap, etc.), Web Services (SOAP, REST) or application interface (API)
- platform or framework (angular.js, etc.) providing sufficient functionality to build solutions and the development of specific functionality,
- A tool for easy management of structure and content, bearing in mind the specifics of a concrete project: Content Management System.
- Means for ensuring sufficient performance of the whole solution, in view of the expected number of visitors.
- Security features and measures for ensuring that the project works in the internet environment.
- instruments for measuring user behaviour,
- possibly functionality in terms of SEO and other online marketing activities.
To ensure these functions the web integrator must have something I call a Front-end Factory.
Therefore, by the term Front-end Factory, I mean primarily the ability to deliver the presentation tier (the front-end) in the context of the three-tier architecture. But how could it be achieved?
- In the first place there are people (team) - quality of all stakeholders is crucial - analysts, designers, developers. They must be able to combine internal functional and non-functional requirements with the needs of the end users.
- The user must be the alpha and omega of each decision and his behaviour must fundamentally influence the shape of the final solution. Even for a solution that is not designed for a broad audience - even there the emphasis on (corporate) UX pays of in terms of business.
- Tools and technology (platforms, frameworks) - selecting the appropriate tools and technologies, with an emphasis on flexibility and speed of change. Change is something that front-end experiences "every day" (and maybe often). Tools and technologies that do not allow rapid changes are not appropriate. Both developmental and deployment cycle must be as short as possible with the ability to respond to changes on daily basis. The sentence "The next release is in three months" is not acceptable.
- Processes and management - whether something is suitable for agile (generally iterative) approach, then it is a supply of a front-end. It includes both the necessity of repeated user testing, inputs from the graphic designers, but also continuous development and improvement as well. For successful delivery, the ability to control such organism is crucial.
- Standards and quality - those cannot be forgotten. The questions of validity, accessibility, browser support and a variety of end-user devices, security, performance, but also others - all must be taken into account. Testing must be closely linked with the development and become an integral part of each iteration of delivery.
- Specifications and documentation - to indicate the need for high quality specification and documentation in IT is a cliché, but without it, it is just not possible. Software development then ceases to be an engineering activity and becomes a set of random acts where no one knows what will happen after the change. A bridge also cannot be built or repaired without a plan.
- Ability to integrate - presentation layer never lives alone - it always closely integrates into a business logic layer. In the real world it often is not fragrantly and beautifully documented API returning JSON objects like hotcakes ... The ability to integrate itself into the various and often outdated systems in the forms of "donkey bridges" is a challenge that the successful "Front-end Factory" must be able to cope with.
The ability to deliver the presentation layer (front-end) is a key competence of the web integrator and Front-end Factory is a concept that should aid to achieve this.