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?
- 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 Complexity vs. Accidental Complexity
- 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.
đź‘€ See what's important
- 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.
✌️Software designing(Product engineering) matters
- Waterfalls can get your projects go in the wrong way because they encourage you to build unrealistic plans.
- Don't miss out product managing.
❌There's no magical solution
- 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.
👇Instead of finding the silver bullet
- 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.
My Opionion
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.
Top comments (0)