This is a strange problem that I have solved. Observation is required till now.
In my current project I have to develop a User Approval workflow with Reviewer Approval in parallel. For reviewer level I don't have any problem but the problem starts when I tried to implement User Level workflow where it's a State Machine flow with 10 states. Now due to byte constraint i.e. of workflow size I need to break that user level workflow in two sections. And the second part of Level workflow(say Level2) will be kicked off only after a column is modified into the current list by Level user first workflow(say Level 1). Actual problem starts from here. I found that Level2 workflow sometime getting kicked off and sometime not after Level1 workflow. Very strange and really the situation becomes unpredictable.
I keep on thinking why its happening and then went to Mother workflow template and re-arrange the workflow component and found it's working. Simple! Cool! So what is the re-arranging rule for that. And here it is:
The workflow that you are segregating in 2,3 parts(Here, Level = Level1 + Level2) should be executed at last.
e.g. Suppose you put the workflow in this way
Then the unpredictable situation will occur. The dependent Level2 workflow on Level1 workflow could be triggered or could not be.
But, if you put in this way
then it will trigger the Level2 after Level1.
Hope this will help all of you.
We(NETWOVEN, a leading partner of NINTEX) are going to held a webinar and venue are as follows:
Make better SharePoint workflows using Nintex!
Speaker: Alex Viera
When: Tuesday May 17th, 11 AM PST