ನಿಮ್ಮ PRಗಳು ದೊಡ್ಡದಾಗಲು ನಿಜವಾದ ಕಾರಣ
ನಾನು ಒಮ್ಮೆ ಅಭ್ಯಾಸದಂತೆ ಬೃಹತ್ পুল ರಿಕ್ವೆಸ್ಟ್ಗಳನ್ನು (pull requests) ಕಳುಹಿಸುತ್ತಿದ್ದ ಕಂಪನಿಯೊಂದರಲ್ಲಿ ಕೆಲಸ ಮಾಡಿದ್ದೆ. ಒಂದು PR ವಾರಗಟ್ಟಲೆ ತೆರೆದೆಯೇ ಇರುತ್ತಿತ್ತು. ಅದನ್ನು ಪರಿಶೀಲಿಸಲು ಇಡೀ ಸಬ್ಸಿಸ್ಟಮ್ ಅನ್ನು ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಳ್ಳುವುದು ಅಗತ್ಯವಾಗಿತ್ತು. ಬಗ್ಗಳು (bugs) ರಾಶಿಬಿದ್ದವು. ಗಡುವಿನ ಸಮಯಗಳು (deadlines) ತಪ್ಪಿಹೋದವು. ಅಂತಿಮವಾಗಿ, ಯಾರೂ ಅದನ್ನು ಸುರಕ್ಷಿತವಾಗಿ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗದ ಕಾರಣ, ನಾವು ವ್ಯವಸ್ಥೆಯ ದೊಡ್ಡ ಭಾಗವನ್ನು ಮರುನಿರ್ಮಿಸಬೇಕಾಯಿತು.
ಎಂಜಿನಿಯರ್ಗಳು ಕೆಟ್ಟವರಲ್ಲ. ಅವರು ಬುದ್ಧಿವಂತರು ಮತ್ತು ಕಷ್ಟಪಟ್ಟು ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರು. ಆದರೆ ಒಂದು ಸಾಮಾನ್ಯ ಕಾರಣದಿಂದಾಗಿ PRಗಳು ದೊಡ್ಡದಾಗುತ್ತಿದ್ದವು.
ಕೆಲಸವನ್ನು ಹೇಗೆ ಸಣ್ಣ ಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಬೇಕು ಎಂದು ಯಾರಿಗೂ ಅವರಿಗೆ ಕಲಿಸಿರಲಿಲ್ಲ.
ನಾವು ಹೆಚ್ಚಾಗಿ ದೊಡ್ಡ PRಗಳನ್ನು ಶಿಸ್ತಿನ ಸಮಸ್ಯೆಯೆಂದು ಪರಿಗಣಿಸುತ್ತೇವೆ. "ಕೇವಲ ಸಣ್ಣ PRಗಳನ್ನು ಮಾಡಿ" ಎಂದು ನಾವು ಹೇಳುತ್ತೇವೆ. 1,500 ಬದಲಾವಣೆಗಳು ಮತ್ತು 150 ಬದಲಾವಣೆಗಳ ನಡುವಿನ ಏಕೈಕ ವ್ಯತ್ಯಾಸ ಇಚ್ಛಾಶಕ್ತಿ (willpower) ಎಂದು ನಾವು ಭಾವಿಸುತ್ತೇವೆ.
ಇದು ಇಚ್ಛಾಶಕ್ತಿಯ ವಿಷಯವಲ್ಲ. ದೊಡ್ಡ ಕೆಲಸವನ್ನು ಸಣ್ಣ, ಸ್ವತಂತ್ರ ಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸುವುದು ಒಂದು ಕೌಶಲ. ಹೆಚ್ಚಿನ ಜನರಿಗೆ ಇದನ್ನು ಎಂದಿಗೂ ಕಲಿಸುವುದಿಲ್ಲ. ಒಂದು ಟಿಕೆಟ್ನಲ್ಲಿ "add billing" ಎಂದು ಹೇಳಿದಾಗ, ಅದು ಒಂದೇ ಕೆಲಸದಂತೆ ಕಾಣಿಸುತ್ತದೆ. ಒಂದು PR ಎಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಮುಂದಿನದು ಎಲ್ಲಿ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಗುರುತಿಸುವುದು ಕಷ್ಟದ ಕೆಲಸ.
ನಾನು ಕೂಡ ದೊಡ್ಡ PRಗಳನ್ನು ಕಳುಹಿಸುತ್ತಿದ್ದೆ. "ಮುಗಿದಿದೆ" ಎಂದರೆ ಇಡೀ ಸಮಸ್ಯೆಯನ್ನು ಒಂದೇ ಬಾರಿಗೆ ಪರಿಹರಿಸಿ ಪರಿಶೀಲನೆಗೆ ಕಳುಹಿಸುವುದು ಎಂದು ನಾನು ಭಾವಿಸಿದ್ದೆ. ಸಣ್ಣದಾಗಿ ಮಾಡುವುದು ಉತ್ತಮ ಎಂಬುದು ತಿಳಿಯಲು ನನಗೆ ವರ್ಷಗಳೇ ಬೇಕಾಯಿತು.
ಸಣ್ಣ PRಗಳು ನನ್ನದನ್ನು ಎಲ್ಲವನ್ನೂ ಬದಲಿಸಿದವು:
- ಪರಿಶೀಲಕರು (Reviewers) ಹೆಚ್ಚಿನ ಬಗ್ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುತ್ತಾರೆ. ಒಬ್ಬ ಮನುಷ್ಯ 200 ಬದಲಾವಣೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಬಲ್ಲನು. ಆದರೆ 2,000 ಬದಲಾವಣೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅವರು ಕೇವಲ ಮೇಲ್ನೋಟಕ್ಕೆ ನೋಡಿ ಅನುಮೋದಿಸುತ್ತಾರೆ (approve).
- ಮರ್ಜ್ಗಳು (Merges) ವೇಗವಾಗಿ ನಡೆಯುತ್ತವೆ. PRಗಳು ಕ್ಯೂನಲ್ಲಿ (queue) ಕುಳಿತಿರಲು ಸಾಧ್ಯವಿಲ್ಲ.
- ನಾನು ಅತಿಯಾದ ಒತ್ತಡವನ್ನು ಅನುಭವಿಸುವುದನ್ನು ನಿಲ್ಲಿಸಿದೆ. ನಾನು ಏಕಕಾಲದಲ್ಲಿ ಒಂದು ಭಾಗದ ಮೇಲೆ ಮಾತ್ರ ಗಮನ ಹರಿಸಿದೆ.
- ನಾನು ಉತ್ತಮ ಯೋಜಕನಾದೆ (planner). ಕೆಲಸವನ್ನು ವಿಂಗಡಿಸಲು ನೀವು ನಿಮ್ಮ ಕೆಲಸದ ಸ್ವರೂಪವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು.
ನಾನು ವ್ಯವಸ್ಥೆಗಳನ್ನು (systems) ಲೆಗೋ ಬ್ರಿಕ್ಸ್ಗಳಂತೆ (Lego bricks) ನೋಡಲು ಪ್ರಾರಂಭಿಸಿದೆ. ಅವು ಒಂದಕ್ಕೊಂದು ಜೋಡಿಸಬಹುದಾದ ಸಣ್ಣ ತುಣುಕುಗಳು. ಒಮ್ಮೆ ನೀವು ಆ ಬ್ರಿಕ್ಸ್ಗಳನ್ನು ನೋಡಲು ಪ್ರಾರಂಭಿಸಿದರೆ, ಕೆಲಸವನ್ನು ಸಣ್ಣದಾಗಿ ಮಾಡುವುದು ಸಹಜವೆನಿಸುತ್ತದೆ.
ನನ್ನ ಪ್ರಸ್ತುತ ತಂಡವು ಸಣ್ಣ PRಗಳನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಅದರ ಫಲಿತಾಂಶಗಳು ಸ್ಪಷ್ಟವಾಗಿವೆ:
- ನಮ್ಮ ಸರಾಸರಿ ಮರ್ಜ್ ಸಮಯ 1.5 ದಿನಗಳು.
- ಬದಲಾವಣೆಗಳು ಸುಲಭವಾಗಿ ಅರ್ಥವಾಗುವುದರಿಂದ ನಾವು ಬಗ್ಗಳನ್ನು ಬೇಗನೆ ಪತ್ತೆಹಚ್ಚಿ ಸರಿಪಡಿಸುತ್ತೇವೆ.
- ನಮ್ಮ ವಿತರಣಾ ಸಮಯವು (delivery timing) ಸ್ಥಿರವಾಗಿದೆ.
ಕೆಲಸವನ್ನು ವಿಂಗಡಿಸುವುದು ನೀವು ತರಬೇತಿ ನೀಡಬೇಕಾದ ಒಂದು ಕೌಶಲ. ಕೇವಲ ನಿಯಮದಿಂದ ದೊಡ್ಡ PRಗಳನ್ನು ಸರಿಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಜನರಿಗೆ ಆ 'ಬ್ರಿಕ್ಸ್'ಗಳನ್ನು ನೋಡಲು ಕಲಿಸುವ ಮೂಲಕ ನೀವು ಅವುಗಳನ್ನು ಸರಿಪಡಿಸಬಹುದು.
AI ಈ ಕೌಶಲವನ್ನು ಇನ್ನಷ್ಟು ಪ್ರಮುಖವಾಗಿಸುತ್ತದೆ.
ಹಿಂದೆ, 2,000 ಸಾಲುಗಳ ಕೋಡ್ ಬರೆಯಲು ಬಹಳ ಶ್ರಮ ಬೇಕಾಗುತ್ತಿತ್ತು. ಆ ಕಷ್ಟದ ಕಾರಣದಿಂದಾಗಿ PRಗಳು ಸಣ್ಣದಾಗಿದ್ದವು. AI ಆ ಕಷ್ಟವನ್ನು ಹೋಗಲಾಡಿಸಿದೆ. ನೀವು ಕೇವಲ ಒಂದು ಪ್ರಾಂಪ್ಟ್ ಮೂಲಕ ಬೃಹತ್ ಬದಲಾವಣೆಗಳನ್ನು ಸೃಷ್ಟಿಸಬಹುದು.
ಆ ಶ್ರಮವು ಮಾಯವಾಗಿಲ್ಲ. ಅದು ಕೇವಲ ಪರಿಶೀಲಕನಿಗೆ (reviewer) ವರ್ಗಾವಣೆಯಾಗಿದೆ. ಲೇಖಕರಿಗೆ (author) ಯಾವುದೇ ಹೊರೆಯಿಲ್ಲ, ಆದರೆ ಪರಿಶೀಲಕರು ಅದರ ಪೂರ್ಣ ಬೆಲೆಯನ್ನು ತೆರಬೇಕಾಗುತ್ತದೆ.
ಗಾತ್ರವು ಲೇಖಕರು ಮಾಡಿದ ಕೆಲಸದ ಪ್ರಮಾಣವನ್ನು ಸೂಚಿಸದಿದ್ದರೆ, ಗಾತ್ರವು ಅಪಾಯದ ಬಗ್ಗೆ ನಿಮಗೆ ಬಹಳ ಕಡಿಮೆ ತಿಳಿಸುತ್ತದೆ. ಯಾವ ಭಾಗಗಳಿಗೆ ನಿಮ್ಮ ಅತ್ಯಂತ ಎಚ್ಚರಿಕೆಯ ಗಮನ ಬೇಕು ಎಂಬುದನ್ನು ನೀವು ನಿರ್ಧರಿಸಬೇಕು.
ನಿಮ್ಮ ತಂಡಕ್ಕೆ ಪ್ರತಿಯೊಂದು ಸಣ್ಣ ಘಟಕಗಳನ್ನು (bricks) ಗಮನಿಸಲು ಕಲಿಸಿ. ಇದು ಎಂಜಿನಿಯರಿಂಗ್ನಲ್ಲಿ ಅತ್ಯಂತ ಹೆಚ್ಚು ಪ್ರಭಾವ ಬೀರುವ ಅಭ್ಯಾಸವಾಗಿದೆ.
ಯಾವ PRಗಳಿಗೆ ಆಳವಾದ ವಿಮರ್ಶೆ ಬೇಕು ಮತ್ತು ಯಾವವುಗಳನ್ನು ವೇಗವಾಗಿ ಪಾಸು ಮಾಡಬಹುದು ಎಂದು ನಿಮ್ಮ ತಂಡವು ಹೇಗೆ ನಿರ್ಧರಿಸುತ್ತದೆ?
ಮೂಲ: https://dev.to/pixel-wraith/the-real-reason-your-prs-get-big-5cm3
ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi