"Clean Agile" with Bob Martin (uncle Bob)

 I listened to an O'Reilly Live Event with Bob Martin

https://learning.oreilly.com/accounts/login-check/?next=/live-training/courses/-/0636920061744/

Bob was one of the original signatories of the Agile Manifesto, a software legend and no holds barred educator.


key takeaways

  • Agile does not make you go faster, it produces data to understand where the project is at
    • We do Agile to get data such as velocity and burndown, "to see how screwed we are"
    • We want the bad news as early as possible, cold hard data
    • So we can react and adjust our definition for: fast, cheap, good, done (for the feature/project)
    • Agile is about managing a successful outcome given all your constraints
  • Agile software development at 30k foot level is dividing project up into small time increments, measuring how much you get done, multiplying out to get a date and making adjustments as necessary given your constraints e.g. we want to launch X 



my notes

Agile is a set of disciplines

Product Owner is chief specificer, has the problem, specifies the features of the system

Project Mgr handles schedules, cost. Not defining features

How do you manage a software project?

  •   badly, hope & prayer, fear and motivation

Mismanagement leads to: producing wrong product, inferior quality, being late, 80 hours a week

Pick any 3 of good, fast, cheap and done. You can't get all 4 simultaneously.

  • So you have to quantify "how good?", "how fast?", "how cheap?"  (schedule, scope, quality, staff)
  • Product Manager/Owner are supposed to manage the project to the best possible outcome by managing these factors
  • To do this you need data
    • teams velocity is useful data
    • how much work (story points) remain is useful data
    • note: there are going to be changes, estimates will change, more tasks added/removed

  

  • We do Agile to get these 2 charts on the wall, "to see how screwed we are"
    • Agile does not make you go faster, it produces data to understand where the project is at
    • We want the bad news as early as possible, cold hard data


In software the dates are often frozen but the specs are not. Agile is about managing a successful outcome

Agile: 

  • Exploration and Coding happen at the same time (tho more analysis & design @ start than end)
  • You split the timeline into timeframes e.g. weeks (or 2 week sprints)
  • You build out slices, verticals, which includes UI, middleware and BE
  • Goal: don't half do a feature, do complete features even if only half
  • After a couple of sprints you have enough data to understand if the project is doable or not in expected timeframe



Comments

Popular posts from this blog

deep dive into Material UI TextField built by mui

angular js protractor e2e cheatsheet

react-router v6.4+ loaders, actions, forms and more