ચિરાગ પટેલ

એક રૂપક છે. સમુદ્રમાં શાર્ક હોય છે જે મોટા ભાગની માછલીઓ કરતાં મોટી અને ખૂંખાર હોય છે. ક્યારેક એ શાર્કને પાંખો ફૂટે છે અને એ ઊડતી-ઊડતી કોર્પોરેટ હેડ-કવાર્ટરમાં જતી હોય છે. જયારે એ પાછી ફરે છે, ત્યારે બધાં માટે કોઈ સંદેશો લેતી આવે છે. એ વખતે નવશીખિયા અચંબિત થઈને શાર્કને સાંભળતા હોય છે, પણ એ શું કહેવા માંગે છે એ સહેજે સમજતા નથી ! થોડાં અનુભવીઓને શાર્કના આવતાં પહેલાં જ અંદેશો આવી જાય છે, તો વળી થોડાં ભયભીત થઈને કકળાટ શરૂ કરી દે છે ! જયારે, ગુરુ તો પોતાનાં ટર્મિનલ પર પ્રોગ્રામ લખ્યાં કરતા હોય છે, શાર્ક આવે કે જાય એમને કોઈ ફેર નથી પડતો ! તેઓ તો પોતાની મસ્તી (એટલે કે પ્રોગ્રામ લખવા)માં વ્યસ્ત હોય છે !

મોટાભાગના કોર્પોરેટ હાઉસમાં આવી જ નીતિ-રીતિ ચાલતી હોય છે, એનો ઘણાંને અનુભવ હશે !

આપણે આજે સોફ્ટવેર મૅનેજમૅન્ટનું કામ કેવી રીતે થાય છે એ જોઈશું.

સોફ્ટવેરની રૂપરેખા નક્કી થઈ ગયા પછી એમાં નક્કી કરેલા ફીચર પર કામ કરવા માટે યથાયોગ્ય વ્યક્તિઓની પસંદગી પ્રોગ્રામ મૅનેજર કરતો હોય છે. એમાં મુખ્યત્વે અનુભવ અને કૌશલ્યના આધારે કામની વહેંચણી થાય છે. ત્યારબાદ, દરેક પ્રોગ્રામર પોતાને ફાળે આવેલા કામ માટે વિચારણા કરી એક-બે દિવસમાં ઊંડાણપૂર્વક વિચારણા કરી ક્રમવાર શું-શું કરવું પડશે એ નક્કી કરે છે અને બધા પ્રોગ્રામર અને મૅનેજર ભેગાં મળીને વિગતવારનું સમયપત્રક તૈયાર કરે છે. દરેક પ્રોગ્રામર પોતાના અનુભવના આધારે સમયમર્યાદા નક્કી કરે છે. એના પરથી મૅનેજર દરેક ફીચર માટે મુખ્ય પ્રોગ્રામર અને તેની અવેજીમાં એ ફીચર પર કામ કરી શકે એ માટે બેક-અપ પ્રોગ્રામર નક્કી કરે છે. સમગ્ર અહેવાલ ટોપ-લેવલ મૅનેજમૅન્ટને સુપરત કરી એની મંજૂરી લઈ લેવામાં આવે છે. ઘણી વાર, જો સમયમર્યાદા લંબાતી લાગે તો ટોપ-લેવલ મૅનેજમૅન્ટ અમુક ફીચરને પહેલા રિલીઝમાંથી કાઢીને ભવિષ્ય માટે નક્કી કરે છે અને એ રીતે પ્રોડક્ટ એટલેકે સોફ્ટવેર વહેલું રિલીઝ કરી શકાય એ માટે પ્રયત્ન કરે છે. લગભગ 7-10 દિવસમાં સમગ્ર પ્રોડક્ટ બનાવીને રિલીઝ કરવાનું સમયપત્રક નક્કી કરી દેવામાં આવે છે.

ઘણી વાર આપણને એવું લાગે કે આટલું ઝીણું કાંતવાની શી જરૂર છે ? પરંતુ, જ્યાં કોર્પોરેટ સંસ્થા લોકોને જવાબદેય હોય છે ત્યાં એનું એક-એક પગલું કંપનીના ભવિષ્ય માટે અગત્યનું હોય છે. છેવટે તો દરેક પગલું કંપનીને નફો રળવાની દિશામાં આગળ લઈ જતું હોય છે અને એ કંપનીના રોકાણકારોને ફાયદો કરાવતું હોય છે. આ ધ્યેય નજર સમક્ષ રાખીને જ કોર્પોરેટ મૅનેજમૅન્ટ કામ કરતું હોય છે ! મુડીવાદી કાર્યવાહીમાં આ અગત્યનું છે.

