## How to do an audit from home

### Introduction

A little reminder first,

Audits, as we have told you many times, are an essential part of leveling up and truly acquiring your skills
and knowledge.

Normally, they must be done with your physical presence.
The idea is that they encourage the exchange between the auditors and the members of the group.

If the project fails, the whole group will learn why. And then after all your audits are done you will retry.
During all those extra audits, you, as a group, will discuss about your failures with the auditors.
If the project succeed, you will be an inspiration for the auditors.
In both of those cases you will learn or you will teach. The roles will keep reversing almost every time.

It is, ultimaly, those interactions that are essential for really learning;
To give and receive feedback, but also to see what you really know as an individual and what you do not.
This will increase your capacity to solve problems and your capacity to adapt, which is one of the most important
skill of a good programmer.

Today, once again, we must adapt...
Knowledge is important but not as essential as health.

We really wish all of you to stay safe and healthy at home.

This is why we created a little guideline in how to conduct your audit from home.
There is a video here : [youtube.com/watch?v=J8g8P-IJLJw](https://www.youtube.com/watch?v=J8g8P-IJLJw)

But we are also going to summarize the process.
So here we go.

### Prerequisites for the team captain and the auditor

- A program to communicate and livestream installed (like Discord [discordapp.com](https://discordapp.com/) )
- A program to allows the auditor to take charge of the computer
  of the team captain installed (like teamViewer [teamviewer.com](https://www.teamviewer.com/) )

### Prerequisite for the team captain

The team captain must communicate :

- The contact of his or her teammates to the auditor
- The git repository of the project to be reviewed (the link must be public or accessible for the auditor)
- The team captain must be logged in in his or her session to allow the auditor to start its audit

### Prerequisite for the auditor

- The auditor will need to create the group on the communication program
- The auditor will need to download the project repository
- The auditor, if the internet bandwith allows it, will livestream the process

### Instructions

1. Let the auditor establish the communication with the group members and the captain.

2. Once all prequisites are done from the team captain and the auditor let the audit begin.

3. If possible, the auditor starts the stream.

4. The captain, after checking that the login is done on his or her computer, allows the auditor
   to take control of its computer (with teamViewer for example)

5. The auditor now has the control to start the audit on the computer of the captain.
   The organization of the windows by the auditor might be the tricky part. We suggest
   to see how we did it in the video if you find it difficult.

6. The auditor conducts the audit, if the auditor can not live stream its audits, he or she
   will then explain by voice (or writing in the chat) what he or she is doing to the rest of the group.

7. The audit is conducted until all questions are validated or until a mistake is made.

8. If a mistake is made the auditor can copy paste the commands that detected the mistakes.

9. The group discusses as much as needed until the audit is completed.

10. Once the audit is completed, all programs can be closed up. Say bye and thank you for your time and make the
    necessary conclusions among the members of the group.

### Conclusion

Thank you for reading until the end. Stay safe.

### Bonus

Did you know that there is a nice `Live Share` extension on `vscode`?
This allows to do remote group programming easily. It might be an alternative solution
to the livestream if necessary.
Try it out!

Stay safe everyone! Happy coding!
