Author Archives: krcmic.com

Stay safe online - 5 cybersecurity tips you should know

5 Cybersecurity Tips You Should Know

Do you know what cybercrime is?

Did you know that 71 % of all cyberattacks are financially motivated? The cost of cybercrime is estimated to be around 10,5 trillion dollars by 2025. Most of us cannot even imagine this amount of money. Cybersecurity is something every user with a phone or any other electronic device should know. Most people who are not very informed about cybersecurity trust their passwords consisting of their date of birth or nickname. That is a terrible mistake to make.

Cyber security is becoming increasingly important as more and more people rely on internet-connected devices, from mobile phones to computers. Cyber security protects your devices from hackers and viruses and ensures confidentiality.

Although it sounds like a fantasy, you don’t have to have any technical background to prevent your devices from being misused for criminal activity.

Cybersecurity sounds fanciful, but you don’t need an extensive technology background to prevent criminal misuse of your devices. Here are 5 simple cybersecurity tips that everyone should follow.

The importance of strong passwords

One of the most common ways hackers break into computers and other devices is by guessing their owners’ passwords. Creating a strong password can protect you from unauthorized access by cybercriminals. Hackers can get through your password within a minute if it is not strong enough.

  • Use 12 or more characters, try not to use your name, surname, or your date of birth
  • Use upper and lower case letters
  • Include some digits
  • Include a symbol
  • Another common password creation mistake is using the same password for every device or account login. Make sure you create different ones for all accounts and electronics.
  • Although it can be difficult to remember them all yourself, you can use a password management tool or an app to avoid constantly mistaking one password for another.

    Also consider using multi-step authentication, which many companies offer. This method adds an extra layer of security because you would have to enter a code in addition to the password that is sent to your email or sent to your phone.

    Keep your software up to date

    You may be impatient to finish updating the software on your phone or laptop, but it’s worth taking the time. Software updates often include new features and are designed to improve the stability and security of the software. Since viruses are constantly changing, your device’s software must also adapt to improve cybersecurity.

    When companies discover security holes, updating is an ideal way for them to prevent hackers from stealing data and other information from your devices. So the next time you’re hesitant to endure a lengthy phone or personal computer update, consider the risks of having outdated software.

    Backing up your data

    Have you ever lost a file or a photo you were working on for a few hours just because you forgot to click the save button? The same thing can happen to your data without proper backup. If your device gets infected by a virus, your hard drive crashes or gets damaged and you can suddenly lose all your data, including important documents and photos. Backing up your device can prevent such a disaster and should be done regularly.

    How can you back up your data?

  • Cloud backup
  • External hard drives
  • Flash drives
  • Backup services
  • Install and use an antivirus software

    Viruses cause problems such as slowing down your device, corrupting and deleting files, and crashing your hard drive. Antivirus software protects your device from viruses by detecting and removing them before they cause damage.

    In addition to protecting you from viruses, antivirus software can also block spam and ads which is very useful for every internet user. It can defend your device from hackers, protect your data and files, and act as protection from other cyber threats online.

    When choosing antivirus software, don’t just decide on price. You should consider the software’s email scanning capabilities, download protection, speed, malware scanning ability, device compatibility, and privacy policy to get the most for your money.

    Some of the best antivirus programs

  • Norton
  • McAfee
  • Intego
  • Avira
  • TotalA
  • Avast
  • ESET
  • AVG
  • Norton is our number one and we highly recommend it to you. Norton antivirus products offer password managers, unlimited VPN data, identity theft protection, parental controls, and even online storage. If you’re willing to pay full price, you get almost every kind of digital security you could ever need.

    Be careful when using public Wi-Fi

    Although the use of public Wi-Fi has increased in recent years, the cyber security threats associated with it are still a concern. Hackers can create their networks or use other public networks to steal information without the user knowing.

    When using public Wi-Fi, avoiding sensitive activities such as online shopping or banking is best. You should also look for a network that requires a password. In most public places, such as coffee shops or stores, people will have the password available after making a purchase or upon request from a potential customer. The public Wi-Fi usually has a very weak password, so It is easier to hack it and steal data.

    Another way to protect your device when using a public Wi-Fi network is to ensure the websites you visit are secure, use a firewall or set up a virtual private network (VPN).

    Using VPN (what is it and why to use it)

    VPN stands for Virtual Private Network, it creates a secure connection between you and the internet. It gives you an extra layer of anonymity and privacy. Using a VPN hides your real IP address and encrypts your internet connection.  The best thing about it is, that you do not have to be a technical expert to make it work.

    VPN has a lot of uses while browsing the internet, for example, it can change your online location or make your browsing history private and your activities anonymous. The only thing you need to ensure your VPN is working well is to have a well-working device.

    If you are using a VPN for the first time, here are our three tips for the best VPN

  • CyberGhost (2.29 USD/month)
  • Express VPN (6.67 USD/month)
  • Private Internet Acces PIA (2.19 USD/month)
  • Surfshark (2.49 USD/month)
  • CyberGhost is a VPN we recommend the most. It is very easy to work with, it is supported on all different platforms, and the price is acceptable too. You can also connect up to 7 devices with just one subscription.

    Facebook ads - why use them and how to avoid common mistakes

    Facebook ads – why use them and how to avoid common mistakes

    Nowadays, Facebook is one of the best platforms for publishing your ads. However, if you make too many mistakes in your ads, then Facebook itself benefits more than your company.

    In the following article, we’ll go over a few ways to maximize the effect of Facebook ads and how to avoid mistakes your ads may have.

    Why should you use Facebook for marketing?

    Facebook is an excellent platform for your marketing campaigns. But why? There are several reasons. Nearly 3 billion users currently use Facebook, and you’ll rarely meet someone who says they don’t have Facebook or rarely use it. Let’s take a look at the main benefits of using Facebook for marketing.

    Reach wide audience

    In July 2022, Facebook had 2.934 billion users. That’s significantly more than any other social media platform (YouTube, for example, has “only” 2.1 billion users). The audience you can reach on Facebook is not only large in number but also diverse in demographics.

    Regardless of who your business caters to, you should be able to find the profile of your desired audience on Facebook. Although Facebook skews toward younger users – 62% of users fall into the 18 to 34 age category – it attracts users of all generations, with 38% of users falling into the 35 to 65+ age category. Older demographics are the fastest-growing segment of Facebook users.

    Great for both B2B and B2C

    Have you heard that Facebook advertising is only for B2C businesses? Prepare to be surprised that B2B businesses can run successful campaigns on Facebook too.

    Business decision makers spend 74% more time on Facebook than other people. The B2B space is competitive, which means B2B marketers need to be nimble when using Facebook. But with the right targeting, ad format, messaging and user experience outside of Facebook on your site, there is an opportunity for success.

    Remarketing on Facebook is the least B2B marketers should consider. We often forget how anyone who is a B2B target audience doesn’t stop being one after they leave the office or are online in between work commitments. They’re still the same people. Facebook remarketing is a surefire way for them to stay in their crosshairs.

    Transparency of the audience

    While some programmatic networks offer similar audience targeting options, Facebook’s audience reach is very transparent. With the audience targeting that you choose, your business has a high level of control and transparency over your target audience.

    While other platforms automatically optimize your placements, segmenting your Facebook campaign based on these known audience clusters allows you to gain valuable insights.

    On Facebook, however, you’ll be able to see which segment(s) performed best, leading you to create hypotheses with the ability to further test and refine strategies.

    Targetting based on interests

    Facebook’s targeting capabilities go way beyond demographics. Increasingly, demographics alone are poor predictors of lifestyle or shopping needs. For example, not all millennials have high college debt or lead lifestyles that could be associated with low disposable income.

    Facebook’s targeting capabilities allow targeting by a wide range of lifestyle characteristics such as interests, life events, behaviours, or hobbies. This not only allows for more precise targeting but also aligns digital strategy with offline tactics, ensuring the same behavioural criteria are used across the marketing channel mix.

    Targeting your competitors

    Facebook doesn’t exactly let you target fans of other brands, but there are still ways to see which people like a brand. And those are the people you can include in your target audience.

    This figure is based on self-reported data and may not be up-to-date as it depends on when the user last updated their settings. Still, especially when used extensively, it can be an effective strategy for finding well-qualified users.

    By creating custom audiences of users interested in more than 20 well-known brands, thousands of users can be quickly acquired, all without paying the fees for these audience profiles that may be necessary with other channels.

    Different types of ads

    Facebook offers a wealth of options when it comes to advertising and promoting your posts. Each of these can attract new fans to your page and customers to your brand.

    As well to a large number of ads (for example, on your timeline, in videos or on Stories), you can also contribute to your regular posts. These feel casual, garner a natural response, and can help build your brand’s reputation.

    Sponsored posts are one very useful ad format. It is especially useful if you want your fans and others to interact with you. I recommend using sponsored posts if you want to alert your audience to, for example, ongoing competition for valuable prizes or services.

    Boosting a user-generated post on your feed is fantastic to attract more audience to a post that has already been successful with your fans. The chances are if your fans like it, the audience will too.

    Strong user-generated content often outperforms purpose-built ads because they are more easily identifiable than purpose-built messages. In contrast, user-generated content is organic and people are less likely to resist seeing it.

    What are the most common mistakes when making Facebook ads?

    If you don’t like to throw money out of the window, so to speak, then you’ll want your ads to make as much money as possible using as little money as possible. Poorly designed Facebook ad campaigns can take an unnecessary bite out of your allotted budget. Together, let’s go over the 8 most common mistakes that can cost you dearly.

    Testing multiple interests in one set of Facebook ads

    Has it ever happened to you that a Facebook ad produced amazing results for a few days, but stopped working soon after? Or have you created an ad that worked well without having any idea how to replicate that success? These are the types of problems you usually encounter when you’re in the process of putting information together.

    To put it in perspective, in the early stages of ad testing, many marketers who want to run a Facebook ad for a new audience spend time researching relevant interests they can use to target. They then run a set of ads with all of those interests in one set of ads.

    Using interests is a great way to find new audiences, but this approach makes it impossible to know which specific interest was most effective or to find other interests similar to the interest that brought the sale. And it makes scaling the ad impossible.

    Instead, create a list of all the interests you want to target and group the interests into several categories. Then create several ad sets and target each one to one group of interests. That way you’ll know which audiences are best, how big each audience is, and how to find other interests to test.

    Too many Facebook ads with too little budget

    Most often I encounter overly complex Facebook ad accounts: too many campaigns, too many ad sets, and too many ads. This leads to confusion, lack of efficiency, high costs and ultimately poor results.

    Merge audiences into ad sets with bigger budgets. This will allow you to provide Facebook with more data, achieve your desired CPA faster, and then scale faster. Combine the 1% lookalike of all 365 audience buyers and the lookalike of people who landed on your sales page in the last 30 days into one ad set in one combined audience – a sort of super lookalike. In the same way, place all your digital marketing people, small business owners, and Facebook page admin audience into one combined ad set.

    Once you’ve combined your best audiences into just 2-3 ad sets, it’s time to drop your top 3-6 ads into each ad set. Test new ad copy and creatives (both images and videos) with true split testing in separate campaigns.

    Focus on cost per lead over earnings per lead

    There are two main mistakes people make in Facebook advertising. The first is that they don’t test campaign elements organically before running an ad campaign. This applies to everything from the micro element of the ad to the macro elements of the sales process.

    If an organic post on your Facebook page isn’t generating any clicks, shares, or sales, amplifying the post with an ad probably won’t solve the problem. Advertising will only amplify what is already broken in your message and sales process.

    To get the data you need to make decisions, you pay in one of two ways – data like CTR, cost per link click, landing page conversion, sales conversion, earnings per lead, cost per lead, lifetime customer value, customer acquisition cost, etc. You’ll either pay to get this data (to see where your stuff is broken) quickly through ads, or you’ll pay with your time and organic posting to make your ads work from scratch.

    The mistake people make is focusing on the wrong number when evaluating Facebook ads. They focus on cost per lead rather than earnings per lead.

    Cost per lead is a finite number that can only be reduced to a certain point and is subjective to your earnings per lead. Earnings per lead are how much you make on each person that comes through your sales process.

    Setting the wrong campaign objective

    The big mistake I see is that people use Facebook ads to sell too fast. They create an ad that pushes cold audiences directly to a sales page to sell something right away.

    It’s too fast and completely inappropriate, and it violates one of the golden rules of social media advertising: you have to give before you ask.

    To generate leads, you need an intermediate step in which you provide something of value upfront. It’s the beginning of a conversation that you can use to build a relationship that you can nurture. Then, when people are ready to buy, they’re more likely to do so with you.

    This leads to the second mistake, which is choosing the wrong goal in your campaign structure. Many people looking for leads choose lead ads, engagement or click-throughs when they should choose conversions and optimize for leads.

    Running ads on Facebook with zero follow-up management

    The biggest mistake I see with Facebook advertisers is that they don’t manage campaigns after they are active. If you set up a campaign and let it run on its own, its effectiveness will decrease over time due to Facebook ad fatigue. Ad fatigue is something to avoid before you antagonize your audience. Fortunately, it is a well-mapped phenomenon that you can easily solve.

    The key to developing sustainable Facebook advertising results is to analyze your campaigns on an ongoing basis. Look at the return on ad spend and the metrics of cost, relevance, frequency and CPM, and then make adjustments to the creative and ad copy, as well as goals and targeting.

    Creating new ads instead of maintaining successful ads

    Facebook’s optimization algorithm needs at least 50 conversions per ad set per week to work. So if you have a dozen ad sets or campaigns that only have a few conversions each, you’re wasting your audience and not allowing the system to optimize.

    Related to creating too many campaigns is not continuing to put more money into your “greatest ad hits.” Many Facebook advertisers have a publisher mentality where they feel the need to create a steady stream of content – X posts per day and Y ads per day. However, you are not a newspaper that needs to have fresh news every day.

    Instead of spawning more campaigns, put more money into your proven winners. We have campaigns where winning ads have been running for years. Instead of putting tens of dollars into each new campaign, go back to the analytics and tweak the winners before they die.

    Creating ads without understanding the entire campaign setup

    Really common mistake business owners make is running ads without understanding the implications of the settings they choose in Facebook Ads Manager, or even when boosting posts. The wrong settings or choices can cause them to waste money on poor ad placement, poor optimization, or poor targeting.

    Many business owners don’t understand that the auto-placement option places their ads not only on Facebook but also on Instagram and the entire Audience Network (non-Facebook pages).

    Others optimize for Inbound Generation (which happens through a Facebook form) when they want Conversions (which happen on their website), or choose Brand Awareness when they’re all about Traffic.

    Facebook ads work for a wide range of businesses. Successful results are usually a matter of proper testing and the right ad setup. If you’re not familiar with setting up Facebook ads, investing in training for you or someone on your team will help you avoid wasting money or concluding that Facebook ads don’t work.

    Excessive reliance on automatic ad placement on Facebook

    Selecting automatic placement for Facebook ads is easy, can speed up ad creation, and can prevent you from selecting the wrong ad placement, such as selecting a video placement even if there is no video in the ad. Yet ad placement directly affects the cost and performance of ad sets and campaigns.

    On the other pole, Instagram placements are usually more expensive, but if your audience is on Instagram and you can connect with them through these ads, your spending on this platform can pay off.

    The key to making sure your placements aren’t wasted resources is to think carefully about what you want from your ads and which placements will deliver that result. Think about the strategy behind your ads before you accept the default setting.

    Good strategies to ensure the reach of Facebook ads

    I mentioned above that Facebook offers a large number of post types that can be used to promote your page or company. In my opinion, great advertising vehicles are those that don’t feel forced at first glance. Let’s take a look at them a bit more closely.

    • Polls. Facebook allows you to respond to a post in a few simple ways. The days when there was only Like are long gone. Polls are great in that they are simple and don’t require too much time on the user’s part. Apple or pear? Red dress or blue? Which football club will win the Champions League? Another great thing about polls is that people like to be heard and like to “argue” with each other in the comments. Both the responses and the comments then help your posts to be seen.
    • Viral videos. We live in a time that is characterised by its speed. The social network TikTok, for example, has played no small part in popularising this trend. Have you ever watched a funny video, only to find out after a while that you were actually watching an ad? Try advertising your product non-violently, in a way that gets the audience’s attention first, and then their interest in the product.
    • Spare the text. For image ads and posts, it’s better to let the image do the talking. Try to make the text that accompanies the image as concise as possible. But also don’t write too much text in the image, this can also put off the audience. Try to think of the most concise ways to say what you have to say.
    • Carousels. In addition to a post with one photo, Facebook also allows you to publish a post with multiple photos arranged in a carousel. If the photo is interesting, the person will probably want to see what else you have “up your sleeve”. While a post with one photo may quickly get overlooked, a carousel can get their attention for longer.
    • Ads in Stories. Stories ads are a bit specific in that they are portrait – as opposed to the standard square or widescreen format. A person watching Stories wants to know what their friends are doing right now, but your ad might just pop up as they’re clicking through. An interesting strategy I’ve noticed is doing ads in Stories unobtrusively. That brief moment of “who is that?” can be enough to make me think “wow, that’s interesting”.
    WHAT’S YOUR FRONT-END STRATEGY

    What’s Your Front-end Strategy?

    Is front-end strategy something you need? What is it actually? Or do you simply think you will somehow sort out your front-ends on your own? What is front-end for you?

    Also, you should not miss the previous part of the article series about web integration – Web integrator and digital transformation. It is a must-read!

    My every day experience from a large corporation is, there are twenty, thirty … hundred internal and external systems. Every single one looks different, is controlled differently and is differently maintained – there is a bit of chaos in it, but the corporation says, „we want to simplify it we would like to have a common, unified, user-friendly, light …”front-end“.

    Front-end (FE) can be understood as the presentation layer based on three-tier architecture paradigm and web integrator’s input, as someone who assists with this part of the “SW ecosystem”.

    This article aims to summarize the principles of a successful FE, or to be precise the “Common Front-end” and describe the basic stages of a new FE delivery process.

    Principles of a Quality and Successful Front-end

    I believe that the right FE strategy is based on the following principles, which help ensure that we have a “good and successful” FE from the perspective of users and business goals, as well as it is implemented “correctly”, i.e. effectively, transparently and sustainably.

    1. Focus on Users
      FE is defined by emphasis on interaction with users, how they would utilize the offered FE is priority number one, while maintaining business benefits and given technological conditions. The user must be involved in all steps of the FE development preparation process.
    2. Business Value
      FE is a system (application) that has to deliver the desired business value, while we must be able to justify having invested in it. Involving Business people is key throughout the development as well as it is emphasized later on. Business Analyst‘s role that is subsequently represented by a Product Owner role is key to fulfilling such expectations.
    3. Flexibility
      FE is part of the application utilized by the user, and it is where all the systems materialize – while actually being „below“, i.e. in the lower layers of the architecture. User requirements change over time as well as business requirements. These changes need to be addressed quickly and flexibly. Often without having to make changes in other parts of the system. FE must be designed to make these changes possible according to the requirements – and ideally prevent them.
    4. Time to Market
      Time to Market is closely related to flexibility. We see it as the ability to bring the executed change to the user in the shortest time possible. This requirement is reflected in the need for both quick development and a short “release cycle”. Its condition is to maximize the use of the already existing parts in all stages of FE development.
    5. Measurability
      FE technologies allow detailed measuring. The aim is to carry out all changes based on the results of measuring, and then assess the changes by measuring them again. Choosing the right metrics of ‚before‘ and ‚after‘ the change is essential to properly evaluate the change. We can use a variety of metrics – users‘ behaviour, system behaviour (performance, e.g. security), but also business performance metrics (various conversion rates, execution time, etc.).
    6. Iterative Development & Agile Principles
      Iterative development with continuous implementation of UX / CX and business capacities are the way to effectively deliver changes. Thanks to its commonly lower complexity this way is more beneficial than the typical “waterfall” control methods, yet they do not exclude each other.
    7. Joint Engagement of Business, IT and UX engagement
      Continuous engagement of UX / CX and business value roles is important throughout the whole development. Separating these roles into stages does not meet the principles of iterative development and jeopardizes the future ‘product’.
    8. Keeping Key Know-how
      Know-how is acquired (or already exists) throughout the process. Know-how that is key for the FE owner must always be internally properly documented. A prerequisite for this is separating business logic from the presentation layer (FE) and; and ideally, also defining working roles, the appointment of which is primarily done internally.
    9. Performance
      So that we can work with our FE system nicely and easily, we need the right response rate based on the number of users and target devices expected to be involved. Furthermore, performance also must be viewed from business perspective. Either way, continuous increase of performance (Performance Tuning) is closely associated with the ability to measure the results.
    10. Security
      FE is a “gateway” to the company, thus commitment to safety is crucial. For this reason, security requirements are essential, and must meet the requirements defined by the organization where FE is implemented.

    Business goals, needs, technologies

    Principles Across FE – Common Front-end (CFE)

    Front-ends of individual systems don’t function alone, but interdependently. Therefore, it is important that the following set of rules is observed across all FE systems.

    1. Consistency
      Consistency of behaviour, appearance not only within one FE system but also across systems. User environment must be built on the same principles and provide a consistent and quality user experience.
    2. Re-use
      Reusing existing parts both on the level of UI / UX and on the level of technology and development – the ability to reuse components – significantly affects the flexibility and time to market delivery of individual FE systems.
    3. MVP (Multi Vendor Platform) Principle
      Regardless of the technology and tools, the possibility to deliver by more suppliers must be preserved and therefore an Anti-Vendor lock must be ensured (independence from one supplier).
    4. Quality
      Clear sets of standards to ensure uniform FE quality across systems.

    FE Preparation Process

    FE preparation process can be divided into three main stages, which are based on software engineering, and which are named after the questions we seek answers to.

    1. WHO and WHAT?
    2. HOW?
    3. Is it O.K. and is it running (correctly)?

    These stages can interlink and the relationships between the individual stages are indicated in the diagram. It is also important to consider how demanding individual stages are. We have illustrated this by the size of the circle.

    We can identify three basic groups of roles within the FE development process:

    • Business – responsible for the commercial benefit of the system
    • UX/CX –FE design and functionality
    • DevOps – development, testing and operation

    Engagement of these roles is illustrated in colours according to the expected engagement range.

    FE preparation process can be divided into three main stages

    WHO and WHAT?

    Research

    Any significant FE change starts by doing research. The aim of such research is to collect data (qualitative / quantitative) as the basis for the analytical stage. The data serves to better understand the present and future state, the strengths and weaknesses. We focus on all three key aspects – business, technical and user. We also set comparative metrics and apply their application to the current state.

    Analysis

    Analysis answers the question – WHAT will be the subject of development, thus how to meet the business, functional, technical and user goals of the project. This is possible only on the basis of an analysis of the data obtained in the previous stage, which will provide us with insights and information about WHO is or will be the user, what their needs, motivations, constraints are, and what kind of tasks they (will) address; and, how competition tackles similar situations; what works and what doesn’t.

    As part of this step, processes using design techniques are recommended – especially “mockup” prototype of the future state. These processes are intended to greatly reduce the workload of this step and bring its outputs closer to the contracting authority.

    In the absence of functional changes within the FE, this part may be significantly shortened.

    HOW

    Design

    Design primarily answers the question – HOW the final FE will be designed. In a closed environment, the technological part, in particular, is subjected to the existing “technology stack” and to the used patterns (the same can be applied to UX part of the proposal UX).

    Compared to the classical concept of IT design, we can achieve here maximum work efficiency and developer can easier understand the design. From the perspective of business and user requirements, we use design visualization, using the methods of rapid prototyping (different levels of detail – sketches, wireframes, interactive HTML prototypes), which greatly minimize the text description of the design.

    In addition to streamlining, the aim of prototyping design is a quick client validation of the design and user usability testing. This approach helps us prepare several different variants of the future solution (concepts / ideas) already at the beginning of this stage; we can validate them and select the most appropriate ones for further elaboration.

    Increasing the quality of the final design is achieved by an iterative approach, where we test the prototype several times and improve it even further. Naturally, all this happens much before the actual development starts.

    In an agile development environment, it is neither necessary nor desirable to design a complete solution prior to the development stage. The development phase can be started once we have prepared a compact Minimal Viable Product and have attained sufficient background data for the first few development sprinters. Finishing off the other parts of the design then takes place in parallel with the development itself. This gives us significant space to save time, as well as we get greater design flexibility that is ready to respond to the changes in goals as they come up during the implementation.

    Development/project management

    The development stage is iterative as it is interlinked with the design stage. A suitable methodology for iterative development is, for example, SCRUM.

    The roles of Product Owner and Scrum Master are key within development. The overall setup of the team must always follow the principle of jointly engaging business and UX.

    UX engagement in the development phase has two forms:

    • UX designer is part of the DEV team – clarifies the assignment, completes design details, provides support.
    • In parallel, prepares/ completes the materials for further sprints.

    Every “definition of done” of each solved task must be followed up by quality control abiding by pre-defined concepts – in particular, this regards functional concept and UX concept.

    Is it O.K. and is it running?

    QA

    Despite QA (Quality assurance) being part of the “Definition of Done” for each task, there are still areas that need to be tested separately as per the entire product, taking into account linkage to the surrounding systems. These tests are often performed by specialists outside the primary agile team. It regards, in particular, the following areas:

    • Security testing
    • Performance testing
    • Integration tests
    • Standard „check list“ test defined by the client
    • User testing
    • Expert UX assessment

    Deployment and Operation

    The processes of deployment and operation itself are fundamentally influenced by the chosen system architecture and technology stack. The very issue of continuous integration and automation of deployment is described, for example, in individual series and is beyond the scope of this article.

    Measuring/analytics

    An essential step following deployment is continuous measuring of the solution “performance”. This includes activities associated with measuring and evaluation of the set metrics, technical parameters and quantitative / qualitative parameters from users’ perspective.

    Based on measuring outputs, it is possible to evaluate fulfilment of the objectives set in the project and to prioritize minor and conceptual changes of the solution.

    Another benefit of measuring is being able to further increase the commercial and technical performance.

    WEB INTEGRATOR AND DIGITAL TRANSFORMATION

    Web integrator and digital transformation

    What role does the web integrator play in the process of digital transformation?

    Also, you should not miss the previous part of the article series about web integration – What is a front-end factory. It is a must-read!

    Much has been already written about what we can imagine under the digital transformation term. Regarding digital transformation, there have been long-term interesting debates across the Internet, within which it has been solved at many places what has been the main driver of the digital transformation – whether it’s CloudBI (Big Data)IoT (Internet of Things), or APIs. Many professional articles it has been analyzed from all points of view, what will be the impacts of digital transformation on various industries, and how fast progress in various fields of digital transformation. Likewise, many IT experts have been for several years preoccupied with thinking on, which sectors will be affected by the digital transformation most and when.

    I’ll try to explain in this blog post that is the role of the web integrator in the process of digital transformation and answer the question, where is his place?

    What is digital transformation?

    There are lots of definitions for digital transformation. You can find one of these definitions (like almost everything) on Wikipedia. Further, you can find them on websites and in presentations by smart consulting firms, such as Capgemini, or such interesting sites as i-SCOPE and many others.

    I’d adhere to the following definitions:

    “The digital transformation is a fundamental and accelerating change of business activities, processes, competencies, and models fully exploiting the potential of digital technologies and their impact on the whole society.”

    On the other hand, digital transformation cannot only be simplified to the tal marketing, but the digital consumer also behabehaviorthe digitization of information (the introduction of “paperless” processes). Although individual topics are important for the digital transformation by themselves they are not sufficient for such a fundamental change, which is brought about by the digital transformation.

    The term digital transformation includes much more. It is a continuous process, through which enterprises adapt to major changes with their customers and markets or stimulate them, that with the help of digital technologies they innovate and introduce new business models, products, and services, combining digital and physical aspects of the company towards customers while increasing the operational efficiency and business performance at the same time.

    What is the role of a web integrator within the digital transformation?

    I have already described, who is a web integrator, including a focus on the presentation layer within the abstraction of the three-tier architecture and the Front-end Factory as a key competence of the web integrator.

    How this all fits into the digital transformation? First of all, you need to realize that the web integrator is an important partner in the digital transformation (but by no means the only one).

    Due to the impact of digital transformation on all aspects of the business, the close cooperation between various entities that are involved in the transformation comes to the forefront. And that both inward – (internal IT system integrator and other suppliers) as well as outward because companies need to present their digital presence in the digital environment (this is where digital agencies enter the entire process). All this is happening for one reason – to achieve or meet the set business goals.

    Within the digital transformation, it is worth revisiting a simplified understanding of the front-end, purely as a presentation layer within the concept of the three-tier architectureThe Frontend should be seen as any connection to the digital environment, i.e. including user “invisible” interface – API (Application Programming interfaces) rather than purely “tangible” (today touchscreen) multichannel. Indeed, the multichannel is or may be a consumer of these APIs. Nevertheless, such interfaces are located in the “Business Logic” layer, according to the concept of the three-tier architecture.

    Even within the layer of business logic further fragmentation occurs and demands on API is in terms of flexibility, security, and performance similar to demands on the presentation layer. For this reason, I can see lots of space for a web integrator (in close cooperation with other suppliers) in the preparation of these APIs not only from a technical point of view (development) but also from the consultation (analytical and design) point of view.

    API to rule them all. Really?

    Already now there are companies, whose business is built primarily on providing APIs to the world.

    And vice versa some companies use APIs of others for their business without having to have their own “core” systems. And many others still have to go through a such transformation.

    API alone is certainly not a new idea. But the possibility of opening them and using them for specific business leads to fundamental questions about the value of own services and the ability (or inability) to provide them to the digital world in the form of a suitable API. Indeed, without tools supporting the preparation high-quality city (and documented) open APIs such as Apiary the “API revolution” would certainly not take a place, because total confusion would occur and everyone would do his/her way. Which is exactly the state you do not want to get to.

    Nevertheless, API itself is not any panacea either an API cannot be considered a synonym for digital transformation. It is again only part, albeit substantial, of the whole process, which must be closely linked with several necessary changes within the company and in particular with the change of usual thought patterns.

    In any case, however, API is the area of intense interest of the web integrator, for its ability to interconnection (integrate) the digital internal and external world of the customer.

    With the web integrator, the way to your goal is easier

    So that companies can tackle new market opportunities, they must within the digital transformation change their business models and rethink business processes, work habits, and end-user experiences. The web integrator is a partner in the introduction of these innovations, who will greatly help to achieve the set objectives.

    You can now follow to the next part – article called: What’s your front-end strategy?

    WHAT IS A FRONT-END FACTORY

    What is a “Front-end Factory”?

    The key role of a web integrator is in the “multichannel“ front-end area and fulfilling this role requires strong competence.

    Also, you should not miss the previous part of the article series about web integration – The relationship between a web integrator and digital agency? It is must read!

    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
    • user interface optimized for the selected versions of target devices and browsers and in particular the context of their use. Of course, most often in the form of an output HTML/CSS/JavaScript code, variants as well as with the use of native applications for mobile, touch screen, desktop, or other devices
    • 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 the sufficient performance of the whole solution, given the expected number of visitors.
    • Security features and measures for ensuring that the project works in the internet environment.
    • instruments for measuring user behavior,
    • 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.

    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) – the 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 behavior 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 off 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 the front-end experiences “every day” (and maybe often). Tools and technologies that do not allow rapid changes are not appropriate. Both developmental and deploymcyclesycle 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 an agile (generally iterative) approach, then it is a supply of a front-end. It includes both the necessity of repeated user testing, and inputs from the graphic designers, but also continuous development and improvement as well. For successful delivery, the ability to control such organisms 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 hot cakes … 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.

    You can now follow to the next part – article called: Web integrator and digital transformation.

    RELATIONSHIP BETWEEN WEB INTEGRATOR AND DIGITAL AGENCY

    Relationship between Web Integrator and Digital Agency

    A brief reflection on the relationship between a web integrator and digital agency.

    Also, you should not miss the previous part of the article series about web integration – Relationship of the web Integrator and the system integrator. It is a must-read!

    Compared to the article describing a relationship between web and system integrator, the comparison with a digital agency considerably more complicated. Only finding a generally accepted definition of the term digital agency on the Internet is a difficult task – and where else to search it, right?

    What Is a Digital Agency?

    Wikipedia (in English), does not even know this expression and shows only “Advertising agency”, which specifies in individual areas – in our case “online advertising”.

    Other definitions that can be traced, even older, are available on our digital marketing blog, which develops the concept to “Full Service Digital Agency“, UPANUP StudioJDM DigitalKamber and certainly it is possible to find even more. What now? Trying to come up with another definition, the next in line? I will try it for the term Full Service Digital Agency … After all, what agency states about itself that it is not “Full service”.

    A part “Full Service” described in our digital marketing blog describes one major thing – full service is not primarily based on the range of services offered by an agency, but on coverage of three elements of marketing cooperation with client – StrategyDelivery and Analysis. That represents the key to comprehensive services to me, unlike their mere list. There are so many various special services in the digital space and more and more are emerging.

    But what is the “digital” space today, anyway? From my perspective, it is all that is processed using ones and zeros digits – yes, web site (in all its forms), mobile application, TV (from a certain part), radio and outdoor advertising and their interconnection. And digital space will only rise in the future – it will spread on your car, home, watch, Internet of things…

    So the following definition is acceptable to me:

    Full Service Digital Agency is a marketing agency that provides clients with strategy, delivery and analysis in the digital space.

    What Is, on the Contrary, a Web Integrator?

    And what is a web integrator? As I mentioned in the referenced article, so “The web integrator is a partner who provides a guarantee to the client that the project will comply with the agreed specifications. The web integrator is responsible for coordinating all of the necessary activities. A web integrator is a partner that guarantees a client that a web integration project will pass in accordance with the prepared specifications and ensure a coordination of all necessary activities“.

    Not a word about marketing, but a bit further the article says: “Unlike the system integrator, the web integrator’s activities include marketing and communications and new fields where the Internet is used….” So how is it? A web integrator is necessarily active in certain areas of marketing – no web portal can be built today without respecting the rules of online, or if you like, digital marketing.

    Boundaries between Digital Agency and Web Integrator

    A concrete boundary is difficult to find, and as shown in the diagram of the web integration effect, an overlap of provided services occur there.

    The web integrator cannot avoid areas necessary for perfect delivery of web integration project. A good web is simply not possible to create without defining target groups, design, on-site SEO optimization, web analytics … A conflict occurs particularly in delivery and analysis areas.

    I do not believe that full service digital agency delivers an excellent extensive web integration project, which requires strong know-how in the field of software engineering, deployment and operation and where the issues of security, integration and performance are dealt with.

    Conversely, a web integrator competence does not involve the field of marketing strategy. And given the increasing number of services in digital space, it is necessary to involve (integrate) some specialists for these services into projects as well – there is therefore a scope for cooperation in the area of delivery. Likewise a range of analytical services is enormous and a web integrator competence focuses mainly on “on-site” data and their processing, or other connections.

    How Can a Web Integrator Work with a Full Service Digital Agency?

    I have some experience with various forms of cooperation, but also with strong competition between the web integrator and digital agency.

    What I know is that an escalated competitive attitude does not help anyone and an end client the least of all. Dissimulating that a digital agency will deliver a big web portal because it has already completed a lot of web sites (mostly simple business presentations or microsites) is just wrong. On the other hand, it is equally wrong to say that a web integrator will design a digital marketing strategy. It will not.

    What I consider to be perfect is cooperation between the two entities, which obviously means that competences have to be determined where they overlap – elbows are therefore needed. Jointly, it is possible to deliver clients a solution that optimally fits into their digital marketing strategy, meets business goals and high demands for performance, safety and economy of operation.

    Unlike cooperation with the system integrator, the most common form of cooperation between
    a digital agency and a web integrator is therefore partnership, which does not even have to involve any mutual contractual relationship and coordination takes place on the client’s side.

    And What Is the Practice Like?

    My experience is that after delivering a solution, it is the digital agency which is responsible for attendance (traffic) and quality of the acquired contacts (lead generation). The web integrator is subsequently responsible for maximizing the conversion potential of the web site. Together they therefore ensure the efficiency of the overall solution.

    The ambition of either party cannot be “we will do everything” because they simply will not. Conversely, it is the emphasis on cooperation and the final value for the client what brings significant advantages for both sides, reduces risks for the client and allows to do what each party can do best and what it “likes the most”.

    You can now follow to the next part – article called: What is front-end factory?

    Relationship of the Web Integrator and the System Integrator

    Relationship of the Web Integrator and the System Integrator

    Brief contemplation on the methods of how a Web Integrator may cooperate with a System Integrator within a web-integrating project.

    Also, you should not miss the previous part of the article series about web integration – How to apply the principles of three-tier architecture in a web integration project. It is a must-read!

    Who is the System Integrator? I like the definition on Wikipedia – “A systems integrator is a person or company that specializes in bringing together component subsystems into a whole and ensuring that those subsystems function together…”. Typically, it is a company that consults and brings together solutions from the existing or newly developed sections. In practice, often comprehensively for a specific client.

    As stated in the definition of a Web Integrator, definition of Web Integrator’s activities as compared with the System Integrator are as follows:

    Unlike the System Integrator, the Web Integrator includes in his services also the area of marketing and communication and new Internet disciplines, but not areas related to internal systems, such as data warehouse problems, DMS, ERP, etc. Both, the Web Integrator and the System Integrator cooperate most frequently in defining interfaces to internal client’s systems which are to be used for implementation of a web solution and in proposed optimisation of the processes involved.”

    But how can such cooperation look like in a specific project?

    System Integrator as a General Contractor. Web Integrator as a subcontractor.

    From my point of view, it is a typical scenario when the System Integrator delivers a complex change (or implementation) of several systems that also very often deal with an on-line frontend. The frontend must however be understood in the context of a three-layer architecture as a presentation section, thus including systems necessary for administration, operation and integration.

    However to secure the frontend as well as other specific parts of the supply, the System Integrator needs a subcontractor-specialist. In my opinion, the System Integrator alone has often not enough powers, in particular in the area of UXmulti-channel communication, and on-line marketing. Conversely, they overlap in the area of the development and operation.

    The System Integrator is responsible for the design of complex system architecture, delivery within the quality and terms agreed on, and often also subsequent service and development. The Web Integrator is responsible for the delivery of his part, including coordination of his eventual subcontractors. Indeed, he is also a partner of other subcontractors, in particular within the integrating interface necessary for interconnection of the presentation layer and the business logic layer.

    Web Integrator and System Integrator as partners

    In certain cases, the client organizes alterations of internal and frontend systems independently, and often also in different times. The client possibly does not require General Contractors services.

    In such cases, the Web Integrator and the System Integrator are partners who must deal with mutual coexistence of supplied systems and their integration. Both parties must cooperate in both, the delivery and subsequent service within the powers agreed on.

    The defined interface between the presentation layer (frontend) and the business logic layer is a suitable and demonstrable boundary of powers. So it is possible to minimize risks resulting from unclear division of powers.

    The analogy of this cooperation model is a variant when internal systems are not provided by single System Integrator, but by several independent contractors. In this case, the competence matrix is of course more complicated. And its complicacy correlates with the number of integrating links to various systems (and the number of contractors). This variant however does not fall within this contribution, since no System Integrator is involved in it.

    Web Integrator as a primary contractor

    Theoretically, a variant opposite to the first option comes into consideration. Thus a situation when the Web Integrator is a primary contractor and provides also services falling within the System Integrator.

    I must say that I have not encounter this variant in practice yet, and it does not make much sense to me. Powers necessary for correct management of system integration on the level of internal systems reach far behind the framework of Web Integrators powers as we understand them within the web integration. Thus from my point of view, it would be some necessary business compromise, but without material grounds.

    And what does emerge from this?

    In my opinion, the cooperation of the Web Integrator and the System Integrator is a key issue (if applicable) for perfect management of the on-line frontend of the supplied solution. Eventual failure to manage this cooperation will be experienced by end users. With respect to the frontend nature, these end users are customers; it will thus have an immediate negative impact on the business. Conversely, good cooperation might improve essentially business results of the whole solution supplied. And as we know, money is always in the first place.

    You can now follow to the next part – article called: Relationship between Web Integrator and Digital Agency.

    HOW TO APPLY THE PRINCIPLES OF THREE-TIER ARCHITECTURE IN A WEB INTEGRATION PROJECT

    How to apply the principles of three-tier architecture in a web integration project

    Three-tier architecture is one of the basic paradigms of software development. This design pattern can be beneficially used in web integration projects, as a basis for the overall solution architecture, with benefits.

    Also, you should not miss the previous part of the article series about web integration – Roles in integration project. It is a must-read!

    In recent projects carried out for Czech financial institutions I frequently encountered problems that snowballed. Web projects that take several years turned into “monsters“, and from the software architecture perspective, this caused many basic problems. Due to the incorrect software architecture, it is very difficult to know which supplier provided what, and to make flexible changes to parts of the solution. Therefore, there is often a complete dependence on the supplier and its knowledge, including in processes that are vitally important in commercial terms.

    In this article I will therefore try to outline ways to minimise such difficulties by applying the well-known principles of three-tier architecture.

    Three-tier architecture is software architecture that can be separated into the presentation tier, functional/process logic tier, and data storage. Each tier carries out separate tasks; and the layer can be developed, maintained and changed separately, based on the assumption of an unchanging (backwards compatibility) interface between individual layers.

    • The presentation tier or user interface tier is responsible for interactions with operations – information gathering, as well as displaying it in a legible and user-friendly format.
    • The “business“ logic tier plays the role of transferring information between the website and the data tier, including integration of the required decision logic or transformation of transferred data (calculations, aggregation of information from more data sources and the like).
    • The data storage tier implements persistent data storage, with a relational database (RDBMS) or another type of database (NoSQL).

    This principle brings a number of basic benefits:

    1. Individual tiers can be managed independently

    In preserving the integration links, it is possible to carry out basic changes in separate tiers without another layer.

    1. The sizing of each layer can be adapted to its performance requirements, regardless of the other tiers.
    2. The security setting of each tier can be adapted to its use and requirements.
    3. The correct separation of individual tiers enables separation of knowledge important for managing them and allocating appropriate sources to them, without unnecessary overlaps and with consideration of the complexity of individual tiers.
    4. Clear separation of competences, if more than one supplier is involved. Individual tiers and the interfaces between them can be beneficially used as a demarcation of competences between suppliers and individual parts of their solutions.

    Adapting three-tier architecture to the needs of a web integration project

    HOW TO APPLY THE PRINCIPLES OF THREE-TIER ARCHITECTURE IN A WEB INTEGRATION PROJECT - schema

    web integration project (in most cases a company portal) has its specific properties, to which the overall architecture of such a solution needs to be adapted. The principles of three-tier architecture can be beneficially applied at an abstract level vital for modelling the entire solution.

    From the diagram it is evident that in abstract terms we move to a higher level when the basic feature is the system (e.g. CRM and ERP, as shown). It provides the necessary functionality to its environment, and it too can be three-tier.

    The diagram also implies the growing complexity of individual tiers “downwards“ and the increasing efficiency demands (in terms of the number of requests dealt with) and flexibility “upwards“.

    The typical composition of individual tiers of the architecture as part of the network infrastructure of a project owner is shown.

    Presentation tier

    In an integration project the presentation tier is extensive and includes both the user interaction in various devices (multichannel access) and tools for managing this tier – Content Management Systems or CMS), an appropriate portal platform, serving as a basis for the developing a specific functionality. This tier is crucial from the perspective of the web integrator’s role.

    The presentation tier includes:

    • Architecture matching the portal aims.
    • A user interface optimised for the specified versions of devices and browsers and their use context, inevitably most often as output HTML/CSS/JavaScript code. It is important in specific cases to consider using other technologies – e.g. a native application for a mobile, touch, desktop or other device.
    • Support for user interaction in the form of data insertion and display.
    • Interfaces enabling further integration in a structured format – different forms of XML outputs/feeds(RSS, RSS 2.0, Google Sitemap and such like.), web services (SOAP, REST) or application interface (API).
    • Tools for measuring user behaviour.
    • A platform providing a sufficient function for putting together a solution and development of a specific functionality.
    • A tool for easy management of structure and content, bearing in mind the specifics of a concrete project: Content Management System.
    • A 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.
    • Specific functionality without an interconnection to the portal owner’s internal system. This means minor independent functional units (modules) as additions to portal features.
    • Functionality in terms of SEO and other on-line marketing activities.

    All data transformations impacting on the internal systems of the client are naturally linked to the business activity of the portal owner and contain important business logic and know-how. Such data transformations should obviously not be part of the presentation layer, and they should be separated and included with the business logic tier.

    The presentation tier is typically implemented based on the design pattern MVC (Model-View-Controller) and its derivatives (MVP), but the difference is that the direct link to the data model is connected to the business tier, which is made accessible using services components, consisting of the service model of the application.

    The presentation tier is also very often created externally. It is therefore important to clearly set security rules, responsibilities and especially prevent loss of know-how if an inappropriate leakage of business logic to an external partner occurs, without ensuring the sharing of information or a clear exit plan.

    Business logic tier

    This tier is crucial in terms of data transformation between the presentation and data tiers. Here a strong platform should be chosen that allows the collection, transformation and subsequent distribution of information in both directions. From the system integrator perspective, this role is crucial.

    From the web integration perspective the business tier should contain:

    • Screening of the presentation tier from the data tier.
    • A clearly defined and documented interface (typically in the form of web services or, in the case of one application technology, interface classes). With such forms (even if it is with a modification for specific use) it is possible to use the interface both for the presentation tier and for other forms of client devices (mobile native application, specialised HW) and communication channels.
    • Storage of shared information within individual systems from the data layer and channels from the presentation layer.
    • Temporary storage of information necessary for use in the presentation layer, when technically it is not possible to assure accessibility to the information directly from the data tier.

    The business logic tier is crucial in terms of retaining internal know-how. It should be carefully recorded in an analysis by the owner, including thorough documentation and substitutability. Leakage of know-how from the firm should be minimalised or thoroughly investigated, and include an exit plan.

    Data tier

    The layer of core systems, which enable final storage of information and further data processing. This tier tends to be very heterogeneous, with a mutual connection of several parts (systems), which causes problems. To lower the number of integration links, the business tier is used, therefore enabling interconnection of the internal system only to one other node. The data tier is crucial for internal systems, their implementer and system integrators.

    The data tier should therefore contain:

    • Internal systems with primary data (product catalogues, business parameters, documents and the like.), and in some cases final storage for certain type of entities (user, order form, invoice and such like).
    • Specialised internal data storage.
    • Selected internal systems connected to basic business activities.
    • Specialised reporting tools used as part of or apart from selected data taken from the systems.

    Data tiers are beyond the direct competence of a web integrator and they are typically provided by specialised entities.

    Benefits for a web integration project

    The above division provides several basic benefits for a web integration project:

    1. Maintenance of key know-how as part of the business tier with the project owner and its dependence on the presentation tier supplier is reduced.
    2. There is clear delineation of competences between each supplier (whether internal or external).
    3. It is possible to flexibly react to changing market needs, as part of the various communication channels of the presentation tier. This ensures a minimum impact on the “core“ of the systems in the data tier.
    4. In the individual tiers it is possible to choose the appropriate technology and maximise its potential application, including the operational environment.
    5. Increasing the security by separating individual tiers with a clear and secured interface.

    Personally, I regard the first point as crucial; failing to adhere to it causes the biggest problems and huge risks for the project manager. In practice, it is often the case that the presentation and business tiers are linked in one tier. The result is a leakage of know-how, which is gradually lost, including in key processes, and a high level of dependence on suppliers, and the flexibility of change causes difficulties. Each of these problems merely adds to the snowball effect. The question of what happens if your supplier goes bankrupt cannot be answered. In a company whose turnover is to an increasing extent depends on online channels, finding an answer to this question is key for the company’s survival.

    You can now follow to the next part – article called: Relationship of the web integrator and the system integrator.

    THE TESTING TEAM

    The testing team

    Putting together a top work team, whatever the profession, is definitely not a simple task. Everything depends on its members – the people.

    The same goes for creating a testing team. Therefore it’s a good idea to plan a bit ahead – putting down goals the team should meet, what skills should they include and afterwards, ideally, hire the right people (who have the best educational and personall skills) for the job.

    The waterfall model for development

    In many software companies it‘s pretty customary to use the traditional – waterfall model of project management.

    Analysis – Design – Implementation – Testing.

    This model adapts even to the testing team. Usually it is a separate department whose primary objective is to verify the overall readiness of the product being developed to deploying into full operation. Often, the testing gets to happen during the phase of system tests.

    The skills in the testing team

    When testing web applications, we can identify the following skills:

    Test Manager

    • coordinates the testing team
    • assigns the individual responsibilites
    • is responsible for the planning, implementation and reporting during testing

    Test Analyst, Designer

    • creates testing plans
    • defines testing procedures
    • decides on the appropriate selection of testing tools
    • determines the testing enviroment and testing data

    Tester

    • prepares specified automated and manual tests
    • performes various tests
    • records the results
    • clearly describes the errors

    In the case of smaller groups, these don’t need to involve all the skills, or as the case may be, some of them maybe merged into one.

    The testing team is closely related to further project roles, and those are:

    • project manager, who initiates the tests and works together with the test manager and with the client on defining the acceptance tests
    • developer, who addresses and removes defects and cooperates with the tester on analyzing them

    Introducing the agile team

    The agile project management methodology provides an interesting viewpoint of the testing team. In agile management, a great emphasis is given on a close collaboration with the client. The development is divided into serveral short iterations, each consists of these steps: Analysis – Design – Implementation – Testing. Thus testing is closely linked to the actual development.

    Dedicated skills are minimalized when it comes to agile testing teams. Anyone performs the tests who is able to – testers, developers. Particular agile teams don’t even have members who are directly called “testers”, despite the fact that they need someone who verifies the safety, performance and confirms the functionality… Though, as a whole, they are able to perform all the tasks related to testing. Doing so, however, results in less emphasis on static testing methods – no one checks the quality of the program code and the size of documentations is reduced which can become a disadvantage for large-scale projects with bigger timeframes.

    The compromise

    To integrate testing into the development process, and to the members of the testing team, is a practical step. Errors are eliminated right from the start, therefore they don’t initiate new ones, and during development it’s possible to create elementary automated tests that help simply verify the quality after adding modules, therefore speeding up the testing phase.

    But even a top-notch independent testing team that concentrates all its potential on testing can therefore specialize in different types of tests and testing techniques and being beneficial. And let’s not forget about the fact that the author rarely sees faults in his work, whether it being a painter, musician, film producer or even a programmer.

    A satisfactory compromise is hidden in good communication between the project manager, the developers and the testing team. Without it, none of the above methods would work.

    In our article What makes a good tester we’ll be talking about what professional experience or personality traits are characteristic for testers.

    QUALITY MANAGEMENT AND SOFTWARE TESTING IN WEB INTEGRATION

    Quality management and software testing in web integration

    This article describes the basic concepts of “Quality assurance“ testing and their goals, and considers various types of testing.

    The rapid development of information technology today has resulted in ever greater demands on the functionality of web (software) applications, and in turn on the quality their software. As a result, quality management must play a vital part in the process of developing web solutions.

    What is quality assurance?

    The Wikipedia definition of quality assurance is: “Quality assurance (QA) generally concerns everything from design, development, implementation and maintenance through to product development. The aim of this activity is to ensure that the outputs of individual parts meet the necessary quality standards, which have been defined beforehand.

    Ensuring quality assurance (known as “Software Quality Assurance“) involves the following activities:

    • Verifying that customer requirements have been met, and checking that they are in line with the assignment and project specifics.
    • Checking developer outputs focusing on adherence to pre-defined standards and norms.
    • Testing in order to identify possible errors – functional, logical, content, systems, etc.

    Naturally, these steps also apply to web solutions, and specifically the main part of testing. In this area there is a need to take into account that new web pages are being tested and to accommodate a selection of appropriate tests, such as web application security, the ability to deal with huge numbers of visitors (performance testing), testing browser compatibility and operational systems, and accessibility for ordinary users as well as users with disabilities.

    Testing

    Testing is a systematic process, involving  observing system operation under specific conditions imitating a real-life environment. It is also focused on identifying errors, flaws and deviations from customer requests, and on operation in borderline situations from the perspective of output data, stress and security. Individual findings are similarly recorded and evaluated.

    The goal of testing is to find errors as quickly as possible and at the lowest level of solution development, and then rectify them.

    The concepts of Quality Assurance and testing are often confused, but as we have seen in the previous section, testing is just one part of the quality management process.

    Types of tests

    Literature and practice highlight a variety of testing methods, which depend on how the perspective from which we see them.

    Based on the implementation method, we can divide the process into

    • Manual testing: carried out by the tester (user) manually. A disadvantage of this method is its slowness and lack of efficiency. However, some tests can work only manually, specifically because of the human factor.
    • Automatic testing: with automated testing tools. In a short period a large quantity of variable testing data can be tested. In web applications, we can easily test the validity of pages, the functionality of individual links, stress resistance and similar aspects, using automated testing tools.

    Given the nature and focus of the testing itself, we can differentiate between:

    • Functional testing: verifies that the software functions meet customer requirements, and checks that the software/solution is functioning, on various SW and HW platforms.
    • Non-functional testing: testing the qualities of the system that are unrelated to its primary focus, e.g. efficiency test, security test and stress test.

    From the source code perspective, this involves:

    • Static testing: checking the source codes themselves.
    • Dynamic testing: testing the system qualities during program runtime.

    Depending on the approach to information, test can be described as:

    • Black box: the tester analyses only the external response of the system, and recording the input parameters and output parameters. However, the black box test does not involve the system’s internal process. On the other hand, it can yield distorted results because even when the assigned input gives the expected output, inside the system, the process can be handled incorrectly (such as incorrect saving in the data structures…) .
    • White box: assumes that the tester has a detailed knowledge of the internal structure of the codes and therefore “sees into the system“. At the same time, as part of the test, the tester audits the source code.
    • Gray box test: combines black and white box tests. The tester is familiar with the basic structure of the system, but does not focus on the source code details. The structure is accessible mainly due to the formulation of more appropriate testing scenarios.

    Depending on which level of software development inspection takes place, we can divide testing into:

    • Developer testing – testing at the lowest level, usually immediately after writing the integrated part of the program code, with an emphasis on functional accuracy and validity.
    • Unit testing: testing how correctly the smallest system units function, checking adherence to prescribed standards and norms. At this level, the tests can be easily fully automated.
    • Integration testing: verifying correct interaction between individual modules in the system. For web systems, linking all parts of the proposed solution is an important phase of testing.
    • System testing: the application is tested as a complete entity. Tests focus on system functionality, reliability, security and efficiency. At this level, we can put systems through several tests, with independently designed methodologies, such as:
      • performance test: measures the speed of responses to input requests. Investigating the efficiency of the web application in multi-user environments and how the react to a sudden large volume of input data, and an increase in the number of active users.
      • security test: testing the system’s ability to prevent unauthorized  access to source codes or data
      • usability test: establishes how easy it is to use web pages, how to find one’s way around them, and how user-friendly they are.
      • accessibility test: ensuring that web pages are “barrier-free“, i.e. they are accessible to users with disabilities (impaired vision, hearing..), testing color  contrast.
      • stress test: tests the system, with a focus on checking failures where there is insufficient HW capacity (CPU, memory, disk, etc.).
      • maintenance test: checks that the system is functioning correctly after maintenance (changes to HW or SW environments, migration and system upgrade..) .
    • Acceptance testing: carried out after overall tuning of the system and removal of all detected errors from previous tests. Tests whether the system is prepared for live operation (alpha test, beta test, etc…).

    It is impossible to say which testing method is the best and most efficient. The choice of testing methodology depends on a range of factors, such as project size, goals and focus, capabilities and capacities of the customer and the testing team. However, putting together the right testing plan at the very beginning allows us not only to  improve the overall quality of the system, but also enables considerable financial savings.

    Experience shows that it is much more effective to  prevent errors at the beginning of work than to rectify them at the end of the project. This is even more important when it comes to web integration, both for integrated systems and in the case of a mistake that occurs at one end of the chain and can spill over into another area, where it can cause a lot of damage. It is therefore a very good idea to carry out quality tests at every step of the software life cycle, beginning with the specific requirements of the customer and ending with putting the ready application into production.

    It is very useful to carry out quality tests as early as the analysis and design phase of the solution because an error in the architecture design, an incorrect functional specification, or a poorly chosen graphic design can later cause many tests to fail. As a consequence, going live is significantly delayed.

    Conclusion

    It is a fact that testing cannot prove that the system has no error and so it cannot be regarded as faultless. However, an effort is made to be as near faultless as possible. This is doubly so for integrated systems, where there the risk of failure in the areas of security, communication and stability is greater.

    Sources: