"కాబట్టి, నేను మీకు ఎజైల్ మరియు స్క్రమ్ గురించి చెప్పాలనుకుంటున్నాను ."
"21వ శతాబ్దం ప్రారంభంలో, ప్రోగ్రామింగ్ గురించి ప్రజలు ఆలోచించే విధానం తలకిందులైంది."
"దీర్ఘకాలిక ప్రణాళిక పనిచేయడం లేదని అందరూ నమ్మారు, కాబట్టి వారు దానిని పూర్తిగా వదిలివేయాలని నిర్ణయించుకున్నారు."
"వారు అలా ఎలా చేసారు?"
"ఇదిగో ఎలా."
"వారు సాధ్యమయ్యే అత్యంత సౌకర్యవంతమైన ప్రాజెక్ట్ నిర్వహణ విధానాన్ని కనుగొన్నారు."
చురుకైన అభివృద్ధి వెనుక ఉన్న ప్రధాన ఆలోచనలు ఇక్కడ ఉన్నాయి :"
- ప్రక్రియలు మరియు సాధనాల కంటే వ్యక్తులు మరియు కమ్యూనికేషన్ చాలా ముఖ్యమైనవి;
- సమగ్ర డాక్యుమెంటేషన్ కంటే పని ఉత్పత్తి చాలా ముఖ్యమైనది;
- ఒప్పందం యొక్క నిబంధనలను నెరవేర్చడం కంటే కస్టమర్తో సహకరించడం చాలా ముఖ్యం;
- అసలు ప్రణాళికకు కట్టుబడి ఉండటం కంటే మార్చడానికి సుముఖత చాలా ముఖ్యం.
వేగవంతమైన అభివృద్ధి సూత్రాలు ఇక్కడ ఉన్నాయి:
- విలువైన సాఫ్ట్వేర్ను ముందుగానే మరియు నిరంతరం సరఫరా చేయడం ద్వారా కస్టమర్ను సంతృప్తి పరచడం;
- అభివృద్ధి ముగింపులో కూడా అవసరాలలో మార్పులను స్వాగతించండి (ఇది తుది ఉత్పత్తి యొక్క పోటీతత్వాన్ని పెంచుతుంది);
- పని చేసే సాఫ్ట్వేర్ను తరచుగా పంపిణీ చేయండి (ప్రతి నెల లేదా వారం లేదా అంతకంటే ఎక్కువ తరచుగా);
- మొత్తం ప్రాజెక్ట్ అంతటా కస్టమర్ మరియు డెవలపర్ల మధ్య రోజువారీ సంభాషణను మూసివేయండి;
- అవసరమైన పని పరిస్థితులు, మద్దతు మరియు నమ్మకాన్ని అందించిన ప్రేరేపిత వ్యక్తులచే ప్రాజెక్ట్ పని చేయబడుతుంది;
- సమాచారాన్ని కమ్యూనికేట్ చేయడానికి ఇష్టపడే పద్ధతి వ్యక్తిగత (ముఖాముఖి) సంభాషణ;
- వర్కింగ్ సాఫ్ట్వేర్ పురోగతి యొక్క ఉత్తమ కొలత;
- స్పాన్సర్లు, డెవలపర్లు మరియు వినియోగదారులు నిరవధిక కాలానికి స్థిరమైన వేగాన్ని కొనసాగించగలగాలి;
- సాంకేతిక నైపుణ్యం మరియు వినియోగదారు-స్నేహపూర్వక రూపకల్పనను మెరుగుపరచడంపై స్థిరమైన దృష్టి;
- సరళత అనేది నిరుపయోగంగా పని చేయని కళ;
- ఉత్తమ సాంకేతిక అవసరాలు, రూపకల్పన మరియు నిర్మాణం స్వీయ-వ్యవస్థీకృత బృందం నుండి వస్తాయి;
- మారుతున్న పరిస్థితులకు స్థిరమైన అనుసరణ.
"సాఫ్ట్వేర్ డెవలప్మెంట్తో ఉన్న ప్రధాన సమస్య ఏమిటంటే, ఏ దశలోనూ పాల్గొనేవారిలో ఎవరికీ ఏమి చేయాలో పూర్తి సమాచారం లేదు."
"కస్టమర్ అతను ప్రోగ్రామ్ను ఎలా ఊహించాడో మీకు చెప్పగలడు, కానీ అతను ఏదైనా వదిలివేస్తాడు లేదా ఏదైనా పెద్దగా తీసుకుంటాడు."
"మేనేజర్ సాధారణంగా అవసరాలను ప్రోగ్రామింగ్ పరిభాష నుండి కస్టమర్ యొక్క భాషలోకి అనువదించవలసి ఉంటుంది మరియు మళ్లీ తిరిగి వస్తుంది."
"చాలా అనిశ్చితి ఉంది."
"తరచుగా కస్టమర్ అవసరాలు ఇలా ఉంటాయి: దీన్ని ఏదో ఒక పద్ధతిలో చేయండి, ఆపై నాకు చూపించండి — నాకు నచ్చకపోతే, మీరు దీన్ని మళ్లీ చేయవచ్చు."
"అయ్యో... భయంకరంగా ఉంది."
"కొత్త నమూనా ప్రకారం, ప్రోగ్రామర్లు ఇకపై ఉత్పత్తి లేదా ప్రోగ్రామ్ను అభివృద్ధి చేయడం లేదు. బదులుగా, వారు కస్టమర్కు అవసరమైన కార్యాచరణను అమలు చేస్తున్నారు."
"తేడా ఏమిటి?"
"సరే, ప్రోగ్రాం డెవలప్మెంట్కి ఒక సంవత్సరం పట్టిందనుకోండి. ఇంకా చూసేందుకు ఏదైనా ఉండాలంటే ఆరు నెలలు గడిచిపోవాలి. ఇది పెద్ద ఇల్లు కట్టడం లాంటిది: ముందుగా మీరు పునాది కోసం గొయ్యి తవ్వండి, ఆపై పునాది వేయండి, గోడలు, పైకప్పు, ట్రిమ్ మొదలైనవి నిర్మించండి."
"కానీ ఇప్పుడు ప్రోగ్రామర్లు వీలైనంత త్వరగా అవసరమైన కార్యాచరణను విడుదల చేయడానికి ప్రయత్నిస్తున్నారు. ఇది మొదట గుడిసెను, తరువాత మొబైల్ ఇంటిని, తరువాత ఒక చిన్న ఇంటిని, ఆపై మాత్రమే విడతల వారీగా పెద్ద ఇంటిని నిర్మించినట్లుగా ఉంటుంది."
" కస్టమర్కు తనకు ఏమి కావాలో సరిగ్గా తెలియదని పరిగణనలోకి తీసుకుంటే, ఇది చాలా సహేతుకమైన విధానం."
"కస్టమర్కి పెద్ద హంటింగ్ లాడ్జ్ కావాలి అనుకుందాం."
"డెవలపర్లు అతనికి ఒక చిన్నదాన్ని నిర్మించారు. అతను శీతాకాలం కోసం అందులో నివసిస్తాడు. అప్పుడు అతను చెక్క గృహాలను ఇష్టపడనని నిర్ణయించుకుంటాడు. ఇటుకతో తయారు చేద్దాం."
"అతను ఒక వేసవిలో సరస్సు సమీపంలో నివసిస్తున్నాడు, కానీ దోమలు అతనిని సజీవంగా తింటాయి. సరస్సులు చల్లగా ఉన్నాయని అతను ఎక్కడో విన్నాడు, కాబట్టి అతను దానిని కలిగి ఉన్నాడని అతను భావించాడు. కానీ ఇప్పుడు అతనికి సరస్సు అక్కరలేదు. మరియు దానిని నిర్మించడం సులభం అవుతుంది. ఇల్లు ఈ విధంగా ఉంది: సరస్సు లేదు అంటే వరదల ముప్పు లేదు మరియు మీరు ఇంటిని స్టిల్ట్లపై కాకుండా నేలపై నిర్మించవచ్చు, ఇది 25% వేగంగా ఉంటుంది."
"ఆసక్తికరమైన సారూప్యత. కస్టమర్లు నిజంగా వారి అవసరాలను తరచూ మార్చుకుంటారా?"
"అవును, కానీ సమస్య కస్టమర్ది కాదు."
"మొదట, భవిష్యత్తులో పరిస్థితులు ఎలా మారతాయో ఊహించడం చాలా కష్టం. మేనేజర్లు, టెస్టర్లు మరియు ప్రోగ్రామర్లు అందరూ కూడా ఇలాగే చేస్తారు. విషయాలు ఎలా జరుగుతాయి అనేదానిపై ఆధారపడి వారు తమ ఆలోచనలను కూడా మార్చుకుంటారు."
"రెండవది, కస్టమర్ యొక్క అవసరాలు చాలా ముఖ్యమైనవి కాదా? అన్నింటికంటే , ఈ పని అంతా కస్టమర్కు అవసరమైన వాటిని సృష్టించడం , అతను మొదట సృష్టించమని చెప్పినది కాదు ."
"వాస్తవానికి, ఇది ఇలాగే పని చేస్తుంది: వ్యాపార విశ్లేషకులు అన్ని అవసరాల జాబితాను తయారు చేస్తారు. వారు ఈ జాబితాను ఒప్పందంలో చేర్చి, సంతకం చేసి, జాబితా ప్రకారం మాత్రమే పని చేస్తారు."
"లిస్ట్లో కస్టమర్కు నిజంగా అవసరమైనది తప్పితే కానీ మర్చిపోయి ఉంటే, దాని గురించి ఎవరూ ఏమీ చేయరు."
"నేను చూస్తున్నాను. ప్రణాళికను అనుసరించడం చాలా సులభం, కానీ ప్రణాళిక ప్రకారం ప్రతిదీ చేయలేము!"
"సరిగ్గా."
"అందుకే చురుకైన అభివృద్ధి పద్ధతులు కనుగొనబడ్డాయి."
"మరియు ఈ రోజు నేను మీకు స్క్రమ్ గురించి చెప్పబోతున్నాను - వాటిలో అత్యంత ప్రజాదరణ పొందినది.
"స్క్రమ్ యొక్క ప్రాథమిక లక్షణం ప్రాజెక్ట్ అభివృద్ధిని చిన్న పునరావృతాలుగా విభజించడం - సాధారణంగా 2-4 వారాల పొడవు ఉంటుంది. ప్రతి పునరావృత్తిని స్ప్రింట్ అంటారు."
"స్ప్రింట్ ప్రారంభంలో, స్ప్రింట్ ప్రణాళిక సమావేశం జరుగుతుంది. ఇది 3-4 గంటలు ఉంటుంది."
"చివరికి, పూర్తిగా పూర్తయిన పనులన్నింటి ప్రదర్శన ఉంది."
"ప్రతిదీ సాధారణంగా ఎలా పని చేస్తుందో ఇక్కడ ఉంది:"
"మొదటి స్ప్రింట్కు ముందు, కస్టమర్ (లేదా కస్టమర్ యొక్క ప్రతినిధి) అవసరాల జాబితాను రూపొందించారు, అంటే ప్రోగ్రామ్ చేయగలిగిన విషయాల సమితి. ఈ అవసరాలను సాధారణంగా వినియోగదారు కథనాలు అంటారు , మరియు కస్టమర్ సాధారణంగా ఉత్పత్తి యజమానిని పిలిచారు ."
"అతను ఉత్పత్తి యజమాని అని పిలుస్తారు, ఎందుకంటే ఉత్పత్తి అతని కోసం వ్రాయబడింది. అతను మరియు అతను మాత్రమే అవసరాల జాబితాను నిర్వచిస్తాడు - ఏమి, ఎప్పుడు మరియు ఏ క్రమంలో."
"అదనంగా, ఉత్పత్తి యజమాని సాధారణంగా విధి ప్రాధాన్యతలను కేటాయిస్తారు. అత్యధిక ప్రాధాన్యత కలిగిన పనులు ముందుగా అమలు చేయబడతాయి. అవసరాల మొత్తం జాబితాను ఉత్పత్తి బ్యాక్లాగ్ అని కూడా పిలుస్తారు ."
"స్ప్రింట్ ప్రారంభమైనప్పుడు, ప్రతి ఒక్కరూ మీటింగ్ కోసం సమావేశమవుతారు. స్క్రమ్ మాస్టర్ , సాధారణంగా బృందంలోని సభ్యుడు, సాధారణంగా సమావేశానికి నాయకత్వం వహిస్తాడు. ప్రస్తుత స్ప్రింట్ (అభివృద్ధి యొక్క పునరావృతం) కోసం టాస్క్లను ( యూజర్ స్టోరీ ) ఎంచుకోవడం మీటింగ్ లక్ష్యం. "
"మొదట, బృందం ప్రతి పనిని అబ్స్ట్రాక్ట్ మ్యాన్-డేస్లో స్థూలంగా అంచనా వేస్తుంది, దీనిని స్టోరీ పాయింట్లుగా కూడా పిలుస్తారు. ఆ తర్వాత స్ప్రింట్ సమయంలో వారు ఎన్ని టాస్క్లను పూర్తి చేయాలనేది బృందం నిర్ణయిస్తుంది."
"మళ్ళీ, స్ప్రింట్ సమయంలో వారికి ఎన్ని పనులు పూర్తి చేయాలనేది జట్టు స్వయంగా నిర్ణయిస్తుంది."
"బృందం మొదటి 7 టాస్క్లను ఎంచుకోవాలని ఉత్పత్తి యజమాని ఆశించారు, కానీ అది 5ని మాత్రమే ఎంచుకున్నారు, తర్వాత 6 మరియు 7 టాస్క్లు తదుపరి స్ప్రింట్కి వాయిదా వేయబడ్డాయి. అది ఉత్పత్తి యజమానికి సరిపోకపోతే, అతను టాస్క్ల ప్రాధాన్యతను పెంచవచ్చు. 6 మరియు 7 ఎంపిక చేయబడిందని నిర్ధారించుకోవడానికి, అయితే కొన్ని ఇతర పనులు స్ప్రింట్ నుండి తప్పుకుంటాయి."
" స్క్రమ్ మాస్టర్ కొన్ని టాస్క్లను చిన్నవిగా విడగొట్టాలని మరియు ఉత్పత్తి యజమానిని వీలైనంత సంతోషంగా ఉంచడానికి వాటికి విభిన్న ప్రాధాన్యతలను సెట్ చేయాలని కూడా ప్రతిపాదించవచ్చు."
"ఇది మీటింగ్ పాయింట్: టాస్క్లను మార్చవచ్చు మరియు విభజించవచ్చు, ప్రాధాన్యతలను మార్చవచ్చు, మొదలైనవి. ఇది ప్రారంభంలో కనిపించని పని, కానీ ఇది చాలా విలువను తెస్తుంది."
"అర్థమైంది. ఇది కారు నడపడం లాంటిది. మీరు నేరుగా నేరుగా వెళ్లాలని మీరు మొదట విశ్వసించినప్పటికీ, వాస్తవమేమిటంటే, మీరు నిరంతరం గుంతలను నివారించాలి, కుడి మరియు ఎడమవైపు తిప్పాలి మరియు ఇతరులను దాటవేయాలి లేదా వారు మిమ్మల్ని దాటనివ్వాలి."
"అవును, అలాంటిదే."
"స్ప్రింట్ కోసం ఎంచుకున్న టాస్క్ల జాబితాను స్ప్రింట్ బ్యాక్లాగ్ అంటారు ."
"ఎవరు ఏమి చేయాలో ప్రోగ్రామర్లు నిర్ణయిస్తారు, ఆపై మాత్రమే వారు పనిలోకి వస్తారు. "సమర్థతను మెరుగుపరచడానికి, స్క్రమ్ ప్రతిరోజూ 5-15 నిమిషాల సమావేశాన్ని నిర్వహించాలని సూచించారు, ఇక్కడ ప్రతి ఒక్కరూ నిన్న ఏమి చేసారో మరియు వారు ఏమి చేసారో చెప్పవచ్చు. ఈ రోజు చేయబోతున్నాను."
"టీమ్ వర్క్. నేను దానిని గౌరవించగలను!"
"విషయాలను సులభంగా దృశ్యమానం చేయడానికి, సాధారణంగా ప్రస్తుత స్ప్రింట్ స్థితిని ప్రత్యేక బోర్డ్లో ప్రదర్శించమని సిఫార్సు చేయబడింది:"
"ఎడమవైపు ఉన్న మూడు నిలువు వరుసలను గమనించండి."
"సంక్షిప్త టాస్క్ పేర్లు స్టిక్కీ నోట్స్పై వ్రాయబడ్డాయి. మరియు స్టిక్కీ నోట్లు వాటి స్థితిని బట్టి వేర్వేరు నిలువు వరుసలలో ఉంచబడతాయి (ప్రణాళిక, పురోగతిలో ఉన్నాయి, పూర్తయ్యాయి)."
"కుడి వైపున, మీరు బర్న్డౌన్ చార్ట్ను చూడవచ్చు . ప్రతి రోజు, ఈ చార్ట్ ఇప్పటికీ రద్దు చేయబడని టాస్క్లను జాబితా చేస్తుంది. ఆదర్శవంతంగా, స్ప్రింట్ సమయంలో అసంపూర్ణ పనుల సంఖ్య సున్నాకి పడిపోతుంది."
"స్ప్రింట్ ముగిసినప్పుడు, పూర్తిగా పూర్తయిన ప్రతిదాని జాబితాను చూపించడానికి స్క్రమ్-మాస్టర్ ఒక డెమోను ఇస్తాడు ."
"తర్వాత అతను స్ప్రింట్ రెట్రోస్పెక్టివ్ సమావేశాన్ని నిర్వహిస్తాడు , అది కూడా రెండు గంటల పాటు కొనసాగుతుంది. ఈ సమావేశంలో పాల్గొనేవారు సాధారణంగా ఏది బాగా జరిగిందో మరియు ఏమి (మరియు ఎలా) బాగా జరిగిందో తెలుసుకోవడానికి ప్రయత్నిస్తారు."
"సాధారణంగా 2-3 స్ప్రింట్ల తర్వాత, జట్టు మరింత సమర్థవంతంగా పని చేయకుండా ఉండే ప్రధాన సమస్యలను మీరు గుర్తించవచ్చు మరియు తొలగించవచ్చు. ఇది జట్టు యొక్క పనిభారాన్ని పెంచకుండా ఎక్కువ ఉత్పాదకతకు దారి తీస్తుంది. చురుకైన పద్దతుల యుగానికి ముందు ఇది సాధ్యం కాదు. "
"కొన్నిసార్లు స్ప్రింట్ సమయంలో గ్రూమింగ్ సమావేశం కూడా జరుగుతుంది. దీని ఉద్దేశ్యం తదుపరి స్ప్రింట్ను ప్లాన్ చేయడం. పాల్గొనేవారు సాధారణంగా ఈ సమావేశంలో టాస్క్ ప్రాధాన్యతలను స్పష్టం చేస్తారు. వారు కొన్ని టాస్క్లను భాగాలుగా విభజించవచ్చు మరియు/లేదా ఉత్పత్తి బ్యాక్లాగ్కు కొత్త టాస్క్లను జోడించవచ్చు. "
"సరే, ప్రాథమికంగా నా వద్ద ఉన్నది అంతే. ఇది కేవలం స్థూలదృష్టి మాత్రమే. అన్నింటినీ కేవలం కొన్ని పదాలలో వివరించడం అసాధ్యం, కానీ మీరు ఈ అంశంపై ఒక మంచి కథనాన్ని ఇక్కడ చదవగలరు:"
GO TO FULL VERSION