--- robots: nofollow, noindex tags: retrospective --- # Retrospective - April projects We are going to use the **4Ls** retrospective paradigm. We all need to answer the following questions: - What did you **like**? - What was **lacking**? - What did you **learn**? - What do you **long** for going forward? ### Icon convergance (Marija, Shift) **Like** - I really liked the proactive approach that everyone had in helping me review the PRs that were created, although they were quite big and contained many changes - I liked that people trusted in the my judgments when we had different opinion, which enabled us to move faster **Lacking** - I still feel that we can improve the cross ocean communication. As a comparison, I needed x2 longer time to wrap up the work on v7 compared to v0 **Learn** - Restructuring the work in a smaller chunks helps reviewers to better understand the changes and review faster - Codemods can be really helpful for helping clients do the migrations which contain big amount of breakin gchanges **Long** - I wish we can have some pair programming/code sessions with people working on both versions when we are doing something generic, that we plan to use on both codebases. This will help tremendiosly to earlier discover some potential risks or find potential problems with the abstractions we are developing. ### Composition (Shift, Marija) **Like** **Lacking** **Learn** **Long** ### UI Builder (Miro, Levi) **Like** - I liked the opportunity to work on a fresh new project. - Pairing with Levi is a great learning experience plus it is fun. - Project demos - to see what great things we all achieved. - There was a minimal number of distractions. **Lacking** - As the UI Builder is still in an early stage, there are several parts of the app which are prototyped/hacked/lack the correct UI. I should either avoid that or be more transparent about the introduced technical debt. **Learn** - Changing roles from being a library developer to be a library user is eye-opening. You are immediately able to identify various issues our consumers must be facing everyday. **Long** - Having (at least) two developers on a project is great. You can share your ideas and problems and get immediate feedback. ### Dual-screen support in Fluent UI (Mak) **Like** - I liked being able to work on something that is very different to what I was doing before. It brought a breath of fresh air I enjoyed. **Lacking** - I would have liked for a faster turn-around from the dual-screen team so that we could have started this work earlier. - Alongside that, there was some confusion in the middle of the cycle regarding whether we should be doing this work or not because of the announcement that we were postponing the release of the Surface Neo. I would have liked to have a clearer message to avoid this confusion. **Learn** - There was a problem early on where the underlying APIs we were using for this work, due to their experimental nature, weren't working correctly and blocked us from starting this work until late in the cycle. Checking for all of these preconceptions to be true before starting the work would have helped us maybe push it out until they were working. **Long** - I hope we keep doing different things across diferent cycles so that we can continue learning and don't get stuck doing the same thing always. ### Focus Zone contentious changes (Mak) **Like** - I liked having the opportunity of driving all of these changes and of being given both confidence in my decisions and feedback to drive the most difficult discussions regarding this convergence. **Lacking** - I would have liked more support in terms of PR reviews. Although they eventually came I had to make changes that I wish I could have addressed earlier in the process. **Learn** - One thing I learnt was that starting conversations early, even if the work was not scheduled until later, gave people time to respond while I was still able to work on other things. If I had started conversations the moment I wanted to start on work I would have been blocked for a while. **Long** - I would love to see more collaboration cross-timezones to get an integrated view in all of the changes we're making. ### Move to static stylesheets (Avatar) (David) **Like** - :heart: Finally back into coding. - :fast_forward: Proved how much perf will improve by moving back, and that its worth the time . - Discovered gaps, pitfalls, challenges of using `compose` and static styling, experimentation exposed needs in scss pipeline to support changes we need to fix to avoid blocking convergence. - :+1: Enjoyed working with Marija on icons and really glad to see her take on the v7 svg icons. - :+1: Thank you Shift for working on `compose` and making it great! **Lacking** - :timer_clock: Manager back to dev ramp up sucked a little time. - :thinking_face: Knowledge gaps of v0 took time, but worth doing and will get better over time. - :clock10: Time zone differences can be challenging. Someone fix that. - :mage: :elf: Would like more v-team collab (we're doing that in May) **Learn** - I learned a lot about v0 in the process of working with the `Provider` component and converting some of the existing components in v0 to compose and static stylesheets. Still room to grow. **Long** - Convergence. I really want it. I want one ThemeProvider, one compose, one way of doing things, world class components, velocity. - Death of css in js. We need it asap. ### Improving shield process (Aneesha) **Like** **Lacking** **Learn** **Long** ### Component Native Eventing Convergence (Ben) **Like** - This was a nice scoped and well-defined project, just doing a fairly straightforward replacement of EventGroup in three components **Lacking** - N/A this was a small project **Learn** - This was a good intro to getting my repo and environment set up and contributing to fluentui - I learned a bit about some components in the codebase, and eventing in React and native JavaScript **Long** - I suppose the only thing this project left me longing for was something more complex to work on, which was covered by Investigate EventGroup removal ### Investigate EventGroup removal (Ben) **Like** - This was a meatier project, which got me more into the codebase and learning more about React and web programming - There was some ambiguity about the best approach to removing EventGroup and I enjoyed working on figuring out the best options - Got to work with a few different devs on the team **Lacking** - Without as much experience in the codebase it was harder for me to fully evaluate which was the best approach - I spent a while going down dead-ends or working on solutions that turned out to have better alternatives - It's not always easy to synthesize different people's suggestions into a working solution **Learn** - Perhaps more than I cared to know about eventing in JavaScript and React - I learned some about hooks and function vs. class components **Long** - Better knowledge of the codebase and history would help with projects like this. ### Improve render perf for V7 (Xu) **Like** I liked that this work is scoped down to V7 and directly benefit current users. **Lacking** Performance measurement: 1. we have 2 perf-test scripts in our repo, need to converge (ofc) 2. new features -- measuring re-renders: [draft PR](https://github.com/microsoft/fluentui/pull/12888#issuecomment-620252258) -- how to measure our perf in real world? adding telemetry and work with partners to collect them? -- making adding perf tests easier for v8 components **Learn** Realizing how fragile caching/memoization can be. **Long** - static styles - function component **Actions** - Converge perf tests - Measure more real-world perf ### Converge build system - move to just (Elizabeth) **Like** - Having a structured plan which makes it easier to say no to extra things which would delay the main goal **Lacking** - Working mostly by myself was not so great - Hard to get PR reviews or get people to reply to teams conversations discussing important points **Learn** - Remote work during quarantine is hard :( - Projects which involve a lot of writing things up are hard for me **Long** - Would nice to have a designated person to pair with in Prague where this is officially also some part of their responsibilities for the month, even if I'm the primary one working on it. **Actions** - When projects require coordination with Prague. Identify point person with dedicated time. ### Open UI (Levi) **Like** - Working in W3 with wider audience - Influencing Chromium including Edge toward a better platform for building applications on the web **Lacking** - Time and resourcing, affecting pace of progress - Some of the "Basics" of a good project: - Home page - Description of the process - More rounded features and clarity in content and presentation - Easily actionable, contributions not so clear **Learn** - More parties are interested than anticipated - Higher level of interest than anticipated from the parties there (Chromium, Google, W3, Shopify, Design Token community group) **Long** - More research content - More specifications - More review/input from more places outside Microsoft - More, more, more... ### Fabric-website updates (Micah) **Like** **Lacking** **Learn** **Long**