تسمى هذه العملية بـ "التفريع" (Branching)، حيث يقوم البرنامج بتقسيم المهام إلى وحدات صغيرة تنفذ بشكل متوازٍ أو تسلسلي، ويمكن للبرنامج اتخاذ قرارات مختلفة في كل وحدة صغيرة بناءً على شروط محددة. يساعد التفريع في تنظيم البرنامج وجعل الشفرة أكثر فهمًا وصيانةً، ويسهل أيضًا إعادة استخدام الشيفرة وتعديلها بشكل أسهل.