Increasingly, I am becoming concerned with how Scrum is being perceived, adopted and implemented. I've read a number of blogs bemoaning the fact that the fundamentals of scrum are not being followed, and then when the process is followed the mindsets are not shifting.
Scrum is just the beginning of the transformation of software development for a company. Implementing the Scrum process correctly is the critical foundation. Don't leave retrospectives out, or do scrum every other day, just follow the whole process as defined.
Once you've established and are following the scrum process other less tangible changes will take place. Individual team members will experience a change and shift in their mindset and perspective, teams will change their culture, velocity will increase and then you'll hit the next brick wall...
Product quality and the ability to adapt it. This is where Scrum needs Extreme Programming practices, a company can run Scrum well and still have poorly architected and constructed code with high costs of on-going support, and low levels of flexibility.
So Scrum and XP coding practices need to be adopted. When you're up and running with Scrum & XP you've come along way... But then the next level of complexity hits you.
Your velocity as a programme or department is out-stripping the rest of the business. I.e. Support teams can't keep up, or procurement can't handle the speed of decisions or respond to impediments, or the business hasn't the capacity to support the development etc.
At this point, I think its time for Lean Thinking. Lean thinking is a tried and tested approach to rapid business improvements across multiple verticals. It is coached in business terms, using business language, and rapidly transposes both into agile software development and other departments across the enterprise.
Scrum is not the goal, an agile, adaptive, responsive supply of products and services to our markets is what we're trying to achieve. You need Scrum, XP & Lean thinking!