Системное мышление — это практический подход к восприятию мира, который значительно ускоряет способности анализировать, принимать решения и учиться. Практический потому, что сформирован практикой, а не вырос из абстрактных математических теорий.
Если вам знакома аббревиатура ТРИЗ, то я бы сказал, что методы ТРИЗ — это набор частных случаев применения системного мышления в физическом производстве.
Всем, интересующимся устройством мира, рекомендую почитать «Логику случая» Евгения Кунина — книгу о современном научном взгляде на эволюцию (который уже сильно отличается от того, чему нас учили в школе).
Особенно рекомендую её программистам, которым интересно изменение софта со временем и развитие «сложности» — очень многие идеи, изложенные в книге, перекликаются с моими наблюдениями за жизненным циклом кода.
Книга изобилует химическими и биологическим терминами, но они не мешают восприятию информации, в крайнем случае пояснение всегда можно найти в википедии.
Для затравки перескажу своими словами наиболее интересные факты. Только учтите, что я ни разу не биолог и могу сильно ошибаться.
Привет.
В посте Тесты, которые тестируют тесты я описал свой взгляд на верификацию программ через дублирование их логики в виде отдельной модели и последующее сравнение с ней. В качестве частного случая выступили юнит-тесты.
В этот раз, опираясь на изложенные идеи, я попробую сформулировать общий подход к оценке уровня верифицированности ПО.
Сначала я хотел назвать этот текст «Зачем нужен бизнес-план», но к чему себя ограничивать? План — он и в Африке план, не важно для чего. Тот, что для бизнеса, называется бизнес-планом. Тот, что для эвакуации, называется, как ни странно, планом эвакуации. И так далее.
Но идея текста таки пришла из области, где актуальны бизнес-планы. Часто стал встречаться с высказываниями о том, что «бизнес-план, конечно, нужен, но вот конкретно в нашем случае он пользу не принесёт потому, что»:
Сам я тоже страдал этими тараканами, но так получилось, что периодически разного рода планы составлять всё-таки приходилось. И хочу вам сказать — планы делать полезно и нужно.
Но сначала…
Животрепещущий вопрос, не правда ли?
Меня уже 3 года как им пытают персонально, поэтому я решил попытаться рассказать всё-таки почему. Рассказывать, конечно, буду со стороны разработчика-одиночки. В командах побольше есть некоторые нюансы, но суть та же.
Для затравки приведу небольшую иллюстрацию, смысл её, думаю, понятен.