Bough is the real secret agent. Johnny English is just his cover or sidekick.Their personalities just make it LOOK like Johnny is the secret agent. Bough is rather quiet and appears to be shy, whereas Johnny English is brash, idiotic and VERY outgoing. But Bough is the one who is an official agent. Johnny simply has a desk job until his "promotion". Johnny runs around causing chaos, harassing Sauvage, and generally trying to be the secret agent; Bough runs around behind the scenes getting the needed evidence and bailing Johnny out when necessary. Hey, most good spies are quiet and reserved. That way, they can get away with more before the other side catches on.
Johnny English didn't make the orange-haired, eye patched, banana-shape scarred thief up......as revealed in the end credits. Likely, they met in the past and English simply used him as a scapegoat for the theft of the Crown Jewels.
"Johnny English" is in fact Nigel Small-Fawcett from Never Say Never AgainIn the ending of that film, James Bond decided to retire from MI6, and Atkinson's character, Small-Fawcett was sent to persuade Bond to change his mind. When Bond replied "never again" (and threw him into his swimming pool for good measure), Small-Fawcett was too afraid to tell M that he'd failed to coax Bond back, and so made up some story about how he'd saved Bond from a SPECTRE assassin and been encouraged to take his old job. Bond corroborates his claims over the telephone just so that M will stop bugging him, and Small-Fawcett is made into an agent, with the codename "Johnny English."