There is no one way or template to adopt Agile. No one can lead you down a predefined path that will guarantee success. Instead, you must learn, inspect, and adapt your way forward based on your organization’s own unique goals and culture and the ever-changing complex environment in which you must operate. Regardless of your adoption path, the people within the organization must have the courage to address impediments when the see them. It is easy to change core Scrum values and principles when they conflict with the way the organization operates today. To be successful, you must be willing to face these impediments and take the difficult (and often unpopular steps) to address them.
Scrum is a set of values and principles that can be applied in a number of environments. These values include honesty, openness, courage, respect, focus, trust, empowerment, and collaboration. These values can and should guide the work that is performed in sales, marketing, and other organizations. The core principles of Scrum also apply outside of development. For example, limiting work in process (WIP) is just as important in a marketing environment as it is in a product development environment (working on too much of anything at the same time slows you down and reduces quality). Organizing the work for fast feedback is also an important principle that should apply outside of development. You want to know early if your marketing or sales campaign is properly designed to achieve its goals. Also, working in timeboxed iterations has the same benefits in non-product development environments. For example, it forces prioritization, helps demonstrate progress quickly, avoids unnecessary, motivates closure, and improves predictability. These are benefits that apply in many different contexts.
Yes! I have frequently worked with companies that are simultaneously adopting Scrum and trying to achieve CMMI level 3 (or are already doing both). The two are not inherently contradictory. CMMI assesses the maturity of an organization and its ability to repeatedly apply its defined process. It doesn’t stipulate that the process has to be traditional (Waterfall) or Agile. So it is possible to perform Agile in and environment that is CMMI compliant. In such an environment you will likely do a bit more documentation than you would in an Agile environment without CMMI, but if people are willing to practical about its application, good results can be achieved.
Many people are concerned that if they move from a traditional product-development approach like Waterfall to Scrum that they will lose control. In Waterfall there are very well-defined checkpoints where managers can review the progress and decide if they want to fund the next phase. Some managers are concerned that these checkpoints will go away and development with Scrum will be chaotic.
This concern is unfounded. First, using Waterfall, there were only a few of these checkpoints and there could be many months between them (perhaps a checkpoint every quarter or half a year).
Scrum provides managers, stakeholders, product owners, and others with many more checkpoints than they would have with sequential projects. At the end of each short sprint there is a meaningful checkpoint (the sprint review) that allows everyone to base decisions on demonstrable, working features. People are better able to deal with a complex environment when they have more actionable checkpoint opportunities to inspect and adapt. So, I believe there is actually much more control in an Agile project than a traditional project!