You are on page 1of 15

Corporate Technology

What an Architect Needs to Know


Experiences from the Siemens Curriculum for
Software Engineers

Frank Buschmann
Siemens AG
Corporate Technology
Systems Architecture and Platforms

Copyright © Siemens AG 2010. All rights reserved.

Content

ƒ Motivation

ƒ Software architect target profile

ƒ Senior software architect curriculum

ƒ Summary

Page 2 October 2010 Buschmann © Siemens AG, Corporate Technology

1
Background and motivation

The economic success of many Siemens products is highly dependent


on key software knowledge and practices. The qualification of software
engineers has high priority for Siemens
Levels & roles

Head of
Class A Project:
R&D ƒ High complexity (platform / product line)
ƒ High degree of innovation
SW PM ƒ Big business impact, high risk
SW PLM ƒ Cross-functional, distributed structure, big team
Certified Senior
Software Architect
(SSWA)
Architect
ger
Software
Eng ments

Architect
Software

Certified
Mana

Class B Project:
r
inee

Software Architect ƒ Moderate innovation in technology, medium risk


uire

(SWA) ƒ Medium business impact, medium teams


Test
Req

Software Class C Project:


Developer ƒ Enhancing known technology and requirements,
low risk
ƒ Single site development, small teams

Page 3 October 2010 Buschmann © Siemens AG, Corporate Technology

Content

ƒ Motivation

ƒ Software architect target profile

ƒ Senior software architect curriculum

ƒ Summary

Page 4 October 2010 Buschmann © Siemens AG, Corporate Technology

2
Software architect mission

Software Architects drive and guide the specification and realization of


a software system through its entire lifetime

ƒ They provide the architecture vision of a


ERP
product
Warehouse
Management
ƒ Their decisions are driven by clear focus on H
Warehouse DB
C
the intended business for the software and its I
Representation Access

Material Flow
associated requirements Control
Fault
Mgr
ƒ They are guided by vision and experience User
Mgr
Base Automation
ƒ They lead, guide, coach, and motivate the
architects and developers in their teams

ƒ They involve the relevant management


before taking important decisions

Page 5 October 2010 Buschmann © Siemens AG, Corporate Technology

Software architect competence spider

Architects must be proficient in all areas of software development,


but most of all they must be thoughtful leaders!
Business case understanding Business and
Testing and Quality assurance Global development strategy
quality Expert
Test processes Legal issues
and methods
Advanced
Software System Product Requirements
processes development Basic management engineering

SW development processes Requirements engineering

Project Product line engineering


Leadership management
Software architecture
Social skills Architecture and development
Competence level scale design and realization
Basic – can understand Configuration SW design
Advanced – can apply Software Architect (SWA)
Expert – can guide
management methods Senior Software Architect (SSWA)
Page 6 October 2010 Buschmann © Siemens AG, Corporate Technology

3
Involvement in the business case

A properly defined business case and project scope inform about


ƒ The key purpose and main responsibilities of a software system
ƒ Its business-relevant requirements and USP’s
ƒ The context of the system: boundaries, users
and their interests, and the domain model
ƒ The system’s business model
ƒ The envisioned market for the system
and the expected market share
ƒ The expected revenue (over time),
the planned investment (over time)
ƒ The system’s technology,
development and release roadmaps
ƒ The system’s Intellectual Property Rights (IPR) strategy

The architect must understand the system’s


business case, and is involved in defining
its scope, domain model, roadmaps, and IPR strategy
Page 7 October 2010 Buschmann © Siemens AG, Corporate Technology

Involvement in requirements engineering

An architect is dependent on clearly defined requirements to take explicit,


thoughtful, focused, and balanced design decisions.
ƒ Requirements drive the selection of appropriate design concepts and realization
technologies for their solution
ƒ They guide design decisions in case of conflicts
ƒ They ensure a design addresses all requirements,
and only the requirements
ƒ They enable testing the specified design
and its realization
Master node Hot standby
• The planned uptime of the system is process image
7x24, the planned downtime is 10
consecutive days every 2 years
Stand-by node
• The process image of the plant must be
available 99,999% of the planned uptime
• Recovery [reference to the recovery
process] in case of an unplanned outage
should take at most 2 seconds Legend
request

Qualitative requirements lead to appropriate and reply

sustainable design decisions synchronize

Page 8 October 2010 Buschmann © Siemens AG, Corporate Technology

4
Involvement in requirements engineering

To guide the design and implementation of a software system,


requirements should expose the following quality attributes:
ƒ Feasible – supports the business case

