In a previous post about the F-117, I described some of the rules Kelly Johnson had for his projects. As promised, here is how I would map Kelly's rules to agile development. Kelly: 1. The Skunk Works manager must be delegated practically complete control of his program in all aspects. He should report to a division president or higher.
Agile: 1. The Scrum Master must have the power and authority to remove any blocking issues.
Kelly: 2. Strong but small project offices must be provided both by the military and industry.
Agile: 2. Sprint teams must be in the same offices. Virtual teams can work, but it's best to be in the same area.
Kelly: 3. The number of people having any connection with the project must be restricted in an almost vicious manner. Use a small number of good people (10% to 25% compared to the so-called normal systems).
Agile: 3. Sprint teams must be small (< 7). Although, I like Kelly's phrasing better.
Kelly: 4. A very simple drawing and drawing release system with great flexibility for making changes must be provided.
Agile: 4. Use Stories instead of detailed design and functional specifications. Document when necessary, but keep it simple.
Kelly: 5. There must be a minimum number of reports required, but important work must be recorded thoroughly.
Agile: 5. Keep the status reports to the waterfall people. We hold daily Scrum Meetings to discuss status. If you're interested, come to the meeting, but don't expect a report.
Kelly: 6. There must be a monthly cost review covering not only what has been spent and committed but also projected costs to the conclusion of the program. Don't have the books ninety days late and don't surprise the customer with sudden overruns.
Agile: 6. Hold daily Scrum meetings to determine the status of the project. Identify and remove blocking issues before they become a problem.
Kelly: 7. The contractor must be delegated and must assume more than normal responsibility to get good vendor bids for subcontract on the project. Commercial bid procedures are very often better than military ones.
Agile: 7. The Sprint Team must be fully empowered to reach the Sprint Goal.
Kelly: 8. The inspection system as currently used by the Skunk Works, which has been approved by both the Air Force and Navy, meets the intent of existing military requirements and should be used on new projects. Push more basic inspection responsibility back to subcontractors and vendors. Don't duplicate so much inspection.
Agile: 8. The Sprint Team shall complete all assigned stories, including full testing. Don't push testing off for a future team.
Kelly: 9. The contractor must be delegated the authority to test his final product in flight. He can and must test it in the initial stages. If he doesn't, he rapidly loses his competency to design other vehicles.
Agile: 9. The Sprint Team must demonstrate success of the Sprint by showing actual, working product that completes the assigned stories. Testing must be don't continuously throughout the Sprint.
Kelly: 10. The specifications applying to the hardware must be agreed to well in advance of contracting. The Skunk Works practice of having a specification section stating clearly which important military specification items will not knowingly be complied with and reasons therefore is highly recommended.
Agile: 10. Stories must be committed to in advance of the Sprint.
Kelly: 11. Funding a program must be timely so that the contractor doesn't have to keep running to the bank to support government projects.
Agile: 11. Keep the Sprint Team well fed, well caffeinated, and unblocked.
Kelly: 12. There must be mutual trust between the military project organization and the contractor with very close cooperation and liaison on a day-to-day basis. This cuts down misunderstanding and correspondence to an absolute minimum.
Agile: 12. There must be mutual trust between upper management and the Sprint Team. Scrum Meetings are held daily to facilitate communication.
Kelly: 13. Access by outsiders to the project and its personnel must be strictly controlled by appropriate security measures.
Agile: 13. Access by outsiders to the Sprint team and its personnel must be strictly controlled by the Scrum Master. That means no going to a Sprint Team member to add more tasks.
Kelly: 14. Because only a few people will be used in engineering and most other areas, ways must be provided to reward good performance by pay not based on the number of personnel supervised.
Agile: 14. Pay should be based on the success of the team and the individual, not on how many people are supervised.
There you have it. Kelly Johnson and the Skunk Works were one of the first Agile Engineering shops. Very few can claim to be as successful or innovative.