BA (22/52): How Apple Plans Software (A Visual Guide)
I get asked a lot about how we did project management at Apple. I was at Apple from 2012 to 2017. With every iOS release, we improved upon the process.
Somewhere in those years, we merged the iOS and macOS engineering teams into a unified SW Engineering Org (Post Scot Forstall departure) which meant merging of the project management methodologies and PMOs between iOS and macOS. By the time I left in 2017, the process was radically different and in my opinion one of the best ones to ship complex large software products like an operating system.
Here, maybe its better if I just make this edition of the newsletter a visual one š āļøš¼:
Some notes:
Typical major iOS release starts planning in September, M1 starts around October/November with First Customer Ship in September of next year.
Throughout the CONVERGENCE PHASE the SW Program Office holds Bug Review Bash where all bugs in a given release are reviewed on a regular almost on a daily cadence with the respective engineering teams. A post on this later. I know so crazy and sounds quaint but that is one of the most painful and effective key secrets behind Appleās decision making process. Yeah, all the few thousands bugs get reviewed on a regular basis. More later.
During the 2weeks of test/convergence, teams are focused on stabilize the feature work done in the previous 6weeks and strengthening up test debt and testing capabilities/coverage.
If you are not ready when you hit convergence periods, difficult conversations are had about punt to next release, de-scope, or keep pushing until later in the release to decide. Itās all pretty regimented. Maybe a post on this later too.
EPMs facilitate DEMOS with Craig and Staff through the development and convergence phase where Feature team can showcase the work in progress to ensure they are building the right thing and get feedback on work done or particular aspect of the feature. This was the most
Number of Developer/Beta Seeds are dependent upon release stability and external feedback.
If you have questions about how this all works, feel free to reply and I will fill in the details.
Hope this helps.
Until next time š!
-Aadil
Thanks Aadil for this post. I'm curious about how teams iterate on delivering during 6w delivery phases. Do teams release frequently to production to get feedback on features stability and bugs in some way? What tools do teams have to get early feedback from users?