Atjaunināt sīkdatņu piekrišanu

12 More Essential Skills for Software Architects [Mīkstie vāki]

4.12/5 (28 ratings by Goodreads)
  • Formāts: Paperback / softback, 336 pages, height x width x depth: 230x180x10 mm, weight: 539 g, illustrations
  • Izdošanas datums: 30-Jan-2014
  • Izdevniecība: Addison-Wesley Educational Publishers Inc
  • ISBN-10: 032190947X
  • ISBN-13: 9780321909473
Citas grāmatas par šo tēmu:
  • Mīkstie vāki
  • Cena: 41,05 €
  • Grāmatu piegādes laiks ir 3-4 nedēļas, ja grāmata ir uz vietas izdevniecības noliktavā. Ja izdevējam nepieciešams publicēt jaunu tirāžu, grāmatas piegāde var aizkavēties.
  • Daudzums:
  • Ielikt grozā
  • Piegādes laiks - 4-6 nedēļas
  • Pievienot vēlmju sarakstam
  • Formāts: Paperback / softback, 336 pages, height x width x depth: 230x180x10 mm, weight: 539 g, illustrations
  • Izdošanas datums: 30-Jan-2014
  • Izdevniecība: Addison-Wesley Educational Publishers Inc
  • ISBN-10: 032190947X
  • ISBN-13: 9780321909473
Citas grāmatas par šo tēmu:

Master The Crucial Technical Skills Every Software Architect Needs!

To succeed as a software architect, you must master both technical skills and soft skills. Dave Hendricksen illuminated the soft skills in his highly-regarded12 Essential Skills for Software Architects. Now, in 12 More Essential Skills for Software Architectshe turns to the technical side.

Drawing on his decades of experience, Hendricksen organizes technical skills into three areas.

PROJECT SKILLS: driving projects from ideation through delivery
TECHNOLOGY SKILLS: building, buying, and/or leveraging the right technologies
VISIONARY SKILLS: realizing an architectural vision that improves long-term competitiveness

He helps you develop and sharpen these key technical skills: from conceptualizing solutions to developing platforms and governance, and from selecting technology innovations to infusing architectures with an entrepreneurial spirit.

This guide reveals the technical skills you need and provides a coherent framework and practical methodology for mastering them.

Taken together, Hendricksen’s two books offer the most complete, practical pathway to excellence in software architecture. They’ll guide you through every step of your architecture career—from getting the right position to thriving once you have it.

Essential Architect Skills

Visionary Skills
Entrepreneurial Execution
Technology Innovation
Strategic Roadmapping

Technology Skills
Governance
Platform Development
Know-how
Architectural Perspective

Project Skills
Estimation
Partnership
Discovery
Management
Conceptualization

Dave Hendricksen is a big data architect for Thomson Reuters, where he works closely with the firm’s new product development teams to create innovative legal products for large-scale online platforms such as Westlaw.com. Hendricksen presented “Designing and Building Large-Scale Systems in an Agile World” at Carnegie Mellon University’s influential Software Engineering Institute.

