I´ve seen many teams struggling with agility. Faithfully they were trying to live by Scrum or Kanban rules – but still it was hard to “get into the flow”. Day to day business seemed to interfere with the ideal of the process definition.
That made me think. What was missing? I´m a firm believer in the agile tenets of delivering incrementally, staying in close contact with the stakeholders for early/frequent feedback, and constant learning. So my guess is, if agility isn´t working yet, we need to try harder: think even more in increments, increase feedback, and learn harder.
The following articles sum up what I think this would lead to: We need to switch from thinking in terms of completing some software or feature to “just” constantly delivering small value increments. Feedback and progress are more important than anything else. Flow is more important than anything else. Which leads to decreasing batch sizes to the bare minimum: 1 day of work (i.e. 4-6 hours effort for a single person; more, if more people can reasonably be involved during that day).