અહીં એક અગત્યનો મુદ્દો એ છે કે કોર્પોરેટહિત એટલે કે નફાની ચિંતા કરવી એ કોર્પોરેટનું મુખ્ય લક્ષ્ય છે, પરંતુ નફો રળવાની લ્હાયમાં અનીતિપૂર્ણ કે ભ્રષ્ટ પગલાંથી બચવું જોઈએ ! જ્યારે નીતિ નેવે મુકાઈ જાય છે, ત્યારે ઘણીબધી  બદીઓને ઉત્તેજન મળતું હોય છે. મારો અનુભવ છે કે જે કંપનીઓની પ્રોડક્ટ નવી ટૅકનોલૉજી, સોફ્ટવેર વગેરે છે એ નૈતિક રીતે પરંપરાગત પ્રોડક્ટ કે કામગીરી ધરાવતી કંપનીઓ કરતાં વધુ સારી છે. આશા રાખીએ કે મોટાભાગની કંપનીઓ ભ્રષ્ટ આચારથી બચે, તો પરિણામે સમાજમાંથી પણ ભ્રષ્ટાચાર ઘટશે !

ફરી પાછા આપણા મૂળ મુદ્દા પર આવીએ. સોફ્ટવેરના દરેક ગુણવિશેષ (feature) માટે એક પ્રોગ્રામર નક્કી કર્યા પછી, દરેક ગુણવિશેષનો એક બેક-અપ પ્રોગ્રામર રાખવો જરૂરી એટલા માટે છે કે, જેથી કોઈ કટોકટીમાં મૂળ સમયપત્રક પર ઝાઝી અસર ન થાય. ઘણી વાર, કોઈ પ્રોગ્રામર અધવચ્ચે નોકરી છોડી દે અથવા માંદો પડે અથવા રજા લે તો એવા સમયે બીજો પ્રોગ્રામર એ ફીચર પર કામ કરી શકે. આ માટે પ્રોગ્રામ મૅનેજર દરેક ફીચરના સમયપત્રકમાં 20% જેવો સમય વધુ ફાળવતો હોય છે.

પ્રોજેક્ટ મૅનેજમૅન્ટ માટે એક ખાસ પ્રકારની કાર્યપદ્ધતિ ઉપયોગમાં લેવાય છે, જેને સ્ફુર્તીલું પ્રોગ્રામીંગ (Agile Programming) કહે છે. આ પદ્ધતિ મુજબ, પ્રોજેક્ટ મૅનેજર દરેક બે દિવસે 15-30 મિનિટ ઊભા-ઊભા જ મળી લેવાનું (Stand-up Meeting) કરે છે, એમાં દરેક પ્રોગ્રામરને કોઈ તકલીફ હોય કે કોઇ બાબતે વહેલું-મોડું થતું હોય તો એ માટે નિકાલની વ્યવસ્થા કરવામાં આવે છે. દરેક બે અઠવાડિયે વેગીલા આયોજનની બેઠક (Sprint Planning Meeting) થાય છે. આ મિટીંગમાં ગત બે અઠવાડિયાનો દરેકનો અહેવાલ લેવામાં આવે છે તથા દરેક ફીચરમાં કામ કેટલું થયું અને એના સમયપત્રકમાં કોઈ ફેરફાર કરવો છે કે નહિ એની ચર્ચા થાય છે. આ આખી ચર્ચામાં, દરેકે-દરેક ગ્રુપના કામગારો ભેગા મળી પ્રોજેક્ટ કે પ્રોડક્ટ વિષે સમગ્ર અહેવાલનો ચિતાર મેળવે છે.

હું અનુભવે એક વાત શીખ્યો છું કે, પોતાના ક્ષેત્રની અગ્રણી કે નિષ્ણાત વ્યક્તિને સમયને ચોરી લેવાની કળા બહુ સારી હસ્તગત હોય છે ! આમ ચોરી કરીને કરેલી દરેક પળનો બહુ જ સચોટપણે, કાર્યક્ષમ ઉપયોગ કરવાની સાથેસાથે તેઓ વિવિધ બાબતો પર એકાગ્ર રહી એક સાથે અનેક કામો પર પાડવામાં બહુ જ અસરકારકપણે સફળ રહે છે.


આ લેખના લેખક શ્રી ચિરાગ પટેલનાં સપર્કસૂત્રઃ


પાદ નોંધઃ

Agile Programming આમ તો સોફ્ટ્વેર ઉદ્યોગ સાથે સંકળાયેલાં લોકો માટે વધારે રસ ધરાવતો વિષય કહી શકાય. પરંતુ આ વિષયને લગતા કેટલાક સંદર્ભોમાં તેને આપણાં રોજબરોજનાં જીવનમાં પણ અપનાવી શકવાની શક્યતાઓ જોવા મળે છે.

તેથી અહીં આ વિષયને લગતા કેટલાક પરિચયાત્મક ટૅક્નીકલ સંદર્ભ અહીં મૂક્યા છે, જેથી આ વિષયને થોડો વિગતે સમજી શકાય.

  • What Is Agile? (10 Key Principles of Agile)
  1. Active user involvement is imperative
    2. The team must be empowered to make decisions
    3. Requirements evolve but the timescale is fixed
    4. Capture requirements at a high level; lightweight & visual
    5. Develop small, incremental releases and iterate
    6. Focus on frequent delivery of products
    7. Complete each feature before moving on to the next
    8. Apply the 80/20 rule
    9. Testing is integrated throughout the project lifecycle – test early and often
    10. A collaborative & cooperative approach between all stakeholders is essential

