Live data from Hacker News

Ask HN: Best books on managing software complexity?

news.ycombinator.com

31–40 of 127 posts

Re: Ask HN: Best books on managing software complexity?

#31
post #29

Earlier quoted context omitted.

Re: An Elegant Puzzle : If you remember, could you please write a bit about the key insights from it?

Not the person you're asking, but I was actually somewhat underwhelmed by that book. Maybe I had unrealistic expectations, but I felt like it combined very general, obvious ideas ("keep teams together") with oddly specific numeric recommendations ("a manager doing technical work in addition to management can support at most five people") that didn't come with any good evidence beyond author opinion. There were some t…

I found "An Elegant Puzzle" brilliant because the advice was so specific and concrete on a wide range of topics. But I'd guess the target audience is a leader in a mid-size startup (100-500 employees), so its advice isn't going to be so much help outside that group.

Re: Ask HN: Best books on managing software complexity?

#32
post #30
post #18

Earlier quoted context omitted.

Having moved from external consult to in house dev this is so true. Most of our production systems are just spreadsheets that get emailed on schedule or trigger. We have no web stack, no authentication required. No complex UI or UX. It's so simple, our production manager and I sat down and came up with the system. It works very well and took a few weeks to get up and running. It would have taken months to solve the s…

Curious to hear more about that system. What do you do with those spreadsheets?

It's all pretty simple. We manufacturer physical goods. Some high volume, some custom designs in an online designer with a 2 day turn around. It's all B2B.

This means various parts of our manufacturing process happen over different plants and different teams. Everyone needs to be in sync and working on the right thing. Most of the manufacturing is automated. Machine instructions are generated as orders come in. The emails send supervisors lists of what has to be worked on in that shift and department. Also they get checklists for QC, and packing instructions.

All data entry is done by scanning stickers that are generated with machine instructions and printed at manufacturing time. There is a little bit of extra info typed in for dispatch and off cut management.

It's all feed from an off the shelf ERP. Most would heavily customize the ERP. We simply hooked Jasper reports server to the db and built some custom reports. We do have some code feeding data back to the ERP.

I hope that sheds some light?

Re: Ask HN: Best books on managing software complexity?

#34
I agree with much of what's already said here.

1. Figure out the difference between your inherent and accidental complexity. The Cynefin framework can be a useful way of thinking about what types of complexity you have.

2. Attempt to reduce (or remove) the complexity at root before assuming you must model it. "The biggest tragedy in business is doing well that which should not be done at all." For example, we had an important user still on a legacy browser because they couldn't afford to upgrade their old laptop. Instead of adding a complicated legacy layer, we bought them a new laptop.

3. Think of the whole system, rather than just shifting the burden somewhere else within the system. This is why microservice architectures so often fail - engineers think they've reduced complexity because each service is so simple. Yet all they've done is move the complexity into the operational layer, where it's harder to deal with. Gerald Weinberg is a fun writer in this space.

4. In many organisations, a lot of people's salaries depend on their ability to add complexity, especially to processes but also to code. If you are working within such an organisation, you will have a Sysiphian task until you solve the organisational problem. Whether you can solve this problem depends on how much influence you have. This is why "skunkworks" projects so often work until they are re-integrated into the mainstream.

5. Once you've sorted out the organisational complexity, separated the inherent and accidental complexity, you'll be most of the way there. Keep reviewing and challenging everything. Complexity is a weed that just seems to grow unless you constantly tend to the garden.

Re: Ask HN: Best books on managing software complexity?

#36
post #4

“Software Engineering at Google” has been eye opening for me. It hits what you are looking for in its first chapter and then goes into details of different aspects in later chapters. https://abseil.io/resources/swe-book

Summary of each chapter from the Book:

https://www.seagnotes.com/index.html

Re: Ask HN: Best books on managing software complexity?

#37

I haven't read any of the books on architecture recommended in this thread, but I learned how to manage software complexity by: 1. Counter-intuitively, being deeply interested and reading about a topic in natural science. Software is complex because it is a system, and especially if you're using a programming language with plenty of OOP features, you're going to benefit a lot from understanding how nature separates p…

The nature approach sounds intriguing, any pointers on where to start or what to read?

Re: Ask HN: Best books on managing software complexity?

#39

Earlier quoted context omitted.

I found DDD very poorly written. It's a nightmare slog to read. I find Evans isn't a gifted writer and thinks unedited rambling is appropriate for a textbook. The 600 pages could easily have been 100. DDD can also be a poison to core systems, and Evans never considers this (I don't think he knows it). If you try to encode business domains, service lines, product names, stakeholder role names, what have you, into your…

I've only had one experience with DDD at an company that was very interested in it and trying to push it into their codebase, and kind of 'righteous' about it. Zealots in other words but unfortunately they didn't have enough real world experience to know what actually worked well in their context.. just cargo culting. They had a project in planning for 18 months but hadn't been able to start it. I was hired as a prin…

I would love to know how many members of that team read the book cover-to-cover. I’m consistent surprised by how many developers invoke a particular methodology without having sone the work to understand it.

In particular, I’ve gone through very similar experiences where functional-programming was the silver bullet that secretly no one understood.

Re: Ask HN: Best books on managing software complexity?

#40
post #34

I agree with much of what's already said here. 1. Figure out the difference between your inherent and accidental complexity. The Cynefin framework can be a useful way of thinking about what types of complexity you have. 2. Attempt to reduce (or remove) the complexity at root before assuming you must model it. "The biggest tragedy in business is doing well that which should not be done at all." For example, we had an…

Any recommendations re: Weinberg and complexity? I've read his book on consulting, which was really well written.
Post reply on HN