Fork me on GitHub
#unicorn_project_ama
<
2020-01-23
>
Scott Worden16:01:03

I’m working on a DevOps transition for a large defense company. The plan is to lift and shift 2M+ lines of immensely complected code into containers in AWS. Simplicity and locality are novel concepts here and I’m struggling with how we decouple all this spaghetti code. My gut tells me we should scrap the code base and start over, but this isn’t going to go over well with managment. Any thoughts on how we might enable locality with a more gradual approach? Or convince managment it’s worth it to scrap the old code?

Scott Worden16:01:03

I’m working on a DevOps transition for a large defense company. The plan is to lift and shift 2M+ lines of immensely complected code into containers in AWS. Simplicity and locality are novel concepts here and I’m struggling with how we decouple all this spaghetti code. My gut tells me we should scrap the code base and start over, but this isn’t going to go over well with managment. Any thoughts on how we might enable locality with a more gradual approach? Or convince managment it’s worth it to scrap the old code?

Oluf16:01:38

One book that might be of interest is "The Mikado Method", which lays out a method for de-tangling the kind of code you're talking about.

👍 1
Oluf16:01:48

Although 2M+ lines of code sounds somewhat overwhelming. What's the imagined timeline for this work?

Scott Worden16:01:41

Everything needs to be in AWS within 6 months, no specific timeline to make it simple

Oluf17:01:32

Then I'm guessing simplification will be out of the question. 2M+ lines of code sounds like a long-term project if it needs to be simplified. Although the Mikado Method might help, I doubt it could be done in 6 months.

Roman Pickl17:01:56

Could you apply the strangler pattern?

1
James17:01:02

Just my 2 cents from a few programs like this, usually the reason there are 2M lines is part of the reason why starting from scratch is going to recreate a lot of the same problems. I'd echo the Mikado commentary, and worth considering that strangling the code base ensures at least partial results in 6 months. Starting from scratch is more likely to be a big bang phoenix project (:

Matt Milton17:01:45

Hi All. I’m unable to make today’s Webinar with Dominica. Will the session be recorded? Thanks...

Matt Milton17:01:45

Hi All. I’m unable to make today’s Webinar with Dominica. Will the session be recorded? Thanks...

Alex (IT Rev)18:01:52

Definitely @USAFDJY6L!

Alex (IT Rev)18:01:02

I'll send the recording out afterwards.

👍 1
Alex (IT Rev)18:01:44

<!here> Our call with Dominica DeGrandis is in 2.5 hours. Any questions around time management and The Third Ideal? This is the perfect time to ask it.

👍 2
Johan Tegler20:01:44

Hi Dominica DeGrandis, I really liked your book! How do you scale the visualisation and make it possible to understand? The question is explained more below. First small scale: Let’s assume that we can visualise work for one team with kanban boards etc. The product (code) is also visible with work items connected to modules and repos.  Then large scale: How do you visualise work for many teams if you have a complex product? Isn’t it a good idea to visualise the teams, the product and the work together?  It’s like a combination of three fine books: a) The teams: Team Topologies, b) The product: From Project to Product and c) The work: Making Work Visible How can this be visualised for two kinds of companies: • DevOps. A large complex software ”product”. Build by the IT department at Parts Unlimited. Can also be Netflix, Spotify etc. • Industrial DevOps. A complex physical product, like a Tesla where the cor is the product. The product is built by Tesla in R&D and in manufacturing. 

Johan Tegler20:01:44

Hi Dominica DeGrandis, I really liked your book! How do you scale the visualisation and make it possible to understand? The question is explained more below. First small scale: Let’s assume that we can visualise work for one team with kanban boards etc. The product (code) is also visible with work items connected to modules and repos.  Then large scale: How do you visualise work for many teams if you have a complex product? Isn’t it a good idea to visualise the teams, the product and the work together?  It’s like a combination of three fine books: a) The teams: Team Topologies, b) The product: From Project to Product and c) The work: Making Work Visible How can this be visualised for two kinds of companies: • DevOps. A large complex software ”product”. Build by the IT department at Parts Unlimited. Can also be Netflix, Spotify etc. • Industrial DevOps. A complex physical product, like a Tesla where the cor is the product. The product is built by Tesla in R&D and in manufacturing. 