See more at: http://www.allaboutagile.com/what-is-agile-10-key-principles/#sthash.4ZhNutzQ.dpuf

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on
the right, we value the items on the left more.

Building software is more like creating a work of art, it requires creativity in design and ample craftsmanship to complete. Software remains malleable, often illogical, and incomplete forever. Agile software development is based on fundamental changes to what we considered essential to software development ten years ago.
The most important thing to know about Agile methods or processes is that there is no such thing. There are only Agile teams. The processes we describe as Agile are environments for a team to learn how to be Agile.

  • Agile Development – “Agile Development” is an umbrella term for several iterative and incremental software development methodologies. The most popular agile methodologies include Extreme Programming (XP), Scrum, Crystal, Dynamic Systems Development Method (DSDM), Lean Development, and Feature-Driven Development (FDD).

અને હવે રોજબરોજના આપણા જીવનને સ્પર્શતા વિષયો પરના બે સંદર્ભને પણ વિગતે જોઈએ.

Bruce Feiler has a radical idea: To deal with the stress of modern family life, go agile. Inspired by agile software programming, Feiler introduces family practices which encourage flexibility, bottom-up idea flow, constant feedback and accountability. One surprising feature: Kids pick their own punishments.

After Dad’s success with agile practices in his workplace, the Starr family borrowed lessons learned at work to form a highly effective iterative model of management for their home life. This agile-inspired methodology keeps a family of six organized and working together with less friction for more than three years.

 

Print Friendly
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmailby feather

2 Comments

  • એજાઇલ પ્રોગ્રમીંગ જેવા વિષયને રોજબરોજના અનુભવો સાથે સાંકળી લેવાને કારણે એ વિષયમાં ફરીથી ઊંડા જવા માટેની તક પણ મળી. વળી,આવી બહુ જ ચોક્કસ સંદર્ભમાં વપરાતી ટેકનીકનો કુટુંબના સંદર્ભે જે ઉપયોગ કરાયો છે તેવા બે સંદર્ભ લેખો તો બોનસ જ પરવડ્યા.

    ચિરાગભાઇને વિનંતિ કે તેઓ સોફ્ટવેર મૅનેજમૅન્ટની કેટલીય તેઅનીકલ વાતોનો સરળ પરિચય કરાવતા રહે છે તે જ રીતે આ લેખમાં વપરાયેલ બે પારીભાષીક શબ્દપ્રયોગો – ‘ઊભા-ઊભા જ મળી લેવાનું (Stand-up Meeting)’ અને ‘વેગીલા આયોજનની બેઠક (Sprint Planning Meeting)’ – અને તેના જેવા અનેક કન્સેપ્ટ્સ વિષે પણ આવા જ રસપ્રદ અને માહિતીપ્રચુર લેખો કરતા રહે.

  • pragnaju says:

    મા અશોકભાઇ ની કોમેંટ વાંચી આ પોસ્ટ સમજવા પ્રયત્ન કર્યો.
    તેમા રોજબરોજના આપણા જીવનને સ્પર્શતા વિષયો .ચપળ પ્રોગ્રામિંગ – તમારા પરિવાર માટે – –
    આધુનિક કુટુંબ જીવનના તણાવ સાથે કામ કરતા માટે: ચપળ સોફ્ટવેર પ્રોગ્રામિંગ દ્વારા પ્રેરણા, સુગમતા, સતત વિચાર પ્રવાહ, સતત પ્રતિભાવ અને જવાબદારી પ્રોત્સાહિત કુટુંબ પદ્ધતિઓ !
    એક આશ્ચર્યજનક લક્ષણ: બાળકો તેમની સજા પોતે જ નક્કી કરે !
    મા શ્રી ચિરાગભાઇ જાણે છે કે અહીં બાળકને સજા બોલવાનું તો દૂર વિચારાય પણ નહીં !.મદદ કરવાની હોય તો પણ પહેલા પૂછવું પડે,” આર યુ ઓ કે ? ” ત્યારે આ તો જાતે જ ટા ઇ મ આ ઉ ટ !!
    ” કુટુંબ મેનેજમેન્ટ ખૂબ અસરકારક પુનરાવર્તન મોડલ રચે છે આ ચપળ પ્રેરિત પદ્ધતિનો આયોજન “અંગે
    વિગતવાર સમજવા પ્રયત્ન કરશુ.આપના બીજા લેખોની રાહ જોઇએ
    અને આવા વિષય અંગે પૂછીએ તો ‘નો યુઝ.’ કહેનાર ગ્રાંડ ચીલ્ડરનને કહીશું….
    ‘That is, while there is value in the items on
    the right, we value the items on the left more.’

1 Trackback or Pingback

Leave a Reply

Your email address will not be published. Required fields are marked *

Powered By Indic IME