Motley says: "Developing international software is really, really hard. We need a brand new version."

Summary   Motley:  Developing international software is really, really hard. We need brand new binaries to ship in other languages.   Maven: Follow these tips when developing for international markets: design for one worldwide binary, ensure the software is globalized, do not build strings at run-time, expand UI labels by 40%, and test with pseudolocalized…

2

Motley says: "Don’t be anal about API design"

Summary   Motley:  Don’t be anal about Application Programming Interface (API) design.   Maven: Good APIs are discoverable, consistent, simple, usable, hard to misuse, cohesive, lack side-effects, strongly typed, documented, has tests and samples, extensible when necessary, and are developed with anal minds. ______________________________   [Context: Motley has just been involved a design review for…

0

Motley says: "I fear public speaking more than I fear dying!"

Summary   Motley: Speak at a conference?!? Are you insane?!? No public speaking for me!   Maven: Speaking at a conference is a great way to build confidence and influence not just your company, but the industry. ______________________________   [Context: We’ll continue with HPT Part 3 next time. For now, Motley and Maven’s buddy James…

1

Motley says: "Performance stinks, but I’ll deal with it later"

Summary   Motley:  I’ll deal with performance issues when I have something to test. Then I’ll run the profiler and just optimize the slow methods.   Maven: Think about performance early in the development cycle. Set goals. Design for performance. Measure, measure, measure. Optimize the scenarios that matter. ______________________________   [Context: Motley is doing some…

2

Motley says: "It’s tough to make decisions involving multiple dimensions"

Summary   Motley:  It’s tough to make decisions in multiple dimensions, so just pick the most important one. Make the decision and move forward. No need to document the alternatives.   Maven: Pugh Concept Selection (PCS) facilitates decision making where there are multiple alternatives and multiple weighted criteria. A PCS decision matrix provides a nice…

4

Motley says: "My design is done when the schedule says it’s done"

Summary   Motley:  Design is done when that 3 day period I have to do design has expired.   Maven: Design is done when your stakeholders are satisfied. Stakeholders include you, your peers, the test team, architect, future maintainers, your manager, and customer support. ______________________________   [Context:  In a continuing conversation about design, Maven asks…

1

Motley says: "A good design is all in the eye of the beholder" (Part 2)

Summary   Motley:  Judging a design to be “good” is very subjective.   Maven:  “Good” designs satisfy fundamental design principles, like separating creation from usage, encapsulating variability, preferring containment to inheritance, and designing to interfaces. ______________________________   [Context:  Maven and Motley are at lunch, picking up where they left off with their discussion on design…

0

Motley says: "A good design is all in the eye of the beholder" (Part 1)

Summary   Motley:  Judging a design to be “good” is very subjective.   Maven:  “Good” designs satisfy fundamental design principles, like loose coupling, high cohesion, simplicity, and no undesirable redundancy. ______________________________   [Context:  Motley is wondering how to really judge a design is “good”. This conversation picks up immediately from the last one]   Motley:…

4

Motley says: "Refactoring means no more up-front design"

Summary   Motley:  Refactoring keeps my design clean from the start, so no more up-front design!   Maven: Up-front design is still necessary to achieve clarity on the overall approach (preventing rework later) and needs to be documented to allow others to review your thinking. ______________________________   [Context:  Motley is trying to educating himself on…

2