If you have an Agile SCRUM based development center that consists of multiple SCRUM teams to working on different features and functionality of one or more product, you always have the concerns in relation with highly performing teams in terms of usage of relevant and latest technologies from time-to-time. One of the key challenges in front of SCRUM teams is to make sure that they are using most appropriate technologies at all point of time. This can be achieved in multiple different manners. Some of them are following:
- Set aside stories for research & development of new tools & frameworks to be done in each sprints. Stories of such kind, however, spans across multiple sprints. This story includes evaluation of multiple frameworks along with proof of concept (POCs). In my experience, it has been found that this works but is not the most effective way of exploring new technologies and making sure that most effective technologies are adopted in development cycles.
- Set aside a centralized research & development (R&D) team which can take on the R&D stories from backlogs created by multiple different SCRUM teams. You may also call this team as “architecture” team. This team can consists of technical specialists and architects anywhere from 2-4 depending upon the number of SCRUM teams and size of the teams. The SCRUM teams list down their R&D stories much in advance in centralized list of backlogs item. Thereafter, this R&D team calls upon a meeting with the respective team members from different SCRUM teams. In this meeting, the priorities of these stories can be identified along with timelines. The responsibility of this centralized R&D team is to do some of the following activities:
- Explore new tools & frameworks
- Counsel SCRUM teams on design discussions
- Do the design reviews of complex stories for various SCRUM teams
- Perform random code reviews
- Publish white papers, blogs on ongoing basis