Exceptional training for software ENGINEERs

Software Engineering Excellence Training Course

Quickly Improve Your Software Development Skills Through Engineering Excellence Training

18 Nov London
request info

Capita Marks and Spencer Telefonica Cisco BBC Lloyds Sony

Software Engineering Excellence training course (code: ENGEXC1)


Our Software Engineering Excellence training course combines three popular courses; Effective Code Reviews, Non Fiunctional Requirements and Continuous Integration. Client feedback shows that delegates on our courses will best engage when they can relate course topics to their own day-to-day practices and requirements. We therefore run this course as a consultative, workshop-style event, in which discussion of topics such as what are Code Reviews, what are their benefits to your company and how can you adopt and apply them takes place in relation to the delegates' own applications and scenarios.


Developers, testers and development team members looking to improve on quality of Software Engineering deliverables



Effective Code Reviews

Session 1: Introduction

Session 2: Code Reviews

  • What is a Review?
  • Why do a Review? What are the Benefits of Code Reviews?
  • What barriers are there to Successful Reviews?

Session 3: Code Reviews: What is Involved?

  • Who, When, What
  • Roles in a Review
  • When to Review
  • What should be reviewed?
  • Types of Review
  • Pair Programming and Code Reviews

Session 4: Performing a Review

  • Where to Start?
  • Code Reading (Top Down / Bottom Up)
  • Review Questions
  • Code Smells / Refactoring
  • Language Specific Code Smells
  • Testing Checklist
  • Performance checklist and Scalability
  • Non Functional Requirements

Workshop: Performing a code Review


Session 5: Review Process

Requirements and Code Reviews

Non Functional Requirements

Scrum and Code Reviews

Version Control Systems and Reviews

Completing reviews


Session 6: 12 Good Practices of Code Reviews

  1. Small reviews - Avoid large code change reviews
  2. Short reviews (re time doing review)
  3. Understand the requirements (functional and non-functional) before review
  4. Normal part of working day
  5. Review Structure
  6. Use a CheckList
  7. Foster positive behaviour around reviews
  8. Establish Goals and Metrics Around Reviews
  9. Authors annotate source code before reviews
  10. Ego Effect – everyone is reviewed, everyone reviews
  11. Ownership – developer and reviewer proud of code
  12. Record / log review notes and conclusions, and verify issues fixed


Session 7: Code Review Tools

  • Code Level Review Tools (Java, PAL, JavaScript, C#, XML)


Non Functional Requirements

Session 1: Introduction

Session 2: What Are NFRs?

  • Examines the characteristics of Non Functional Requirements
  • Looks at what Non Functional Requirements exists
  • Considers which are particularly relevant to your company

Workshop 1: Consider Non Functional Requirements for a Ticketing system


Session 3: Why are NFRs Difficult?

  • Considers the challenges associated with Non Functional Requirements
  • Issues of terminology, specification, measurement and test
  • System wide, emergent nature of Non Functionals
  • Can’t retro fit Non Functionals to an application
  • Need to consider them up front

Workshop 2: Explores how to identify Non Functionals


Session 4: Approaches to capturing and representing NFRs

  • Sources of Non Functional Requirements
  • Approaches to finding Non Functional Requirements
  • NFR Questionnaires
  • Quantifying NFRs
  • Proxies for testing difficult to measure NFRs


Session 5: Developer Accountability

  • Consider show to improve accountability for NFRs
  • Present the project as needing to be accountable
  • Developers accountable within Project context


Continuous Integration

Session 1: Introduction

Session 2: Overview of CI

  • What is Continuous Integration?
  • What is the Build?
  • Key CI principles
  • Terminology

Session 3: Why Adopt a CI Process

  • Benefits of Continuous integration
  • Reducing Risk in Software Development

Session 4: The CI process

  • What you need for CI
  • General Working Procedure
  • Nine Key Practices
    • Commit Code Frequently
    • Don’t Commit Broken Code
    • Run private Builds First
    • Fix Broken Builds immediately
    • Avoid Getting Broken Builds
    • Write Automated Developer tests
    • All Tests Must Pass
    • Automate As Much As Possible
    • Shared Ownership

Workshop: 45 mins – 1 hour

Session 5: Making CI Work

  • What stops teams using CI?
    • My project is too big / I have a legacy application / It is too complex etc.
  • Making it happen

Session 5: CI and Testing

  • What should you test?
  • Types of test
  • What tools should you use
  • Testing using mock objects / stubs / fakes
  • Mock Object tools (JMock/Easy Mock etc.)
  • CI and Test Driven Development – the relationship
  • CI and BDD – the relationship



Effective Code Reviews

  • Considers what a code review is
  • Presents the benefits of Code Reviews
  • Provides approach to code reviews
  • Introduces Code Smells and Code refactoring as review techniques
  • Proposes Code Review guidelines and questionnaires
  • Introduces 12 good practices for code reviews
  • Summarises code review tools

Non Functional Requirements

  • Understanding of what Non Functional Requirments are
  • Greater understanding of the importance of Non Functional Requirements
  • Familiarity with the Non Functional Requirements that are important to your company
  • Awareness of how to identify and gather Non Functional Requirements
  • The need for the project as a whole, as well as the developer, to be accountable for Non Functional Requirements

 Continuous Integration

  • Understanding of CI as a process
  • Greater understanding of the benefits of CI
  • Familiarity with the CI Principles and Practices
  • Awareness of how to make CI work within teams

Receive the latest version of this course into your inbox


18th Nov 2019 - 3 days £1795

see all dates


Show Discount for this course


  Bring a JBI course to your office
  and train a whole team onsite
  0800 028 6400
or request quote

  You can customise this course to
  suit your exact needs here
  0800 028 6400 or request quote

0800 028 6400

Why JBI ?

►"great technology tips"
► "Access to exclusive content"
► "Short course means less time off"

►"Inspiring trainers"
► "Joined via web"
► "Knowledgable sales staff"

Get exclusive news about upcoming programs, technical insights & special offers