25 января 2006 · Запись

Системные подходы и программирование

На данный момент в активе имеются три системных подхода: -- СМД-методологов -- категория "система" и все с ней связанное (а заодно и само понятие "подход" ;) -- Уилбера -- холоны, холархии и т.д. Увы, подробно этот подход изложен главным образом в 1000-страничной книжке, которая нечитана (SES). -- Голдратта -- "у каждой системы есть цель и ограничение, все остальное неважно -- и чем сильнее все в системе взаимосвязано, тем более неважно". Теперь с этим всем нужно разобраться, чтобы эти подходы не противоречили друг другу, хотя они по факту не слишком-то и противоречат, одного поля ягоды. Но вот, например, голдратовщина с ее "что менять; на что менять; как сделать, чтобы произошли изменения" и SPINовщина с ее "описание потребностей, отбор вариантов, рассеяние сомнений и внедрение-освоение" (http://ailev.livejournal.com/335435.html), не так просто накладываются на СМД-вариант типов работ в рамках программирования (программирование -- это деятельность типа "пойди туда, не знаю куда, принеси то, не знаю что", отличается от, например, проектирования, в котором заранее известно, что нужно принести -- есть прототип. При программировании прототипа нет, и нужно сочетать исследования с проектированием): Сначала собственно программные работы: 1. Тематизация -- определение общего направления. 2. Ситуационный анализ, который переходит в анализ ситуации. 3. Специальная фиксация целей разработки (ибо тема -- это еще не цель). 4. Экологическая проверка (анализ позитивных и негативных последствий разработки как достижения целей). 5. Перевод целей в набор задач. 6. Проблематизация темы (нахождение противоречий, конфликтов и затруднений в решении задач). 7. Перевод проблем в задачи (нахождение путей решения проблем, как правило это нахождение такого языка описания проблемы, в котором решение тривиально). 8. Вторичное построение программы новых задач (на базе решенных проблем) Далее идет "оргпроектирование" (фактически -- это современное "управление проектами). 9. Расчет сил и времени. 10. Оргпроектирование -- как организовать работы. 11. Планирование работ и, возможно, разработка вторичных проектов. К тому же в СМД-методологии предлагают отдельно рассматривать программирование, проектирование, планирование, прогнозирование и т.д. -- в зависимости от ситуации. Поэтому "в лоб" отождествить этапы работ в разных подходах не так просто, ибо сами работы по типу и составу разные, и последовательности работ разные, и ситуации в которых они применяются -- разные.

Читать обсуждение →