At my current company I have started to bring in agile practices and we're off to a good start. We're through our first release and are soon starting on our second release. While management has agreed not to introduce any new work during an iteration, scoping the release/feature planning is an ongoing work in progress. That being said, I'm finding we're struggling on where/when to fit spikes that need to be performed during an iteration for the following iteration.
At the current moment in time, Management/Project managers are gathering spikes and giving each relevant developer the required spike at the beginning of an iteration with the notion that the developer will produce tasks for the spike by the following wednesday so the work can get scheduled into the following iteration.
While this works, it seems as if there is a better way to gather requirements around the spikes. How is everyone else scheduling the time to perform the spikes? We don't schedule all of a developers 80 hours for an iteration, so there is a little breathing room for meetings/e-mail/spikes etc..
That being said, I want to make sure management isn't asking for spikes unless they know that the work is going to be performed the following iteration. A couple times they asked for a number of spikes only to not schedule the work to be performed.
Any suggestions would be greatly appreciated!