This post summarizes No Silver Bullet-Software Engineering Reloaded. If there's any copyright issues, please let me know.

- 🤷♂️ Why are they doing this conference after 20 years the paper has published?
- 🧬 Essential Complexity vs. Accidental Complexity
- 👀 See what's important
- ✌️Software designing(Product engineering) matters
- ❌There's no magical solution
- 👇Instead of finding the silver bullet
- My Opionion

- Designing software is hard and will always be hard.
- Every idea has its own problem and people say that their ideas are the one and only solution to sell it when it's actually not true.
- Essential Complexities come from the problem itself.
- Acciental Compelxiy coms from using tools to solve the problem.
- As long as we cannot resolve accidental complexity there is not going to be any dramatic improvement.
- OOP played a key role in solving modern software complexity problems so it's close to silver bullet.
- OOP is important but you should look at the bigger picture. Focus on the fundamentals.
- Product engineering and domain specific languages are important as well. Function programming work well with some specific fields.
- Waterfalls can get your projects go in the wrong way because they encourage you to build unrealistic plans.
- Don't miss out product managing.

- People get to believe in the idea of sillver bullet because they fear their software is going to fail. This failure means being unable to manage collaborating with a lot of people to create a software.
- Focus on Good people, understanding requirements, refactoring, good design and teamwork.
- Even if it's the bad code for you or engineers, it's a good one as long as it satisfies user needs.
There has been a lot of software development models. I think the most important thing is to understand user needs because every project is different. Instead of just choosing one model, we could pick some best practicies from one model and from another model instead of getting too much into the rules of process.