We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
DPC2019: Software Management Lessons from the 1960s - Larry Garfield
Discover timeless software management lessons from the 1960s with Larry Garfield, including iterative design and incremental personnel additions.
- Record a conference talk by Larry Garfield, which highlights lessons learned from software management in the 1960s.
- Design top-down but implement iteratively; waterfall design did not work then, and it doesn’t work now.
- Add people to a project at the same time can lead to conflict, so adding people in increments can help minimize this problem.
- When trying to decide if a system needs to evolve, ask whether it makes sense to modify the code vs. throwing the code away.
- Reuse and iteration in software development can reduce the likelihood of errors and make it more scalable.
- Brooks (1964) said that adding complexity to a program by adding code will require the same time and money, but reusing components will not be more time-consuming.
- Systems that work on different conceptual models do not interact well and therefore require distinct programming languages to communicate efficiently.
- System integrity is key in software design.
- A clear concept of the desired end system will save time, as less coding will be necessary for implementation.
- Small, maintainable and modifiable systems require a great deal of upfront thinking and planning to get it right.
- For any system of over 20 to 30 people working on it simultaneously, it is recommended to have many people work together in an agile manner.
- Open source principles and collaboration will help in terms of code development and improvement, reusability, scalability, and better debugging.
- People tend to spend most of their time in a very few places.