Alex (IT Rev)21:01:43

We'll get your Q in at the end!

Alex (IT Rev)20:01:20

<!here> You can now join our call with Dominica DeGrandis: https://zoom.us/j/863323710

Alex (IT Rev)21:01:57

We've started! 🙂

Ariel Kirshbom21:01:27

Question for Dominica. What have been the most successful approach addressing technical debt. I have seen both creating a Hardenning Sprint/Iteration every now and then or release, or reserving velocity dedicated to this in each Sprint/Iteration. Any other options? Pros and cons? How you ensure to change the mindset in addressing debt every day. Thanks

Ariel Kirshbom21:01:27

Question for Dominica. What have been the most successful approach addressing technical debt. I have seen both creating a Hardenning Sprint/Iteration every now and then or release, or reserving velocity dedicated to this in each Sprint/Iteration. Any other options? Pros and cons? How you ensure to change the mindset in addressing debt every day. Thanks

Alex (IT Rev)21:01:30

We'll get your Q in at the end!

Johan Tegler21:01:57

Question to Dominica DeGrandis: Do you have some recommendations on how to handle info (work) coming from different systems like emails, calendars, tasks, Slack threads, Jira tickets? The situation is similar at work or at home, a lot of things you want to do.

2
👏 1
Alex (IT Rev)21:01:05

"Knowledgework is perishable." -Dominica DeGrandis

1
Steve Elgan21:01:32

Dominica, We use Kanban for our Ops team for the 3 types of work (business, internal, and maintenance). We have WIP limits and despite our best efforts, we still run into Thief Unknown Dependency. (i.e. Open a case with the vendor because we couldn't do it ourselves, or some kind of scheduling issue we could not foresee). So, cards get stuck in WIP for long periods of time, yet the tech is idle. So, they start working on something else. Then we run into the same kind of issue. To combat this we've started breaking the work up into even smaller batches. Just curious what other suggestions you might have in these scenarios.

👍 1
Steve Elgan21:01:32

Dominica, We use Kanban for our Ops team for the 3 types of work (business, internal, and maintenance). We have WIP limits and despite our best efforts, we still run into Thief Unknown Dependency. (i.e. Open a case with the vendor because we couldn't do it ourselves, or some kind of scheduling issue we could not foresee). So, cards get stuck in WIP for long periods of time, yet the tech is idle. So, they start working on something else. Then we run into the same kind of issue. To combat this we've started breaking the work up into even smaller batches. Just curious what other suggestions you might have in these scenarios.

👍 1
Alex (IT Rev)21:01:09

We'll bring your Q up in the end! Thanks for asking @US8CUHA4Q.

🙏 1
Alex (IT Rev)21:01:37

Welcome to the slack 🙂

Alex (IT Rev)21:01:18

"If there's a promise of having time to do daily improvements, but there's only time made for feature work, that's a huge red flag."

Alex (IT Rev)21:01:05

We'll get you the slide deck, too. But here's the exercise!

Alex (IT Rev)21:01:37

Daily Improvements = DI

Johan Tegler21:01:56

Thank's for sharing the presentation deck! Is it possible for you to do some quick updates with DI instead of debt?

Johan Tegler21:01:56

Thank's for sharing the presentation deck! Is it possible for you to do some quick updates with DI instead of debt?

Alex (IT Rev)21:01:54

You mean swapping the terminology out?

Johan Tegler21:01:56

Yes or some overlay with the new word

Tor Flatebo21:01:08

+1 to funding challenges

👍 2
William Judd21:01:47

Thank you, Dominica! I like what you share about C-level and middle-management.

shane22:01:00

In my experience with C level pushback, it's typically when they themselves don't have visibility to the work from a high level. They don't know the bottlenecks and think increasing wip can solve the problem of idle people

👍 2
shane22:01:07

Good call-out on the metrics. It's hard to argue facts and makes it easier to get the leverage you're looking for