Preface xix
Acknowledgments xxiii
About the Author xxv
Part I: Project Skills 1(138)
Chapter 1 Partnership
5(24)
What Is a Partnership?
6(1)
What Are the Key Aspects of a Partnership?
6(1)
Alignment
6(6)
With Whom Do I Need to Be Partners?
7(2)
Finding the Thought Leaders
9(1)
Knowing the Influencers
10(1)
Establishing Trusted Adviser(s)
10(1)
Community Review (Architecture Review Board)
10(1)
Seeking Alignment before Making Key Decisions
11(1)
Alignment of a Shared Vision Enables Partnerships
11(1)
Trust
12(5)
Establishing Trust
12(1)
Establishing Open Disclosure
12(1)
Avoiding Getting Spread Too Thin (Overcommitting)
13(1)
How to Unwind after You Have Overcommitted
14(1)
Learning to Say No
15(1)
Trust Enables Transparency—the Lifeblood of Partnerships
16(1)
Context
17(4)
Realizing the Nature of the Partnership
17(1)
Being Aware of Your Business Context
18(1)
Technical Decisions Require Partnerships
18(1)
Key Point: Technical Decisions Are Political Decisions
19(1)
Presenting the Situation First (Give Context)
19(1)
Having Your Partners' Backs
20(1)
Contributing to Your Partners' Successes
20(1)
Safety in Numbers
21(1)
Collaboration
21(4)
Bringing Value to the Table
22(1)
Becoming a Mentor
22(1)
Seeking a Mentor
23(1)
Partnerships Can Be a Source of Opportunity
24(1)
Partnerships Are a Step toward Ideation
24(1)
Collaboration Drives Stronger Partnerships
24(1)
Relationships
25(2)
Partnerships Are Not Just about Business
25(1)
Making Deposits before You Start Withdrawing
25(1)
External Partnerships
26(1)
Bad Experiences in the Past?
26(1)
Avoiding Caustic Members of the Organization
26(1)
Summary
27(1)
References
28(1)
Chapter 2 Discovery
29(26)
What Is Discovery?
30(1)
The Keys to Discovery
30(2)
Understanding the Customer
32(11)
Partnering with Sales, Marketing, and New Product Development
32(5)
Meeting with Customers
37(6)
What Will Delight the Customer?
43(1)
Understanding the Market
43(8)
Learning about the Customers' Customers
46(1)
Where Are the Customers Willing to Spend Money?
47(1)
What Is the Competition Doing?
48(2)
Listening to Themes across Customers
50(1)
Understanding Your Business
51(2)
Learning What Your Business Wants to Do
52(1)
Personalizing Your Company's Strategic Goals
52(1)
Developing a Business Context for Decision Making
52(1)
Summary
53(1)
References
53(2)
Chapter 3 Conceptualization
55(24)
Ideation
56(1)
Getting Involved Early
57(1)
Conceptualization: Bringing Ideas to Life
58(1)
Concept Formation
59(8)
What Language Are They Speaking?
59(1)
What Problem Is Being Discussed?
60(2)
When Arriving Late to the Ideation Party, Be Cautious about Committing
62(1)
What Does This Concept Look Like?
63(4)
Concept Reification
67(4)
Minimum Viable Product
67(1)
The Need for Experimentation
68(1)
Establishing Assumptions Can Help Harmonize the Vision
68(1)
Establishing Essential Capabilities and Customer Roles
69(1)
Reify with Customers
70(1)
Concept Evolution
71(4)
Being a Student of History
71(1)
Embracing Multiple Perspectives
72(1)
Seeking Conceptual Integrity
73(2)
Recognizing Adjacent Opportunities
75(1)
Summary
75(1)
References
76(3)
Chapter 4 Estimation
79(30)
Estimates Overview
80(4)
What Is the Purpose of the Estimate?
80(2)
Is There an Established Project Context?
82(1)
What Is an Architectural Approach?
82(2)
Understanding the Estimating Process
84(4)
Estimating Pipeline
84(1)
Types of Projects
85(1)
Alternative Ways of Financing Projects
86(1)
Understanding the Business Process
87(1)
Developing the Architectural Approach
88(9)
Is This a Partnership or a Contractual Relationship?
88(1)
What Is the Business Rationale for the Project?
89(1)
What Is the Marketing Approach?
89(1)
Is This a Repeat Estimate?
90(1)
What Risks Have You Identified? Can You Mitigate Them?
91(2)
Are You Building a Platform?
93(1)
Are You Re-platforming?
93(1)
What Technologies Are in Play?
94(1)
What Is the Organizational Structure?
95(1)
Do You Need to Seek External Research?
96(1)
Have You Identified Leverageable Components?
96(1)
Estimating Strategies
97(2)
Plan for Unknowns and Challenges
97(1)
Be Realistic: Don't Cave In Just to Get the Project
98(1)
Keep the Critical Things Close
98(1)
Develop Estimating Feedback Loops
98(1)
Minimize Organization Coupling and Cohesion
98(1)
PowerPoint as You Go
99(1)
Develop Checklists
99(1)
Gain Executive and Organization Buy-in Early
99(1)
Estimating Principles
99(3)
Know the Hard Problem
100(1)
Provide Options
100(1)
Leave Design Decisions Open
100(1)
Know the Schedule
100(1)
Know What You Want
100(1)
Avoid Being Negative
100(1)
Seek Opportunities to Say Yes
100(1)
Bargain Hard Now, Not Later
101(1)
Don't Cave In
101(1)
Trust Your Gut Feeling
101(1)
Beware of Projects That Others Have Estimated
101(1)
Know the Business's Targeted Build Price
101(1)
Bringing It All Together
102(4)
Knowing Your Timeline
102(1)
Who Is Involved with Estimating?
102(1)
Understanding Your Leverage Points
103(1)
Putting It All Together
103(1)
Engaging Executives
103(1)
Selling the Estimate
104(2)
Summary
106(1)
References
106(3)
Chapter 5 Management
109(30)
Architecture Management Defined
110(1)
Areas of Architectural Responsibility
110(1)
Striving toward Technology Excellence
111(5)
Establishing a Vision
112(1)
Raising Awareness of Technical Debt and Funding the Right Solution
112(1)
Keeping the Technical Environment Interesting
113(1)
Finding Potential Patents
114(1)
Seeking Data Center and Operations Support for Your Direction
114(1)
Generalizing the Solution
115(1)
Making It Strategic
115(1)
Leveraging Solutions
115(1)
Delivering Projects
116(5)
Partnering with the Project Manager
116(1)
Eliminating Dependencies Ruthlessly
116(1)
Managing Expectations
116(1)
Mastering the Development Process
117(1)
Being Where the Problems Are
118(1)
Being Aware of Nontransparency on Your Projects
118(1)
Limiting the Number of Contractors in Leadership Positions
119(1)
Providing Technical Management (Areas of Responsibility)
119(1)
Managing by Walking Around
120(1)
Resolving Issues
121(4)
Asking the Tough Questions
121(1)
Dealing with Problems in the Moment
121(1)
Saying No, but with Options
122(1)
Striving to Be Consistent in Your Decisions
122(2)
Learning to Deal with Things Head-on, Cards Faceup on the Table
124(1)
Knowing What You Are Willing to Cave On When Negotiating
124(1)
Being Willing to Challenge Areas You Don't Agree with (Respectfully)
124(1)
Being Willing to Stand Your Ground
125(1)
Knowing What Is Not Your Problem
125(1)
Partnering with Executives
125(2)
Managing Risk through Transparency
125(1)
Reviewing Estimates
126(1)
Limiting the Number of Boxes on Diagrams
126(1)
Raising Technology Awareness
126(1)
Having Your Boss's Back
127(1)
Avoiding Interrupting Executives When They Are Talking
127(1)
Being Confident
127(1)
Managing Your Time
127(4)
Limiting the Number of Projects to Which You Commit
128(1)
Defining Your Role and Bounding It
128(1)
Prioritizing Where to Engage Your Time
128(2)
Learning to Make Decisions on Limited Data and with Limited Time
130(1)
Attending Meetings Only If You Are an Active Participant
130(1)
Getting a Deadline
130(1)
Delegating to Those You Trust
130(1)
Meeting in Person
131(1)
Grooming Technical Talent
131(3)
Having an Architecture Mentorship Program
131(1)
Having a Technology Forum
132(1)
Encouraging Members of Your Technical Team to Attend Local Conferences and User Groups
132(1)
Hiring the Best People: Don't Just Fill a Position
133(1)
Enhancing Your Skill Set
134(2)
Sitting with Other Architects
134(1)
Doing Something Technical Every Day
134(1)
Focusing on What Scares You
135(1)
Becoming an Expert in an Area
135(1)
Looking for Projects Where You Can Grow Your Skills
135(1)
Summary
136(1)
References
136(3)
Part II: Technology Skills 139(94)
Chapter 6 Platform Development
143(26)
Platform Development Defined
144(1)
The Elements of Platform Development
144(1)
Capabilities
145(3)
Defining the Set of Objectives
145(1)
Defining the Set of Capabilities
146(1)
Focusing on Leverageable Capabilities
146(1)
Developing a Strong Conceptual Model
147(1)
APIs Are the Keys to the Kingdom
147(1)
Ecosystem
148(16)
Platform Users
148(1)
Platform Ownership
148(7)
Platform Management
155(3)
Platform Development
158(3)
Acknowledging the Costs Associated with the Platform
161(1)
Managing Platform Quality
162(1)
Platform Integration
162(2)
Scalability
164(1)
Security
164(1)
Guiding Principles
164(2)
Seek Exceptional Quality
164(1)
Seek Operational Excellence
164(1)
Seek Configurability over Hard Coding
165(1)
Seek Leverageability
165(1)
Seek Redundant Architecture
165(1)
Seek Linear Scalability
166(1)
Avoid Platform Entanglement
166(1)
Avoid Platform Sprawl
166(1)
Keep Upgrading to Current Technologies
166(1)
Summary
166(1)
References
167(2)
Chapter 7 Architectural Perspective
169(24)
Architectural Perspective Defined
170(1)
Architectural Principles
170(7)
The Principle of Least Surprise
170(2)
The Principle of Least Knowledge (aka the Law of Demeter)
172(1)
The Principle of Least Effort (aka Zipf's Law)
172(1)
The Principle of Opportunity Cost
173(2)
The Principle of Single Responsibility
175(1)
The Principle of Parsimony (aka Occam's Razor or KISS)
175(1)
The Principle of Last Responsible Moment (aka Cost of Delay)
176(1)
The Principle of Feedback
177(1)
Architectural Concerns
177(6)
Availability
178(2)
Scalability
180(1)
Extensibility
181(1)
Repeatability
182(1)
Compatibility
182(1)
Sustainability
182(1)
Security, Disaster Recovery, Business Continuity, and Open-Source Licensing
183(1)
Third-Party Integration
183(1)
Architectural Communication
183(8)
Domain Model
184(1)
Process Diagram
184(1)
Context Diagram
185(1)
User Interface Mock-ups
186(1)
Logical Architecture Diagram
186(1)
Executive Overview Diagram
187(1)
Hardware Environments Diagram
187(1)
Risks, Assumptions, Issues, and Dependencies (RAID)
188(3)
Bringing It All Together
191(1)
Summary
192(1)
References
192(1)
Chapter 8 Governance
193(20)
Governance Defined
194(1)
Governance Principles
194(9)
Avoid Vendor Lock-in
194(1)
Encourage Open-Source Usage
195(1)
Minimize the Cost of Disruption (aka Enable Business Continuity Planning and Disaster Recovery)
196(2)
Enable Loose Coupling between Business Units
198(1)
Leverage Common Capabilities
199(1)
Ensure Regulatory Compliance
200(1)
Ensure Security
201(1)
The Principle of Least Privilege (aka the Principle of Least Authority)
202(1)
Seek Unified Identity and Access Management
202(1)
Seek Data Portability (aka Avoid Data Lock-in)
203(1)
Seek Integration and Automation
203(1)
Areas of Governance
203(6)
Estimates
204(1)
Management Concerns
205(1)
Architecture
206(2)
Design
208(1)
Building, Coding, Integrating, Deploying, Testing, and Monitoring
208(1)
Governance and a Healthy Tension with Agile
209(1)
Summary
210(1)
References
210(3)
Chapter 9 Know-how
213(20)
Know-how Defined
214(1)
Developing Know-how
215(14)
Developing Know-how Relevance
215(3)
Developing Know-how Currency
218(3)
Developing Know-how Excellence
221(8)
Know-how Synthesis
229(1)
Know-how-Driven Architecture
230(1)
Summary
231(1)
References
232(1)
Part III: Visionary Skills 233(54)
Chapter 10 Technology Innovation
237(18)
Technology Innovation Defined
238(1)
Trend Awareness
238(4)
Areas of Trend Awareness
240(1)
Applying Trend Awareness
241(1)
Business Alignment
242(3)
Paying Attention to Trends on Customer Inquiries
242(1)
Getting Customer Feedback
242(1)
Analyzing Customer Feedback
243(1)
When to Be Cautious about Trends
243(2)
When to Embrace a Trend
245(1)
Strategic Research
245(2)
Research Approaches
246(1)
Technology Innovation Principles
247(5)
Seek Approved but Minimal Time and Funding to Explore
247(1)
Make Small Bets
248(1)
Use Technology Scouting to Scan and Track the Trends Regularly
248(1)
Have a Lab Area
249(1)
Use Rapid Experimentation with User Feedback Loops
250(1)
Show the Business and Customers Prototypes
250(1)
Introduce New Technologies at the Edge
250(2)
Pragmatic Technology Innovation
252(1)
Summary
253(1)
References
254(1)
Chapter 11 Strategic Roadmapping
255(16)
Strategic Roadmapping Defined
256(1)
Elements of a Strategic Roadmap
257(3)
Strategically Focused
257(1)
Time Sequenced
257(1)
Organized by Swim Lanes
257(1)
Dependency Aware
257(1)
Visually Represented
258(1)
Collaborative in Nature
258(1)
Code Named
258(1)
Context Dependent (Personalized)
258(1)
Multidisciplinary and Specialized
258(1)
Prioritized
259(1)
Iterative in Nature
259(1)
Updated
259(1)
Published
259(1)
Measurable
259(1)
Roadmapping Strategies
260(1)
Whiteboarding the Roadmap Using Sticky Notes
260(1)
Starting with the End (aka Work Backward)
260(1)
Holding Workshops
260(1)
Thinking of Roadmapping as a Project
261(1)
Capturing Underlying Guiding Principles
261(1)
Roadmapping Principles
261(4)
Keep It Simple
261(1)
Partner with the Business
262(1)
Get Moving
262(1)
Have Fun
262(1)
Strategies without Goals Are Pointless
262(1)
Identify Areas That Require Research and Innovation
263(1)
Identify Skill and Knowledge Gaps
263(1)
Be Flexible on the Timing of Getting to the Destination
263(1)
Be Willing to Take a New Route
263(1)
It's Not about the Details; Focus on the Destination and Key Milestones
264(1)
Follow What Energizes You
265(1)
What Is an Architect's Role in Roadmapping?
265(1)
Where Can You Use Roadmaps?
266(1)
Roadmap Considerations
266(2)
Roadmap Socialization
268(1)
Celebrating Milestones Achieved
269(1)
Summary
269(1)
References
270(1)
Chapter 12 Entrepreneurial Execution
271(16)
Entrepreneurial Execution Defined
272(1)
Elements of Entrepreneurial Execution
272(4)
Entrepreneurial Spirit
274(1)
Calculated Risk Taking
275(1)
Delivering Results
276(1)
Entrepreneurial Execution Principles
276(7)
Affordable Loss Principle
276(1)
Lemonade Principle
276(1)
Patchwork Quilt Principle
277(1)
Bird-in-the-Hand Principle
277(1)
Pilot-in-the-Plane Principle
277(1)
Seize the Moment
278(1)
Follow Your Passion
278(1)
Learn to Pivot
279(1)
Learn by Doing (Making Mistakes), but Do It Cost-Effectively
280(1)
Seek Feedback
281(1)
Seek Leverage
282(1)
Architecting with Entrepreneurial Execution
283(1)
Summary
284(1)
References
284(3)
Epilogue: Bringing It All Together 287(4)
Thinking about Skill Development
288(1)
Final Thought
289(2)
Index 291
Dave Hendricksen is a big data architect for Thomson Reuters, where he works closely with the firm's new product development teams to create innovative legal products for large-scale online platforms such as Westlaw.com. Hendricksen presented "Designing and Building Large-Scale Systems in an Agile World" at Carnegie Mellon University's influential Software Engineering Institute.