Agile is about forward thinking not last minute risk management.
“We’ll have to push this release out because the monthly changes on the mainframe only go live the following week.” This is common where systems integrate to back-end transactional platforms that follow a stricter timetable for implementing changes. The temptation is to delay but either plan better next time or bring other features forward. [1st of 5 paragraphs]
Usually if you work in such an environment, the release schedule of the other area is available well in advance. Put those schedules up on the wall in your scrum space and make sure that planning discussions incorporates them well in advance. Agile is iterative but still requires forward thinking, understanding all dependencies, and making sure everyone understands them. [2/5]
Most front end features that integrate with a back-end system are more valuable; hence they require more planning. Those that don’t are usually user interface related, aesthetics or “nice-to-haves.” Rather than delay everything, do more of these up front, but don’t make the mistake of trumpeting them as high value – people aren’t impressed by fancy front-ends (any more). [3/5]
If you are leading such an environment, you will need to manage the relationships with the teams and their leads in the back-end. Don’t allow differences in methodology or release slots to create an us-and-them culture in your own team. Set the example of better planning, understand how the other area works and never (ever) blame the other teams for your delayed schedule. [4/5]
Agile is exactly that – agile. Just as you need to be flexible to changing business requirements, be nimble about working with other teams and their release schedules. Plan better, build excellent relationships but the complexity of your environment and dependency on other teams are no reasons for failure to deliver. Create a culture of high performance, no excuses, creative thinking and maximum Agility. [5/5]