Software QA

Quality Assurance

noun
  1. the maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production.
Speak to Us →

Who

We’re a small collection of individuals who have the same passions and goals for high quality delivery and maintenance of truly impressive software in all scopes and technologies. We bring with us a wealth of experience that covers all areas of the software development and testing life cycles.

What

Resourcing & Consultation

Due to the nature of how we work we come across many other like minded individuals who (in some cases) think the same way we do and strive for the same goals we have. These individuals are - in our opinion - the best of the best when it comes to software development & testing and the tools, patterns and methodologies that support it.

As well as helping you recruit we can perform bespoke consultation services, our services are customised to your needs but generally they look something like this:

Step 1 - Audit

Generally we'll start by taking stock of the current estate, assessing what resources are to hand and understanding how they're currently being utilised.

We'll take a look at what the requirements from the customers and stakeholders are and see what is currently in place (if anything) to support a solution for those requirements.

Depending on the size of the project or company this can take anywhere between a few days to a few weeks. At the end a report will be generated with our observations and recommendations. This will provide the foundation of any future undertakings and is yours to take away if you choose not to continue.

Step 2 - Planning

A plan will be constructed to address any shortcomings identified, and to implement our recommendations as per the audit report. This plan will cover off all aspects of delivery and ensure that quality assurance and control measures are built into the project or company from the beginning.

All technical recommendations will be fleshed out as part of the planning phase with a view to implementation in the next phase.

Step 3 - Execution

Once completed and agreed upon the plan then moves into an execution phase. The execution phase is traditionally inline with the execution or implementation of a project. This can take many forms such as:

  • Governance of processes and procedures to ensure that all appropriate quality assurance and control measures as laid out are being adhered to.
  • Test planning taking into account the customers needs and specifications.
  • Working along side your organisation as the project is built in order to test all releases to the highest standards using all appropriate tooling and methodologies to achieve the highest coverage possible for the lowest investment possible.
  • Training and assistance to all involved parties in adopting the techniques and practices outlined across the business.

Step 4 - Maintenance & Exit

Once a project moves into completion its important to retrospect and look back on what could have been done differently, we find this to be a hugely important in ensuring mistakes are learnt from and also in streamlining processes and practices for your business.

An exit strategy is also very important, we want to be sure that we don't just leave without providing all the necessary training and handover to support the product moving forward.

How

Software quality assurance and control has taken many forms over the years, from it being the responsibility of the development team alone through to it being a separate function all together and recently back into the realms of a development concern. It's widely accepted that the role of "QA" whether manual or otherwise is focussed around the testing and verification of software releases as they're released. While this is certainly a big part of the job, we believe that there's much more to it.

Quality assurance is defined as "the maintenance of a desired level of quality in a service or product, especially by means of attention to every stage of the process of delivery or production.". If this makes you think "that's sort of what we do" then read on.

Where as quality control is defined as "a system of maintaining standards in manufactured products by testing a sample of the output against the specification.". If this sounds more like what you do then maybe we can help.

Quality control is a vital part of any production line, software or otherwise but it isn't all that can be done. True quality assurance digs deep into the processes that underpin production and aims to change them for the better in order to improve all downstream dependants and ensure a ‘smoother ride' to project completion.

Our Practices

We believe in a "right tool for the job" approach, we don't apply a template or attempt to sell you a pre-packaged solution. Every company is different with different customers, different projects, different technologies and different people! We tailor our services around your needs.

That being said there are things that we know you're looking for and are important in finding the right people for the job. See below for what we consider our ‘core skills'.

  • Development Team Mentoring and QA Training

    In our opinion ensuring that a team and those who manage that team are fully invested and on board with what needs to be done to establish meaningful test coverage is one of the most challenging but necessary aspects of the job. This can take many forms including workshops, 1-to-1's, work and office culture changes and open forums.

  • Agile Coaching

    Once a common goal is established ensuring that everyone is working towards that goal is key, agile coaching is there to ensure that the agile processes are managed and streamlined to ensure that everyone gets the necessary assistance and that appropriate levels of communication are maintained.

  • Test Architecture and Operational Management

    Effective and efficient software development requires substantial operational and architectural investment, software testing commands the same level of attention and know how. We pride ourselves on our knowing what's needed to build and maintain effective test frameworks.

  • Unit and Component Integration Testing

    Unit and integration tests are the foundation on which we build more meaningful customer focussed testing. We take an active role in the maintenance and review of all tests that relate to the project(s) we're involved with.

  • Automated Acceptance and Regression Testing


    We're automation first when it comes to acceptance and regression testing, we feel that if you can automate then you should. We go a step further by assessing your softwares architecture to determine appropriate interception and mocking points. If we say "It cant be automated" then it really can't.

  • Automated Non-functional and Operational Acceptance Testing

    It's all very well being sure that an application functions that way your customers expect it to, but what about validating that it still functions given all kinds of unexpected parameters and situations. We do everything from accessibility, load, operational and basic security testing, we take the view that this type of testing belongs with the QA department and should be assessed as part of planning any new project.

  • Manual Test Framework and Team Support

    Having automated functional and non-functional testing is great! But without a framework in place to facilitate transparent manual test planning and implementation you only have one piece of the puzzle. Integrating a manual test framework and process into your pipeline is hugely important and is something that we have many years experience doing.

Our Principles

  • Customers

    
We believe that your customers must come first! Everything that gets done should be done on their behalf. Maintaining strong relationships with your customers enables your company to grow evolve with a certain degree of safety and assurance.

  • Leadership


    Good leadership is vital to maintaining morale and direction within your teams. A rationale and passionate voice leading from the front is key to the success or failure of any project.

  • People

    
Having the right people for the job can mean the difference between hitting goals and watching them sail past. Competent, enthusiastic and empowered people can be found within any organisation if you know how to look for them.

  • Process

    Having efficient and effective processes that underpin daily activities will mean transparent and predictable results every time.

  • Improvement

    
Being able to identify mistakes is incredibly important, but learning from those mistakes can be a painful process. We believe that re-tracing your steps and constant retrospective on ideas had and implemented will lead to constant improvement moving forward.

  • Decisions


    Analysis based informed decision making sounds a given, but we believe that investing time and energy into this process is hugely important.

  • Relationships

    
Managing relationships inside and outside the company ensures that processes and procedures run smoothly. Plus they help with the overall reputation of your company! This has a direct affect on customer retention and attitude.

Enquire