Рассмотрим более подробно цикл основных операций по когнитивному метапознанияю, в котором участвуют разработчики. Это прежде всего оценка и самооценка с учетом, естественно, объема работ, продолжительности работ. Мы уже говорили не раз в курсе о том, что хороший профессиональный разработчик в состоянии оценить объем и производительность, примерно, на грани 10 % или лучше, естественно, с учетом целей и ограничений, которые возникают, и особенностей поставленной задачи. С другой стороны, необходимо понять, достаточно ли у команды и у каждого из ее участников тех знаний, умений и навыков, которые имеются для выполнения поставленных задач, может быть потребуется привлечение сторонних консультантов. Естественно, здесь нужен свод-анализ сильных и слабых сторон, возможностей и угроз. Далее следует планирование процесса с учетом текущей ситуации, с учетом перспектив, с учетом тех ресурсов, которые имеются. Естественно, здесь же применяться "What…If" анализ, то есть анализ различных сценариев, различных стратегий для реализации плана в том или ином виде, с отслеживанием продвижения в динамике, контролем и обратной связью. Насколько мы замечаем, мы сейчас повторяем те принципы, в частности обратная связь, мастерство, практика, которые тесно связаны с саморазвитием. Чуть позже мы увидим, каким образом эти связи реализуются. Далее происходит анализ применимости выбранного подхода с адаптивной коррекцией по мере необходимости. В результате появляется должный уровень гибкости в процессах на личном и командном уровне, и, соответствующий рост личностной и командной эффективности разработки. Проанализируем результаты исследований метакогнитивного цикла познания, работы будут приведены в конце лекции, и рассмотрим наш метакогнитивный цикл, состоящий из пяти элементов: планирование, контроль, анализ и так далее, и те слабые звенья, те слабые моменты, которые возникают на каждом из этих этапов. Если мы говорим о метакогнитивном цикле, к сожалению, начинающие разработчики зачастую недостаточно часто, недостаточно полно или недостаточно правильно применяют те знания, которые у них только начинают формироваться, и способствуют их адекватной оценки, коррекции и адаптации. Если мы говорим о плане, как правило не эффективное планирование, не достаточное планирование, может быть недостаточное внимание, которое уделяется планированию, могут быть отмечены. Если мы говорим о практическом применении тех стратегий по реализации технологий разработки и приемов разработки, которые в том числе и в рамках гибких методологий реализуются индивидуально или в команде. Мы можем сказать, что возникает эффект самооправдания, студенты или начинающие разработчики, говорят, что они не всегда могут эффективно наблюдать за выполнением собственных работ, эффективно контролировать и зачастую ослабляют внимание не делают этого контроля или не делают этих контрольных точек с должной периодичностью и должным вниманием. То же самое можно сказать об анализе оценки, не всегда это в полной или правильной мере выполняется. Таким образом, от руководства программным проектом или командой разработчиков, требуется поддержка, внимание и практика, обратная связь с постоянной рефлексией, правильно выставленные контрольные точки, хорошо настроенные стандарты и ключевые показатели эффективности KPI, таким образом, как мы понимаем, все семь принципов, включая уже упомянутую практику и обратную связь, должны работать вместе. Именно это обеспечивает высокую эффективность и постоянное повышение этой эффективности и качества работ как в команде, так и в личном плане. Рассмотрим каким образом имеет смысл мотивировать, направлять разработчиков как индивидуально, так и в команде, на формирование, уточнение, улучшение, совершенствование своих образовательных процессов, своих процессов разработки. Прежде всего, нужно сказать, что имеет смысл формировать в среде разработчиков правильные убеждения, относительно необходимости планирования, контроля, мониторинга и построения совершенствования своих рабочих процессов. Убеждение рабочих процессов влияют на производительность в конечном итоге, поскольку они позволяют организовать более правильно свои усилия, более правильно контролировать, улучшать производительность и строить стратегии, которые направлены на максимальное повышение производительности при данном уровне знаний, умений и навыков, как индивидуально, так и в команде. С другой стороны, новичков в разработке имеет смысл учить стратегически совершенствованию тех самых знаний, умений и навыков, которые направлены на формирование, повышение своей производительности, в команде более продуктивного планирования, мониторинга, контроля, анализа, совершенствования рабочих процессов и более гибкой адаптации к внешним условиям, к среде разработки, в том числе в процессах, которые связаны с передачей знаний и высокоинтеллектуальными технологиями. При этом, естественно, имеет смысл использовать как институт менторства или наставничества, так и такие аспекты, как фокус-группы, мозговые штурмы, концептуальные схемы или карты, когда студенты или разработчики могут формировать отображение своих представлений у предметной области в форме концептов и связей между ними, анализировать и уточнять их и, естественно, разбор полетов на основе рефлексии и самооценки, и совместной оценки со старшими товарищами, тех результатов, как позитивных, так и негативных, которые были получены в предыдущих проектах. Эти проекты могут быть, как собственными, так скажем, чужими на основе бизнес-кейсов и экспертных суждений. Таким образом, разработчики могут формировать, уточнять, улучшать свои представления о рабочих процессах и повышать эффективность личной и командной разработки.