1000 ਗਲਤੀਆਂ, ਇੱਕ Google Sheet, ਅਤੇ ਪੰਜ ਘੰਟੇ ਜੋ ਮੈਨੂੰ ਕਦੇ ਵਾਪਸ ਨਹੀਂ ਮਿਲਣਗੇ
ਹਰ ਬੱਗ (bug) ਦੀ ਇੱਕ ਕਹਾਣੀ ਹੁੰਦੀ ਹੈ। ਇਸ ਦੀ ਸ਼ੁਰੂਆਤ ਇੱਕ ਝੂਠ ਨਾਲ ਹੋਈ: "ਇਹ ਮੇਰੀ ਮਸ਼ੀਨ 'ਤੇ ਕੰਮ ਕਰ ਰਿਹਾ ਹੈ।"
ਅਸੀਂ ਇੱਕ ਲੀਡ ਜਨਰੇਸ਼ਨ ਕੰਪਨੀ ਲਈ ਡਾਟਾ ਇੰਪੋਰਟ ਫੀਚਰ ਦੀ ਜਾਂਚ ਕੀਤੀ। ਇਹ ਸਧਾਰਨ ਲੱਗ ਰਿਹਾ ਸੀ। ਤੁਸੀਂ ਇੱਕ ਬਟਨ 'ਤੇ ਕਲਿੱਕ ਕਰਦੇ ਹੋ, ਇੱਕ ਫਾਈਲ ਅਪਲੋਡ ਕਰਦੇ ਹੋ, ਅਤੇ ਡਾਟਾ ਲੋਡ ਹੋ ਜਾਂਦਾ ਹੈ।
ਜ਼ਿਆਦਾਤਰ ਲੋਕ ਮੰਨਦੇ ਹਨ ਕਿ ਇਹ ਫੀਚਰ ਕੰਮ ਕਰਦੇ ਹਨ। ਟੈਸਟਰ ਉਸ ਅੰਦਾਜ਼ੇ ਨੂੰ ਗਲਤ ਸਾਬਤ ਕਰਨ ਲਈ ਹੁੰਦੇ ਹਨ।
'ਹੈਪੀ ਪਾਥ' (happy path) ਇੱਕ ਜਾਲ ਹੈ।
ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਸਾਫ਼ Excel ਫਾਈਲ ਅਪਲੋਡ ਕਰਦੇ ਹੋ, ਤਾਂ ਸਿਸਟਮ ਪਾਸ ਹੋ ਜਾਂਦਾ ਹੈ। ਤੁਸੀਂ ਦੁਪਹਿਰ ਦੇ ਖਾਣੇ ਲਈ ਚਲੇ ਜਾਂਦੇ ਹੋ। ਤੁਸੀਂ ਸੋਚਦੇ ਹੋ ਕਿ ਕੰਮ ਹੋ ਗਿਆ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਉੱਥੇ ਹੀ ਰੁਕ ਜਾਂਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਖਰਾਬ ਕੋਡ ਸ਼ਿਪ ਕਰ ਦਿੰਦੇ ਹੋ। ਇੱਕ ਗਾਹਕ ਪ੍ਰੋਡਕਸ਼ਨ (production) ਵਿੱਚ ਸੋਮਵਾਰ ਦੀ ਸਵੇਰ ਨੂੰ ਇਹ ਗਲਤੀ ਲੱਭ ਲਵੇਗਾ।
ਸਮੱਸਿਆ ਇੱਕ Google Sheet ਸੀ।
ਅਸਲੀ ਯੂਜ਼ਰ ਸਾਫ਼ Excel ਫਾਈਲਾਂ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕਰਦੇ। ਉਹ ਗੜਬੜ ਵਾਲੀਆਂ Google Sheets ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ। ਉਹ ਸਪ੍ਰੈਡਸ਼ੀਟਾਂ ਵਿੱਚ ਹਾਹਾਕਾਰ ਮਚਾਉਂਦੇ ਹਨ ਅਤੇ ਉਮੀਦ ਕਰਦੇ ਹਨ ਕਿ ਸਿਸਟਮ ਇਸ ਨੂੰ ਸੰਭਾਲ ਲਵੇਗਾ।
ਜਦੋਂ ਅਸੀਂ ਇੱਕ Google Sheet ਅਪਲੋਡ ਕੀਤੀ, ਤਾਂ ਸਿਸਟਮ ਫੇਲ ਹੋ ਗਿਆ। ਇਸ ਨੇ 1,000 ਤੋਂ ਵੱਧ ਗਲਤੀਆਂ ਪੈਦਾ ਕੀਤੀਆਂ। ਉਹੀ ਡਾਟਾ ਅਤੇ ਉਹੀ ਬਟਨ ਕਾਰਨ ਪੂਰਾ ਸਿਸਟਮ ਡਿੱਗ ਗਿਆ ਕਿਉਂਕਿ ਫਾਰਮੈਟ ਬਦਲ ਗਿਆ ਸੀ।
ਫਿਰ ਅਸੀਂ ਡਾਟਾ ਦੀ ਗੁਣਵੱਤਾ ਦੀ ਜਾਂਚ ਕੀਤੀ।
- ਕੁਝ ਗਲਤ ਰੋਅ (rows)? ਸਿਸਟਮ ਨੇ ਉਹਨਾਂ ਨੂੰ ਛੱਡ ਦਿੱਤਾ ਅਤੇ ਅੱਗੇ ਵਧ ਗਿਆ।
- ਸੈਂਕੜੇ ਗੜਬੜ ਵਾਲੀਆਂ ਰੋਅ? ਸਿਸਟਮ ਟੁੱਟ ਗਿਆ।
ਵੈਲੀਡੇਸ਼ਨ ਲੌਜਿਕ (validation logic) ਛੋਟੀਆਂ ਗਲਤੀਆਂ ਲਈ ਕੰਮ ਕਰ ਰਿਹਾ ਸੀ। ਪਰ ਜਦੋਂ ਇਸ ਦਾ ਸਾਹਮਣਾ ਕੂੜੇ ਡਾਟਾ ਦੇ ਪਹਾੜ ਨਾਲ ਹੋਇਆ, ਤਾਂ ਇਹ ਫੇਲ ਹੋ ਗਿਆ।
ਅਸੀਂ ਇਸ ਨੂੰ ਡੀਬੱਗ (debugging) ਕਰਨ ਵਿੱਚ ਪੰਜ ਘੰਟੇ ਲਗਾਏ। ਅਸੀਂ ਫਾਈਲ, ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਡਾਟਾ ਨੂੰ ਦੋਸ਼ੀ ਮੰਨਿਆ। ਅਸੀਂ ਤਾਂ ਕੌਫੀ ਨੂੰ ਵੀ ਦੋਸ਼ੀ ਮੰਨ ਲਿਆ।
ਉਹ ਪੰਜ ਘੰਟੇ ਸਸਤੇ ਸਨ। ਇਸ ਦਾ ਵਿਕਲਪ ਬਹੁਤ ਮਹਿੰਗਾ ਸੀ। ਜੇਕਰ ਕੋਈ ਗਾਹਕ ਇਹ ਬੱਗ ਲੱਭ ਲੈਂਦਾ ਹੈ, ਤਾਂ ਉਹ ਤੁਹਾਡੇ ਉਤਪਾਦ 'ਤੇ ਭਰੋਸਾ ਗੁਆ ਬੈਠਦਾ ਹੈ। ਤੁਸੀਂ ਟੈਸਟਿੰਗ ਵਿੱਚ ਬੱਗਾਂ ਲਈ ਸਮੇਂ ਨਾਲ ਭੁਗਤਾਨ ਕਰਦੇ ਹੋ। ਤੁਸੀਂ ਪ੍ਰੋਡਕਸ਼ਨ ਵਿੱਚ ਬੱਗਾਂ ਲਈ ਗਾਹਕਾਂ ਨਾਲ ਭੁਗਤਾਨ ਕਰਦੇ ਹੋ।
ਮੈਂ ਸਮੇਂ ਨਾਲ ਭੁਗਤਾਨ ਕਰਨਾ ਪਸੰਦ ਕਰਦਾ ਹਾਂ।
ਅਸਲੀ ਬੱਗ ਲੱਭਣ ਲਈ, ਤੁਹਾਨੂੰ ਆਪਣੀ ਸੋਚ ਬਦਲਣੀ ਪਵੇਗੀ। ਇਹ ਨਾ ਪੁੱਛੋ ਕਿ ਕੀ ਸਾਫਟਵੇਅਰ ਕੰਮ ਕਰਦਾ ਹੈ। ਇਹ ਪੁੱਛੋ ਕਿ ਇਸ ਨੂੰ ਕਿਵੇਂ ਤੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਡਿਵੈਲਪਰ ਵਾਂਗ ਸੋਚਣਾ ਬੰਦ ਕਰੋ। ਇਸ ਤਰ੍ਹਾਂ ਸੋਚਣਾ ਸ਼ੁਰੂ ਕਰੋ:
- ਉਹ ਆਲਸੀ ਯੂਜ਼ਰ ਜੋ ਗਲਤ ਫਾਈਲ ਫਾਰਮੈਟ ਅਪਲੋਡ ਕਰਦਾ ਹੈ।
- ਉਹ ਹਾਹਾਕਾਰ ਮਚਾਉਣ ਵਾਲਾ ਯੂਜ਼ਰ ਜਿਸ ਕੋਲ ਮਰਜ ਕੀਤੇ ਹੋਏ ਸੈੱਲ (merged cells) ਅਤੇ ਖਾਲੀ ਰੋਅ ਹਨ।
- ਉਹ ਬਲਕ ਯੂਜ਼ਰ ਜਿਸ ਕੋਲ 10 ਸਾਫ਼ ਰਿਕਾਰਡਾਂ ਦੀ ਬਜਾਏ 4,000 ਗੰਦੇ ਰਿਕਾਰਡ ਹਨ।
- ਉਹ ਸ਼ਰਾਰਤੀ ਯੂਜ਼ਰ ਜੋ ਬਿਲਕੁਲ ਉਹੀ ਕਰਦਾ ਹੈ ਜੋ ਉਸ ਨੂੰ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ।
ਸਾਫਟਵੇਅਰ ਉਹਨਾਂ ਇਨਪੁੱਟਸ (inputs) 'ਤੇ ਟੁੱਟਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦੀ ਤੁਸੀਂ ਉਮੀਦ ਨਹੀਂ ਕਰਦੇ।
"ਸਧਾਰਨ" ਫੀਚਰ ਸਭ ਤੋਂ ਖ਼ਤਰਨਾਕ ਹੁੰਦੇ ਹਨ। ਇੰਪੋਰਟ ਬਟਨ ਅਤੇ ਸਰਚ ਬਾਕਸ ਨੁਕਸਾਨ ਰਹਿਤ ਲੱਗਦੇ ਹਨ। ਪਰ ਉਹ ਨਹੀਂ ਹਨ।
ਅਗਲੀ ਵਾਰ ਜਦੋਂ ਕੋਈ ਫੀਚਰ 'ਹੈਪੀ ਪਾਥ' ਪਾਸ ਕਰ ਲੈਂਦਾ ਹੈ, ਤਾਂ ਉਹ ਵਿਅਕਤੀ ਬਣੋ ਜੋ ਪੁੱਛਦਾ ਹੈ: "ਕੀ ਹੋਵੇਗਾ ਜੇ ਮੈਂ ਸਭ ਤੋਂ ਮਾੜੀ ਫਾਈਲ ਅਪਲੋਡ ਕਰਾਂ ਜਿਸਦੀ ਕਲਪਨਾ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ?"
ਫਿਰ ਜਾਓ ਅਤੇ ਇਹ ਕਰੋ।
