Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Бағдарламалау сапасын жақсарту процесі
Process to improve programming quality
Жеке бағдарламалық қамтамасыз ету процесі (PSP) – бағдарламалық қамтамасыз ету инженерлеріне бағдарламалық қамтамасыз етуді әзірлеу тәсілдеріне рет пен тәртіп енгізу және олардың жоспарланған және нақты кодты әзірлеуін қадағалау арқылы өз жұмысын жақсырақ түсінуге және жақсартуға көмектесу үшін жасалған құрылымдық бағдарламалық қамтамасыз етуді дамыту процесі. Ол әзірлеушілерге өнімдерінің сапасын қалай басқаруға, тиімді жоспар құруға және жауапкершіліктерді қабылдауға болатынын нақты көрсетеді. Сонымен қатар, ол оларға өз жоспарларын негіздеуге қажетті деректерді ұсынады. Олар даму уақытын, қателерді және көлем деректерін талдап, қарастыру арқылы өз жұмыстарын бағалай алады және жақсартуға бағыт бере алады. PSP-ны Уоттс Хамфри Software Engineering Institute (SEI) Capability Maturity Model (CMM) негізгі принциптерін жеке әзірлеушінің бағдарламалық қамтамасыз етуді дамыту тәжірибесіне қолдану үшін құрды. Ол бағдарламалық қамтамасыз ету инженерлеріне командалық бағдарламалық қамтамасыз ету процесі (TSP) тобында жұмыс істеу үшін қажетті процестік біліктерді береді. "Personal Software Process" және "PSP" – Карнеги Меллон университетінің тіркелген қызмет таңбалары.
The Personal Software Process (PSP) is a structured software development process that is designed to help software engineers better understand and improve their performance by bringing discipline to the way they develop software and tracking their predicted and actual development of the code. It clearly shows developers how to manage the quality of their products, how to make a sound plan, and how to make commitments. It also offers them the data to justify their plans. They can evaluate their work and suggest improvement direction by analyzing and reviewing development time, defects, and size data. The PSP was created by Watts Humphrey to apply the underlying principles of the Software Engineering Institute's (SEI) Capability Maturity Model (CMM) to the software development practices of a single developer. It claims to give software engineers the process skills necessary to work on a team software process (TSP) team. "Personal Software Process" and "PSP" are registered service marks of the Carnegie Mellon University.
Мақсаттар
PSP бағдарламалық жасақтама инженерлеріне жеке бағдарламалық жасақтаманы әзірлеу процестерін жақсарту үшін реттелген әдістерді ұсынуды мақсат етеді. PSP бағдарламалық жасақтама инженерлеріне:
The PSP aims to provide software engineers with disciplined methods for improving personal software development processes. The PSP helps software engineers to:
Бағалау және жоспарлау дағдыларын жетілдіруге көмектеседі. Орындауға болатын міндеттемелерді қабылдауға мүмкіндік береді. Жобалардың сапасын басқаруға көмектеседі. Жұмыстағы кемшіліктер санын азайтуға септеседі.
Improve their estimating and planning skills. Make commitments they can keep. Manage the quality of their projects. Reduce the number of defects in their work.
Жоспарлау және бақылау
Уақыт, ақаулар және көлем деректерін тіркеу – PSP жобаларын жоспарлау және бақылаудың маңызды бөлігі болып табылады, себебі тарихи деректер бағалаудың дәлдігін арттыру үшін пайдаланылады. PSP жобалаушының жобаларды дәлірек жоспарлау үшін бағалау дағдыларын жақсарту мақсатында PROxy негізделген бағалау (PROBE) әдісін қолданады. Жобаны бақылау үшін PSP табысқа жету әдісін пайдаланады. PSP сонымен қатар корреляция, сызықтық регрессия және стандартты ауытқу сияқты статистикалық техникаларды қолданады, олар деректерді бағалауды, жоспарлауды және сапаны жақсартуға арналған пайдалы ақпаратқа айналдырады. Бұл статистикалық формулалар PSP құралымен есептеледі.
Logging time, defect, and size data is an essential part of planning and tracking PSP projects, as historical data is used to improve estimating accuracy. The PSP uses the PROxy Based Estimation (PROBE) method to improve a developer's estimating skills for more accurate project planning. For project tracking, the PSP uses the earned value method. The PSP also uses statistical techniques, such as correlation, linear regression, and standard deviation, to translate data into useful information for improving estimating, planning and quality. These statistical formulas are calculated by the PSP tool.
PSP-ны пайдалану
PSP әзірлеушінің жеке процесін жақсартуға бағытталған; демек, PSP әзірлеушілері процесті өздерінің жеке қажеттіліктеріне сәйкес етіп, оны үздіксіз жетілдіре беруі керек.
The PSP is intended to help a developer improve their personal process; therefore PSP developers are expected to continue adapting the process to ensure it meets their personal needs.
PSP және TSP
Іс жүзінде PSP дағдылары TSP командалық ортада қолданылады. TSP командалары PSP оқыған және жобаның жауапкершілік аймақтарына ерікті түрде кірісетін бағдарламашылардан құралады, сондықтан жобаны команданың өзі басқарады. PSP дағдыларын қолдану арқылы жиналған жеке деректерді пайдалана отырып, команда жоспарлар жасайды, бағалаулар береді және сапаны бақылайды. PSP процестік әдістерін қолдану TSP командаларына уақыт талаптарын орындауға және жоғары сапалы бағдарламалық қамтамасыз етуді жасауға көмектеседі. Мысалы, Уотс Хамфридің зерттеулеріне сәйкес, барлық бағдарламалық жобалардың үштен бірі сәтсіз аяқталады, бірақ SEI 13 әртүрлі ұйымдағы 20 TSP жобасын зерттегенде, TSP командалары жоспарланған мерзімдерін орташа есеппен тек алты пайызға ғана артта қалды. Уақыт талаптарын сәтті орындау тарихи деректерді пайдалану арқылы дәл бағалау жасауға байланысты, сондықтан жобалар нақты жоспарларға негізделген, ал PSP сапалық әдістерін қолдану арқасында ақаулары аз бағдарламалық қамтамасыз ету жасалады, бұл интеграция және қабылдау сынағы сияқты кезеңдерде ақауларды жоюға жұмсалатын уақытты азайтады.
In practice, PSP skills are used in a TSP team environment. TSP teams consist of PSP trained developers who volunteer for areas of project responsibility, so the project is managed by the team itself. Using personal data gathered using their PSP skills; the team makes the plans, the estimates, and controls the quality. Using PSP process methods can help TSP teams to meet their schedule commitments and produce high quality software. For example, according to research by Watts Humphrey, a third of all software projects fail, but an SEI study on 20 TSP projects in 13 different organizations found that TSP teams missed their target schedules by an average of only six percent. Successfully meeting schedule commitments can be attributed to using historical data to make more accurate estimates, so projects are based on realistic plans – and by using PSP quality methods, they produce low defect software, which reduces time spent on removing defects in later phases, such as integration and acceptance testing.
PSP және басқа әдістемелер
PSP – әрбір дамытушының қажеттіліктеріне бейімделуге болатын жеке процесс. Ол нақты бағдарламалау немесе жобалау әдістемесімен байланысты емес; демек, оны әртүрлі әдістемелермен, соның ішінде Agile бағдарламалық жасақтаманы әзірлеумен бірге қолдануға болады. Бағдарламалық жасақтаманы жасау әдістерін болжамдыдан бейімдемеліге дейін қарастыруға болады. PSP – болжамды әдістеме, ал Agile – бейімдемелі деп есептеледі, бірақ олардың айырмашылықтарына қарамастан, TSP/PSP және Agile бірнеше ұғымдар мен тәсілдерді бөліседі – әсіресе команданы ұйымдастыру тұрғысынан. Олар командаға: мақсаттары мен стандарттарын анықтауға, жұмысты бағалау және жоспарлауға, реалистік және қол жетімді кестелерді анықтауға, жоспарлар жасауға және процестерді жақсартуға мүмкіндік береді. Agile және TSP/PSP екеуі де команда мүшелерінің өз жұмыстарына жауапкершілікпен қарауы және өзара келісіммен реалистік жоспар құру арқылы сенім мен жауапкершілік атмосферасын қалыптастыру идеясын бөліседі. Дегенмен, TSP/PSP, Agile-ден процесті құжаттауға және жоба кестесін болжау мен анықтау үшін деректерді пайдалануға көбірек мән беруімен ерекшеленеді.
The PSP is a personal process that can be adapted to suit the needs of the individual developer. It is not specific to any programming or design methodology; therefore it can be used with different methodologies, including Agile software development. Software engineering methods can be considered to vary from predictive through adaptive. The PSP is a predictive methodology, and Agile is considered adaptive, but despite their differences, the TSP/PSP and Agile share several concepts and approaches – particularly in regard to team organization. They both enable the team to:
Define their goals and standards. Estimate and schedule the work. Determine realistic and attainable schedules. Make plans and process improvements. Both Agile and the TSP/PSP share the idea of team members taking responsibility for their own work and working together to agree on a realistic plan, creating an environment of trust and accountability. However, the TSP/PSP differs from Agile in its emphasis on documenting the process and its use of data for predicting and defining project schedules.
Сертификаттау
Карнеги Меллон университетінің SEI-і PSP бойынша сертификаттауды ұсынады. SEI сертификатталған PSP әзірлеушісі болу үшін қадамдар: PSP-ні оқып үйрену; сертификаттау емтиханын тапсыру; куәліктерді жаңарту. PSP әзірлеушісі емтиханы PSP білім қорынан алынған ұғымдарға негізделген. SEI сертификаттау бойынша жиі қойылатын сұрақтарды жариялайды.
A certification covering PSP is offered by the SEI at Carnegie Mellon University. The steps to becoming an SEI Certified PSP Developer are: learn the PSP; take the certification exam; maintain credentials. The PSP Developer examination is based on concepts found in the PSP Body of Knowledge. The SEI maintains an FAQ on certification.