What Makes Expert Software Designers Successful? Flashcards
https://event.on24.com/wcc/r/1788181/2933CB9D36D834E0083DDEEBFCA3FC8D
Years ago the hype was about Cloud, Microservices, Browser base applications. Now it’s about AI, Blockchain, etc. How to shield yourself and your organization from frequent changes in technologies?
The ability to do great design is what allow us to withstand change through time.
Experts focus on the essence. What does this mean?
Experts identify the most important and most difficult requirements and tackle them first, setting aside things that are not important. Experts know that the design of the essence will guide or constrain the design of other requirements, that’s why the essence is important.
Expert go as deep as needed. What does this means?
Experts don’t stop at the first proposed solution, they go deep until they can prove themselves that the solution works. They implement the core parts earlier to detect possible problems earlier, avoiding problems appearing when the system already has a lot of dependencies on the core part. (Eclipse team)
Experts generate alternatives. What does this means?
Experts don’t stop at the first proposed solution. They generate options and evaluate the trade-offs among them.
Experts draw the problem as much as they draw the solution. What does this mean?
It is important to understand the problem that you are tackling and make sure you got the model of the problem right as well. The problem diagram can serve to stress out different scenarios for your problem.
Experts shift between formal and informal. What does this means?
Neither UML or the white board is sufficient. While the first one lacks the ability to explore quickly its formalism increase our confidence in the solution. The other way around for the second one.
Experts keep sketches. What does this means?
They save diagrams and return to them.
Experts repeat activities. What does this means?
They iterate their activities with different people gathering different perspectives and different feedback. They explore the feedback loop.
Experts rotate among subject pairs. What does this means?
They rotate through pairs of aspects of the design covering all important aspects of the design.
Experts see error as opportunity. What does this means?
It allow them a greater understanding in what they are trying to solve. Margaret Hamilton saw errors as opportunities to understand mistakes in her assumptions and find ways to prevent these errors forever.
Experts play the fool. What does this means?
They stress possible failure cases, not only happy paths.
Experts are alert to evidence that challenges their theory. What does this means?
They don’t let small detours in their expectations of a situation to go unnoticed. If something happens differently they seek the motive.
Experts curtail digressions. What does this means?
They don’t loose focus in meetings.
Experts agree to disagree. What does this means?
They don’t get stuck trying to win an argument
Experts use design methods (selectively). What does this means?
When they get stuck they use these as tools to overcome their problems.