27
® IBM Software Group © 2012 IBM Corporation The Process of Software Architecting (Top 10 Success Secrets for Software Architects) Speaker: Peter Eeles Chief Architect, IBM Rational Software Delivery Executive IT Architect IBM UK [email protected] 1 Roger Snook IBM Software, Rational WorldWide Enablement Leader, Offering, Strategy, Delivery (OSD) Team, +1.703.943.1170 [email protected] Good Design is Good Business Series (developerWorks)

The process of software architecting

Embed Size (px)

DESCRIPTION

A Top 10 Key to Success for Architects, delivered by author Pete Eeles, IBM, hosted on the "Good Design is Good Business" group on developerWorks: https://www.ibm.com/developerworks/mydeveloperworks/blogs/669242b1-dd91-4d63-a08f-231314c793bb/entry/top_10_success_secrets_for_software_architects_good_design_is_good_business_series?lang=en

Citation preview

Page 1: The process of software architecting

®

IBM Software Group

© 2012 IBM Corporation

The Process of Software Architecting(Top 10 Success Secrets for Software Architects)

Speaker: Peter Eeles

Chief Architect, IBM Rational Software DeliveryExecutive IT ArchitectIBM [email protected]

1

Roger Snook IBM Software, RationalWorldWide Enablement Leader, Offering, Strategy, Delivery (OSD) Team, [email protected]

Good Design is Good Business Series (developerWorks)

Page 2: The process of software architecting

IBM Software Group | Rational software

2

Inspiration “If I have seen further it is only by

standing on the shoulders of giants”

Sir Isaac Newton, letter to Robert Hooke, 15th February 1676

www.handbookofsoftwarearchitecture.com

Page 3: The process of software architecting

IBM Software Group | Rational software

3

For More Info …www.processofsoftwarearchitecting.com

Page 4: The process of software architecting

IBM Software Group | Rational software

4

10 Keys to Success

Successful Architects … For example, they …

1 Understand end-to-end development Follow a repeatable process

2 Understand their role Understand what an architecture is

Understand what an architect does

Understand the benefits of architecting

3 Manage risk and manage change Derive their architectures iteratively

4 Communicate with stakeholders Document their architectures

5 Reuse assets Embrace different types of assets

6 Right-size their involvement Select relevant viewpoints

7 Influence the requirements Ensure tradeoffs are negotiated

8 Derive solutions from business needs Produce business-driven architectures

9 Refine solutions based on technology Realize architectures in available technology

10 Appreciate the broader context Align their work with the “bigger picture”

Page 5: The process of software architecting

IBM Software Group | Rational software

5

1. Architects Understand End-to-End Development

OpenUP disciplines shown

Page 6: The process of software architecting

IBM Software Group | Rational software

6

1. Architects Understand End-to-End Development

OpenUP disciplines shown

Page 7: The process of software architecting

IBM Software Group | Rational software

7

1. Architects Understand End-to-End Development

OpenUP disciplines shown

Page 8: The process of software architecting

IBM Software Group | Rational software

8

2. Architects Understand their Role

Page 9: The process of software architecting

IBM Software Group | Rational software

9

3. Architects Manage Risk and Manage Change

“Scrum is a management and control process that cuts through complexity to focus on building software to meet business needs. Scrum is superimposed on top of and wraps existing engineering practices, development methodologies and standards”. [Schwaber]

Page 10: The process of software architecting

IBM Software Group | Rational software

10

Architecture Stability

%Resources derived from information in “Software Project Management – A Unified Framework” [Royce]

Page 11: The process of software architecting

IBM Software Group | Rational software

11

4. Architects Communicate with Stakeholders

Page 12: The process of software architecting

IBM Software Group | Rational software

12

5. Architects Reuse Assets

Page 13: The process of software architecting

IBM Software Group | Rational software

13

6. Architects Right-Size their Involvement

Page 14: The process of software architecting

IBM Software Group | Rational software

14

6. Architects Right-Size their Involvement

Small Project Large Project

Role • A single person is assigned to play the roles of Lead Architect, Application Architect, Infrastructure Architect and Data Architect.

• Different individuals are assigned to each of the architecture roles of Lead Architect, Application Architect, Infrastructure Architect and Data Architect. In addition, the team also includes a Security Architect.

Task • An Architecture Overview is created as a sketch on a whiteboard and then photographed (it is not kept up to date).

• An Architecture Overview is created as a formal work product that is maintained.

Work product

• Requirements, Functional, Deployment and Performance viewpoints are used to document the architecture.

• Requirements, Functional, Deployment, Validation, Performance and Security viewpoints are used to document the architecture. An Information Viewpoint is added to emphasize this particular aspect of the architecture.

Page 15: The process of software architecting

IBM Software Group | Rational software

15

Page 16: The process of software architecting

IBM Software Group | Rational software

16

7. Architects Influence the Requirements

ScheduleResources

Stakeholder input

ScalabilityPerformance

DistributionPlatforms

MaintainabilityPortability

Page 17: The process of software architecting

IBM Software Group | Rational software

17

8. Architects Derive Solutions from Business Needs

Attribute Driven Design (ADD) Method

Developed at the Software Engineering Institute

Quality attributes drive the architecture

Underpinned by architectural tactics and patterns

Siemens’ 4 Views (S4V) method

Developed at Siemens Corporate Research

An analysis of global factors drives the architecture

Iteratively addresses challenges across four views (conceptual, execution, module and code architecture)

The Rational Unified Process (RUP)

Developed at Rational Software (now IBM Rational)

Architecturally-significant requirements drive the architecture

Each iteration considers the key architectural elements of the solution, before realizing the requirements across them

Page 18: The process of software architecting

IBM Software Group | Rational software

18

Task: Outline Functional Elements

Boundary (or presentation) components Support the boundary between the system and items outside the system with

which the system interacts, such as end users or external systems

Control (or execution) components Support the control logic of the system as well as the business rules and other

logic required to satisfy the functional requirements

Entity (or data) components These components support the representation of persistent information

Page 19: The process of software architecting

IBM Software Group | Rational software

19

Task: Outline Functional Elements

Book Tour use case realization

Page 20: The process of software architecting

IBM Software Group | Rational software

20

Task: Outline Functional Elements

Book Tour use case realization

Page 21: The process of software architecting

IBM Software Group | Rational software

21

Task: Outline Deployment Elements

Page 22: The process of software architecting

IBM Software Group | Rational software

22

Task: Detail Deployment Elements

Page 23: The process of software architecting

IBM Software Group | Rational software

23

9. Architects Refine Solutions Based on Technology

Page 24: The process of software architecting

IBM Software Group | Rational software

24

10. Architects Appreciate the Broader Context

Page 25: The process of software architecting

IBM Software Group | Rational software

25

Summary

1. Architects understand end-to-end development

2. Architects understand their role

3. Architects manage risk and manage change

4. Architects communicate with stakeholders

5. Architects reuse assets

6. Architects right-size their involvement

7. Architects influence the requirements

8. Architects derive solutions from business needs

9. Architects refine solutions based on technology

10.Architects appreciate the broader context

Page 26: The process of software architecting

IBM Software Group | Rational software

26

Page 27: The process of software architecting

IBM Software Group | Rational software

27

Roger Snook IBM Software, RationalWorldWide Enablement Leader, Offering, Strategy, Delivery (OSD) Team, [email protected]

Good Design is Good Business Series (developerWorks)