ing
ƒ Correct – precise qualitative description

eer
n
ƒ Unambiguous – precise qualitative description

ngiE
ƒ Testable – precise quantitative description

nts
me
ƒ Consistent – with other requirements

uire
ƒ Traceable – can be identified clearly

Req
ƒ Prioritized – regarding business value, technical
risk, realization complexity, ...

The architect must understand the system’s requirements, is involved in challenging their
properties, and contributes all technical aspects to their specification and prioritization.
It is the architect’s responsibility to initiate dialog with the relevant management
and project roles if requirements are lacking the above qualities.

Page 9 October 2010 Buschmann © Siemens AG, Corporate Technology

Involvement in testing

Test can help tell an architect how sustainable an architecture is and how
well the architecture meets the system requirements
ƒ A defined test strategy supports testing the
success critical aspects of the system

ƒ Design for testability requires clear modularization,


strict design by contract, and stable intermediate Client FIFO
Scheduling
Strategy

states along the control flow of key use cases Future


Service
Interface
Scheduler

Activation
List
ƒ Regular architecture reviews and A. Method
*
Memento
Request
code quality management help to
Macro Store Fetch
maintain architecture sustainability Command Item Item

and to avoid architecture drift Storage


Capacity
Leafs
Only
LoadIn Warehouse
Layers Core
Storage Abstract Abstract Abstract
Manager Visitor Iterator Strategy
* * Abstract
Storage Successor
*
The architect and test manager must SOC
Factory
Atomic
Storage
Composite
Storage

agree on a test strategy, the architect SOC


*
Hazardous
Bin Warehouse Aisle

must prepare the system’s architecture Hazardous


Value
Real
Bin

for testability, participate in reviews,


and interpret and react on test results
Page 10 October 2010 Buschmann © Siemens AG, Corporate Technology

5
Involvement in software processes

Define and realize a software architecture using an iterative, risk-driven,


requirements-driven, and test-driven development process, in which
ƒ An iterative, time-boxed approach
provides continuous feedback

ƒ Risk- and requirements orientation


ensures that the most important aspects
of the system's realization are
addressed first: key functionality,
quality, technological risks

ƒ A test-driven approach provides


concrete feedback on the quality
of the architecture and its realization

The architect is involved in defining the software development process to


ensure that it defines a feedback loop for achieving product quality and less risk

Page 11 October 2010 Buschmann © Siemens AG, Corporate Technology

Responsibility in design and realization

Define a sustainable baseline architecture – an architectural "whole":


ƒ The fundamental structure and form of the software
system: its core parts, their main responsibilities,
relationships, interfaces, and collaborations Concurrency Concept for
Performance and Scalability
ƒ The concepts for addressing ERP
success-critical, system-wide Scheduling

quality attributes
Client FIFO
Warehouse Strategy
management Future
Service
Scheduler
H Interface
Warehouse DB Activation
M
ƒ The guiding principles I
representation Access *
A. Method
Request
Memento
List

Material flow
and design directives control Macro
Command
Store
Item
Fetch
Item
for the architecture Fault
mgmt
Storage Leafs LoadInWarehouse
Capacity Only Layers Core
Storage Abstract Abstract Abstract
User
mgr Active Object
Manager Visitor Iterator Strategy
* * Abstract
Storage Successor
*

Key for success is that all Base automation SOC


Factory
Atomic
Storage
Composite
Storage
*
Hazardous
Bin Warehouse Aisle
architecture work is driven SOC
Hazardous
Value
Real
Bin
by requirements and that the
architect guides realization: Business Logic Infrastructure
Subsystems Subsystem
architect also implements
Page 12 October 2010 Buschmann © Siemens AG, Corporate Technology

6
Responsibility in design and realization

An architect needs a clear set of values, activities, practices, and


methods to System and domain
scoping
ƒ Specify and implement a software
architecture constructively and in a
Baseline architecture
timely fashion specification
ƒ Check and ensure the appropriate
architectural quality
Iterative, risk-driven,
Enforcing the
ƒ Respond to changes of all requirements-driven, and
architecture vision
test-driven development
kinds, such as changing
requirements and priorities
Strategic and
ƒ Deal with problems that arise Design for usability
tactical design
during the definition and realization
of the software architecture Ensure operational and Care for
developmental quality design and code quality

Refactoring, reengineering
and rewriting

Page 13 October 2010 Buschmann © Siemens AG, Corporate Technology

Responsibility in design and realization

An architect needs a sound expertise in methodology and technology


