Performance

Last reviewed 13 November 2020 by Alex Seymour

Description

In this session we will look at website performance, what it means and why it is important. We'll also be looking at some of the tools we can use to measure performance and what we should be looking to improve.

Why this is important

Fast websites means better UX, high return visits, low bounce rates, higher conversions, greater engagement, and higher ranks in organic search. Slow websites cost us (and our clients) money and damage reputations.

Outcomes

At the end of this training you will be able to:

  1. Understand the importance of website performance from a business perspective
  2. Use tools to test the performance of websites

Learner Requirements

  1. A site to audit for takeaway task

Outline

  1. What does performance mean?
  2. Why is it important?
    • Conversion
    • Visibility
    • Usability
  3. Ways to assess Performance
    • Pingdom
    • Yslow
    • Lighthouse
  4. 12 techniques
    • CDN
    • Hosting
    • Images
    • Plugins/Modules
    • Minimising requests
    • Caching
    • Compression
    • Database optimisation
    • Webfonts
    • 404 errors
    • Redirects
    • Prefetching
  5. Performance Budget

Tasks

During Training

  1. Research techniques for improving performance

After Training

  1. Conduct a performance audit on a site (or sites)
  2. Implement changes from the audit(s)

Resources / Reference

  1. Slides: Performance for Web Dev
  2. Google Dev Tools - Lighthouse
  3. Pingdom
  4. Yslow
  5. Tutorial: Setting up custom Audits with Lighthouse

Skills, Knowledge, Behaviours and Values

Core Skills

This workshop is designed to develop the following from our core skills directive

  • Estimation
  • Prioritisation
  • Presentation
  • Communication
  • Teamwork
  • Empathy

Apprenticeship Standard

This workshop will encourage the development of the following from the Software Developer Level 4 Standard

COMPETENCIES (Skills)

  • C4 - Test: can test code and analyse results to correct errors found using either V-model manual testing and/or using unit testing.
  • C5 - Problem solving: can apply structured techniques to problem solving, can debug code and can understand the structure of programmes in order to identify and resolve issues.
  • C11 - Can interpret and follow:
    • software designs and functional/technical specifications
    • company defined ‘coding standards’ or industry good practice for coding
    • testing frameworks and methodologies
    • company, team or client approaches to continuous integration, version and source control
  • C12 - Can respond to the business environment and business issues related to software development.

BEHAVIOURS

  • B1 - Logical and creative thinking skills.
  • B2 - Analytical and problem-solving skills.
  • B3 - Ability to work independently and to take responsibility.
  • B4 - Can use own initiative.
  • B5 - A thorough and organised approach.
  • B6 - Ability to work with a range of internal and external people.
  • B7 - Ability to communicate effectively in a variety of situations.

Knowledge

  • K3 - Understands how teams work effectively to produce software and contributes appropriately.
  • K4 - Understands and applies software design approaches and patterns and can interpret and implement a given design, compliant with security and maintainability requirements.
  • K5 - Understands and responds to the business environment and business issues related to software development.

Values

Themes in this session explore the following values:

  • Equality & Diversity
  • The rule of law