Agile Scrum Master by Jim Sullivan from Learn Quest — Scaling Agile and the Team-of-Teams
Welcome to the third course in the Certified Scrum Master specialization by Jim Sullivan from LearnQuest. In this course we’ll see:
- The start of the Scrum and Agile Journey
- Creating the Agile Program based on Scrum
- Custom Software for Custom Hardware
- Delivering Custom Hardware and Software Solutions
You’ll note that I didn’t take almost notes because this chapter is mainly focus in Scrum for software, hardware and firmware development.
1.Scaling Scrum and Agile
Scaling Agile involves teams-of-teams working together. The Scrum and Agile practices are the same, but now they must be now deployed in over multiple teams working on the same thing. A good way to think about it is (American) football. Is a football team one team, or a team-of-teams? Can a football team be the offense team, defense team and special teams? Do each one of these teams deliver their own product? Do each of these teams have their own coach? Are their products blended and integrated to deliver one single product, victory? I think you will agree that the answer to all or many of these questions is yes.
The need for change often stems from different sources:
Starting the Scrum Jurney has some requirements:
- Leadership must establishe Scrum and Agile training programs,
- Agile change agents should be appointed,
- There should be products and development efforts identified as pilots,
- Trusted consulting partners needs to be consedered, and
- Development efforts must be constructed.
On-Boarding of Agile teams involves management support. It involves change agents who train and also socialize the change in process. Change agents make the enterprise comfortable with the process change.
There are some very popular scaled agile products or brands that are available. Scaled Agile Framework (SAF) is a very popular road-map on an agile program with a team-of-teams. Scaled Agile Framework or SAF, does have competitors, there is Scrum@Scale and LeSS.
2.The Agile Program
The Agile portfolio is the grouping of products for an enterprise. An example is a set of auto insurance web and mobile applications for an insurance company. The insurance company may have more than one portfolios. Each of the products in the portfolio may be a program with its own scaled agile team.
Scaling Continuous Integration is a difficult task. It involves each of the agile teams in the program to run the custom practices for each team. The Scaled Agile Framework (SAFe) provides a very robust solution for scaled continuous integration. Continue reading.
3.Testing and Quality in the Agile Program
Test automation is one of the best investments your team can make. Test Automation drastically increases quality, and reduces defects. The idea is simple. Use a testing framework that supports scripting. The Unit test, or N-Unit test frameworks are great examples. Since the test are scripted, the test script can be run, and rerun, as many times as needed. When tests are rerun, it allows the team to validate that all stories and features still function, and still pass tests.
4.Scrum and Agile Hardware and Software Solutions
Agile Hardware development incorporates most of the same practices involved in software development. The physical nature of hardware makes iterations more challenging. Almost all hardware development projects involve corresponding software development.
One approach to Agile device development, or Agile Hardware-Software Development, is separate programs for hardware, and software. In other words, there is a delivery for hardware, and all of its features, and a corresponding software delivery to complete the user experience and to deliver the user capabilities for the device on which the user is consumes the device capabilities. Simply stated, there is a program for hardware, and a program, or programs, for software. Together, these programs make up one device deliverable.
Successful device development is possible using agile. The Agile Manifesto over mentions software, but it is still relevant for both software and hardware. One aspect is iterative hardware development, and regular software delivery to the hardware. Hardware emulators are required tools. The team needs to be creative, and solution oriented. This is the secret for successful Agile device deveopment.
5.Device Testing and Integration
6.Delivering Hardware and Software Solutions
There are obviously challenges when developing combined hardware and software solutions. We have discussed that the scaled agile model is a path for success when delivering a combined hardware and software product.
For a different perspective continue reading: Challenges of Adopting Agile in Combined Hardware and Software Environments
Firmware is software that is etched into hardware. You cannot discuss Agile Device development without firmware development. As you may have guessed you need all layers, software, firmware, and hardware, to participate in development. You also need to architect good Agile practices for the effort.
For a different perspective, continue reading: Building Firmware using Agile
Test emulation is one way to virtually integrate with hardware without having the hardware ready. It is a second best solution, but a great way to validate an demo when the team does not have the hardware solution ready.
Please continue reading on test emulation: Test Emulation
It is important to remember, that no matter what, your programs different teams must focus on the Scrum and Agile basics. This will create a path to success.
Continue reading: Hardware Teams at Scale.