ƒ What are the methods and technologies all about and what is their range of applicability?
ƒ What are their benefits and their costs?
ƒ What methods and technologies are (competitive) alternatives and what methods and
technologies are natural complements?
ƒ How are the methods and technologies applied in detail?

Page 14 October 2010 Buschmann © Siemens AG, Corporate Technology

7
General responsibility:
leadership, collaboration, and interaction

Leadership is crucial: software architects interact with many other


stakeholders in the software development lifecycle

Head of
… Product (line / lifecycle) manager

R&D Requirements ƒ Motivation


engineer ƒ Team building
Software ƒ Decision enforcement
project manager ƒ Peer sparring
ƒ Reviews
ƒ Coaching
Software
Test manager developer ƒ Stakeholder-specific
presentations
Software
architect

Page 15 October 2010 Buschmann © Siemens AG, Corporate Technology

Content

ƒ Motivation

ƒ Software architect target profile

ƒ Senior software architect curriculum

ƒ Summary

Page 16 October 2010 Buschmann © Siemens AG, Corporate Technology

8
Elements of the qualification program

A qualification program for software engineers requires more than a set


of seminars and trainings

Qualification
Setting standards
(courses and

ger
Engine nts

Architect
Software
for software development

Ma na
er
me
Require
on-the-job training)

Test
Fostering best practice sharing Software
and experience exchange architects' network

Assuring practical experience


Certification
for critical projects

Page 17 October 2010 Buschmann © Siemens AG, Corporate Technology

Guiding principles (1)

The qualification program for senior software architects should address


twelve guiding principles for development of software-intensive systems

1. Architecture is the key throughout the whole lifecycle and across releases
2. Build on existing basis where feasible (from technical and business
perspective) and be able to recognize when such reuse is not suitable
3. Avoid unnecessary technological platform development by using technical
standards and products available on the market
4. In product and system business the product (lifecycle) manager / in project
and solution business the project manager is and must act as owner of the
main requirement.
5. Pay particular attention to system quality attributes, often overlooked but are
extremely important
6. Be prepared and able to handle changing requirements, but be aware about
the risk of late changes
Page 18 October 2010 Buschmann © Siemens AG, Corporate Technology

9
Guiding principles (2)

The qualification program for senior software architects should address


twelve guiding principles for development of software-intensive systems

7. Synchronize well across the technical disciplines: software, mechanics,


electronics, mechatronics, systems engineering
8. Work together truly as a team, avoid “silo” thinking, be willing and able to
speak and understand the other roles and disciplines
9. Work iteratively (no 100% definition of all up-front), strive to identify and
resolve technical and business risks early
10. Structure the system to avoid unnecessary complexity, and to actively enable
and support multi-site development
11. Strive for transparency and base decisions on clear business / technical
reasons, not political ones
12. Do not underestimate the importance of soft skills, these can be particularly
important for convincing and motivating
Page 19 October 2010 Buschmann © Siemens AG, Corporate Technology

Curriculum topics

The curriculum content partitions into five topic areas, each including a
range of specific topics relevant for software architects

30%
Software
Require- Testing
Architecture
ments and
15% Engineering
and
Quality 15%
Development

Business Processes and Strategy 10%

Social Skills and Leadership 30%

Page 20 October 2010 Buschmann © Siemens AG, Corporate Technology

10
Selected content details:
architecture

ƒ Domain modeling and system scoping


ƒ Agile development practices
ƒ Strategic and tactical design
Require- Software Testing ƒ Architecturally significant requirements
ments Architecture and ƒ Walking skeletons
Engineering and Quality ƒ Variability management
Development
ƒ Design for operational and developmental quality
Business Processes and Strategy ƒ Patterns, practices, methods, technologies
ƒ Design for usability
ƒ End user / customer acceptance
Social Skills and Leadership ƒ Developer habitability
ƒ Enforcing the architecture vision (avoid architecture drift)
ƒ Communicating the architecture to stakeholders
ƒ Mentoring, coaching, reviews
ƒ Refactoring, Reengineering, Rewriting

Page 21 October 2010 Buschmann © Siemens AG, Corporate Technology

Selected content details:


requirements, business, social skills

ƒ Requirements management:
ƒ Elicitation
ƒ Documentation
ƒ Evolution
Require- Software Testing ƒ Non-functional requirements
ments Architecture and
Engineering and Quality ƒ Variability management
Development ƒ C/V Analysis
Business Processes and Strategy
ƒ Business case development
ƒ Product definition
Social Skills and Leadership ƒ Portfolio definition
ƒ Intercultural aspects
ƒ Conflict management; coaching
ƒ Situation-dependent leadership
ƒ Decision enforcement (in critical situations)
ƒ Team Building

