One of the reasons doing agile transformations is difficult is that there is no specific formula for how to do it. The starting point and context for each organization’s journey toward agility is different. Like most modern product development organizations, at DataCore we are embracing agile software development practices, This blog will highlight our journey.
In October of 2018, the R&D team at DataCore began implementation of TC2, which stands for “Technology Components version 2.” This is an evolution of our “version 1” agile transformation initiative that began in June 2018. TC2 methodology is based primarily on Scrum principles modified to address specific issues at DataCore. It entails the following core principles:
- Decouple software creation from software releases
- Create free-standing, independent technology components
- Create accountability through visibility
In decoupling the software creation process from the release process, we are demonstrating deterministic progress in increments. We plan, develop, test, demo, and complete in a one-month cadence. This gives release managers and product management the flexibility to assemble GA releases from ready off-the-shelf parts.
Regarding the creation of teams around free-standing, independent technology components, TC2 creates teams with focused areas of development and skills. At DataCore, five components are created. This reduces cross-team dependencies and ‘interrupts’ that can inhibit productivity and planning. Engineers with similar skills sets working on shared goals are on the same team. As a result, they can support each other, swarm around deliverables, and importantly, grow their skills over time. These TC2 teams release working free-standing software independently of other teams and independently of external release schedules.
Finally, TC2 creates accountability through visibility. We strive to make the plan and progress highly visible. The TC2 Roadmap is updated in real time and broadcast on flat-screen monitors in the engineering hallways, where everyone is welcome to gather and discuss the plan. This visibility creates accountability and will lead us to a determinism that better integrates engineering with company-wide planning and execution. “Demo-stones” are organized at end of each sprint to showcase what was developed. Retrospect meetings are organized every other week to identify any optimizations the team should undertake.
My key takeaways from this process are:
Vision and commitment come from the top: Our executives are backing the agile transformation initiatives. The engineering team has realized that old methods cannot deliver our new bold vision, and that only agile transformation will help us achieve that.
Use agile to implement agile: Agile transformation is a journey. We experiment and improve via retrospect meetings; we modify the process to suit our needs and refine it based on our experience.
Engage teams: You have to arrive at answers by asking questions. Leaders should move away from giving directions and instead ask, “What do you think?” This is a collaborative method of problem-solving. Agility is about empowering and trusting in a self-leading team to figure it out. Leaders needs to look for opportunities to strengthen teams, remove roadblocks facing them, and improve performance.
Agile training: Team members are receiving training to expedite agile transformation that focus on basic and advanced agile concepts, agile testing, agile estimations and continuous improvement/continuous delivery (CI/CD).
People first: Talent acquisition and retention is key to have a high-performing agile team. DataCore is creating rating and ranking systems that drive coaching conversations and will help in career pathing for our talent. We are creating relevant training portfolio to ramp up the skills and are focused on getting the best talent.
We have discovered that embracing TC2 agile methodology is showing benefits already, and we are excited with our experience in agile transformation. We continue to explore many initiatives such as moving to Github, robust automation, etc., and will continue to share our experiences with the community throughout the journey.