We have a wish to try to introduce Scrum in one of our development departments, but have a number of challenges we are not sure how to solve. If someone could point us in the right direction it would be very nice.

We are producing a very complex enterprise product and we have 2 product owners, 10 developers and 4 testers.

We have 4 releases each year which consist of 20-30 change requests ranging from 10 - 1500 hours each. We are bound by a fixed price contract which requires us to have a fixed deadline, scope and price on each of these changes. Besides the change requests we also do bugfixing. The release cycle is fixed and we have to deliver installable packages every 3 months + a number of service packs and hotfixes.

Some of our challenges we are facing are:

* We have many small changes which only take a short time for one person to do.
* We have some specialized technologies that only a single person knows and can't easily be knowledge-transferred.
* We have a lot of urgent hotfixes that require immediate fixing.
* We have fixed budgets on each change and have strict rules on warning and raising budget as soon as we see it.

Questions:

* How can we handle urgent hotfixes in the middle of a sprint?
* How do we handle the specialized technologies developers which often has tasks on a lot of different change requests - which would mean they need to be in multiple teams? Or small 1 man teams (which makes no sense)?
* How is the delivery manager integrated with the Scrum teams, so we can report progress, budget issues etc. with the client? Note that the product owners are not capable to do this job.