Page 22 October 2010 Buschmann © Siemens AG, Corporate Technology

11
Selected content details:
testing and quality

ƒ Understand the mission and the value of testing and


promote it
ƒ Risk-based testing strategy
Require- Software Testing
ments Architecture and ƒ Test-driven development
Engineering and Quality
Development ƒ Design for testability
ƒ Test design methods
Business Processes and Strategy
ƒ Integration testing
ƒ Test architectures, test automation
Social Skills and Leadership ƒ Regression testing
ƒ Architectural quality – internal software quality and code
quality management

Page 23 October 2010 Buschmann © Siemens AG, Corporate Technology

Selection of participants

Curriculum is part of the world-wide employee development program

SSWA candidate selection process

Nomi- Evaluation Participant


Call for nation of appli- Interview
candidates by Division Candidate
CEO
cations

4 candidates Target group:


per division 15 advanced and
experienced
software architects
with similar level of
expertise from
different divisions

Page 24 October 2010 Buschmann © Siemens AG, Corporate Technology

12
Qualification and certification process

Over a full year, participants meet in four workshops, and practice what
they learned in three project phases with certification gates

Workshop1 Workshop2 Workshop3


of
Establish Realize Sustain Award
ate
certific
architecture vision architecture architecture (Protect what
(Where we want to go) (Where we can go) we have achieved) Workshop4
Wrap-up
5 days 5 days 3 days Where we are,
where we were,
and where we
want to go

s s s 1 day
n gate n gate n gate
atio atio atio
tific tific tific
Cer Cer Cer

Project phase 1 Project phase 2 Project phase 3

Preparation phase
Warm-up
(Where we are)

Page 25 October 2010 Buschmann © Siemens AG, Corporate Technology

Focus on immediate value

Training on the job: participants create immediate value for the projects
they are working on during the qualification program

EAI Alarm Network Diagnostic


(SAP
) OPC SNMP Plant UI Client View Client

Northbound Gateway
(s)
Communication Framework Common Services

Application Services License Security


Information Repository Archiving Services Operational and
Maintenance System
ConfigurationCommon Trend Alarm Services Availability
Mgmt

of
&Activation Name Logging Logging

cation
Managed Monitor
& Tracing Language

Testing
Audit Trail Alarm
Require- Software
Appli ontent in
Object Control
Color Time

and gc
Miscellaneous
ments Architecture
Report Workflow Scripting

sks
Services

inin
Quality tra cif ta
ic
ct spe
Engineering and
proje
Southbound Gateway
(s)

Development BACnet OPC SNMP


Key
Application Communication
Service Clients Framework
Entities(Field
Service Category Devices , Network Communication
Elements )

Business Processes and Strategy


HLV - 060608 - UB .vsd :NM & CS

Kno
wle
dge
s
Social Skills and Leadership of c on top haring
omm ics
on i
nter
est

Page 26 October 2010 Buschmann © Siemens AG, Corporate Technology

13
Content

ƒ Motivation

ƒ Software architect target profile

ƒ Senior software architect curriculum

ƒ Summary

Page 27 October 2010 Buschmann © Siemens AG, Corporate Technology

Experiences and results

Organizations observe a clear improvement of their employees' skills


due to participation in the senior software architect qualification program

100% of the organizations agree that


ƒ the participation was a good investment
ƒ the program enhanced the participants‘
architecture-relevant knowledge

More than 90% agree that


ƒ the contact network of the participant improved
ƒ the program has brought value-add in daily business

Certified senior software architects


ƒ Advise management in software strategy
ƒ Lead architecture teams of high impact projects
ƒ Support critical projects
ƒ Help improve the software engineering maturity of their organizations
Page 28 October 2010 Buschmann © Siemens AG, Corporate Technology

14
Where we are and want to go

Qualification and certification program for Senior Software


Architects is well established and very successful
ƒ Already in the 4th run
ƒ The holistic architecture-driven approach works well for us
ƒ Being able to apply the techniques immediately in current projects is an
important success factor, in particular so that the key architects can participate
in the qualification program

Qualification and certification program for Software Architects


ƒ Has started in 3 (almost) parallel runs in Europe / USA
ƒ First feedback indicates high acceptance amongst participants

Qualification of Requirements Engineering for Product (Lifecycle)


Managers and Project Managers
ƒ Roll out in planning

Page 29 October 2010 Buschmann © Siemens AG, Corporate Technology

15

You might also like