Things Every Software Architect Should Know

  • یوسف مهرداد بی‌بالان

احتمالاْ این نوشته، طولاني‌ترين نوشته وبلاگ خواهد شد.
فهرست زير شامل نود و هفت پند و ارز است براي معماران نرم‌افزار كه توسط تعدادي از خود آنان نوشته شده است.
اين متن را خانم ملكوتي‌خواه برايم ارسال نموده‌اند كه صميمانه از ايشان تشكر كرده و برايشان آرزوي توفيق دارم.

The following are axioms for software architects by software architects.
The following are the 97 axioms selected for the book, 97 Things Every Software Architect Should Know, which will be published by O’Reilly Media in early 2009.

1. Don’t put your resume ahead of the requirements by Nitin Borwankar

2. Simplify essential complexity; diminish accidental complexity by Neal Ford

3. Chances are your biggest problem isn’t technical by Mark Ramm

4. Communication is King by Mark Richards

5. Architecting is about balancing by Randy Stafford

6. Always ask for the value to be provided by a requested capability by Einar Landre

7. Stand Up! by Udi Dahan

8. Talk about the arch, but se the scaffolding beneath it by Micheal Nygard

9. You’re negotiating more often than you think by Michael Nygard

10. Quantify by Keith Braithwaite

11. One line of working code is worth 500 of specification by Allison Randal

12. There is no one-size-fits-all solution by Randy Stafford

13. It’s never too early to think about performance and resiliency testing by Rebecca Parsons

14. Application architecture determines application performance by Randy Stafford

15. Commit-and-run is a serious crime. Respect your Colleagues by Niclas Nilsson

16. There Can be More than One by Keith Braithwaite

17. Business Drives by Dave Muirhead

18. Simplicity before generality, use before reuse by Kevlin Henney

19. Architects must be hands on by John Davies

20. Continuously Integrate by Dave Bartlett

21. Sometimes it’s better to let the train pass you by by Norman Carnovale

22. Architectural Tradeoffs by Mark Richards

23. Database as a Fortressby Dan Chak

24. Use uncertainty as a driver by Kevlin Henney

25. Scope is the enemy of success by Dave Quick

26. Reuse is about people and education, not just architecture by Jeremy Meyer

27. There is no ‘I’ in architecture by Dave Quick

28. Get the 1000ft view by Erik Doernenburg

29. Try before choosing by Erik Doernenburg

30. Understand The Business Domain by Mark Richards

31. Programming is an act of design by Einar Landre

32. Time changes everything by Philip Nelson

33. Take the hill! by Philip Nelson

34. Value stewardship over showmanship by Barry Hawkins

35. If you’re unwilling to be hands-on, maybe you should keep your hands off by Barry Hawkins

36. The title of software architect has only lower-case ‘a’s; deal with it by Barry Hawkins

37. Software architecture has ethical consequences by Michael Nygard

38. Everything will ultimately fail by Michael Nygard

39. Context is King by Edward Garson

40. It’s all about performance by Craig L Russell

41. Engineer in the white spaces by Michael Nygard

42. Talk the Talk by Mark Richards

43. Heterogeneity Wins by Edward Garson

44. Dwarves, Elves, Wizards, and Kings by Evan Cofsky

45. Learn from Architects of Buildings by Keith Braithwaite

46. Fight repetition by Niclas Nilsson

47. Welcome to the real world by Gregor Hohpe

48. Don’t Control, but Observe by Gregor Hohpe

49. Architect as Janitor by Dave Bartlett

50. Architects focus is on the boundaries and interfaces by Einar Landre

51. Challenge assumptions – especially your own by Timothy High

52. Record your rationale by Timothy High

53. Empower developers by Timothy High

54. It is all about the data by Paul W. Homer

55. Control the data, not just the code by Chad LaVigne

56. Architecture Metaphors Can Only Be Stretched As Far As A, Um, Stretchy Thing by David Ing

57. If the application can’t be supported, the project is a failure by Mncedisi Kasper

58. Lead by Influence by Travis Illig

59. Prefer principles, axioms and analogies to opinion and taste by Michael Harmer

60. From Pencil Neck Geek to Mr. Olympia by Clint Shank

61. Share your knowledge and experiencesby Paul W. Homer

62. Make sure the simple stuff is simple by Chad LaVigne

63. If you design it, you should be able to code it by Mike Brown

64. The ROI variable by George Malamidis

65. Your system is legacy, design for it by Dave Anderson

66. If there is only one solution, get a second opinion by Timothy High

67. Requirements are not the measure of success but the beginnings of a conversation by Christopher Dempsey

68. Capacity to implement is as important as knowing how to implement by Kamal Wickramanayake

69. Shortcuts now are paid back with interest later by Scot Mcphee

70. “Perfect” is the Enemy of “Good Enough” by Greg Nyberg

71. Avoid “Good Ideas” by Greg Nyberg

72. Great content creates great systems by Zubin Wadia

73. The Business Vs. The Angry Architectby Chad LaVigne

74. Stretch key dimensions to see what breaks by Stephen Jones

75. Before anything, an architect is a developer by Mike Brown

76. A rose by any other name will end up as a cabbage by Sam Gardiner

77. Stable problems get high quality solutions by Sam Gardiner

78. Diligence and the Mundane by Brian Hart

79. Take responsibility for your decisions by Yi Zhou

80. Dont Be a Problem Solver by Eben Hewitt

81. Software Should Be Invisible by Eben Hewitt

82. Your Customer is Not Your Customer by Eben Hewitt

83. It will never look like that by Peter Gillard-Moss

84. Choose Frameworks that play well with others by Eric Hawthorne

85. Making a strong business case by Yi Zhou

86. The insidious pattern bug by Chad LaVigne

87. Learn a new language by Burk Hufnagel

88. Dont Be Clever by Eben Hewitt

89. Build Systems to be Zuhanden by Keith Braithwaite

90. Employ developers that are recognition motivated by Chad LaVigne

91. Software doesnt really exist by Chad LaVigne

92. Pay down your technical debt by Burk Hufnagel

93. You can’t future-proof solutions by Richard Monson-Haefel

94. Interaction Design is Critical by Richard Monson-Haefel

95. The Importance of Consommé by Eben Hewit

96. For the end-user, the interface is the system by Vinayak Hegde

97. Great software is not built, it is grown by Bill de hÓra

گزيده:

Modeling Principle: Design a model so that the most frequent modification of the model causes changes to the least number of types. Martin Fowler, Analysis Pattern

برای خروج از جستجو کلید ESC را بفشارید