ESEconf2011 - Buschmann Frank: "What architects need to know"


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

ESEconf2011 - Buschmann Frank: "What architects need to know"

  1. 1. Corporate TechnologyWhat an Architect Needs to KnowExperiences from the Siemens Curriculum forSoftware EngineersFrank BuschmannSiemens AGCorporate TechnologySystems Architecture and Platforms Copyright © Siemens AG 2010. All rights reserved.Content Motivation Software architect target profile Senior software architect curriculum SummaryPage 2 January 2011 Buschmann © Siemens AG, Corporate Technology 1
  2. 2. 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 January 2011 Buschmann © Siemens AG, Corporate Technology Content Motivation Software architect target profile Senior software architect curriculum Summary Page 4 January 2011 Buschmann © Siemens AG, Corporate Technology 2
  3. 3. 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 January 2011 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 andTesting and Quality assurance Global development strategyquality Expert Test processes Legal issues and methods AdvancedSoftware System Product Requirementsprocesses development Basic management engineering SW development processes Requirements engineering Project Product line engineeringLeadership management Software architecture Social skills Architecture and developmentCompetence level scale design and realizationBasic – can understand Configuration SW designAdvanced – can apply Software Architect (SWA)Expert – can guide management methods Senior Software Architect (SSWA) Page 6 January 2011 Buschmann © Siemens AG, Corporate Technology 3
  4. 4. Involvement in the business caseA 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) strategyThe architect must understand the system’sbusiness case, and is involved in definingits scope, domain model, roadmaps, and IPR strategyPage 7 January 2011 Buschmann © Siemens AG, Corporate TechnologyInvolvement in requirements engineeringTo 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 theirproperties, and contributes all technical aspects to their specification and prioritization.It is the architect’s responsibility to initiate dialog with the relevant managementand project roles if requirements are lacking the above qualities.Page 9 January 2011 Buschmann © Siemens AG, Corporate Technology 4
  5. 5. Involvement in testingTest can help tell an architect how sustainable an architecture is and howwell 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 * SuccessorThe architect and test manager must SOC Factory Atomic Storage Composite Storageagree on a test strategy, the architect SOC * Hazardous Bin Warehouse Aislemust prepare the system’s architecture Hazardous Value Real Binfor testability, participate in reviews,and interpret and react on test resultsPage 10 January 2011 Buschmann © Siemens AG, Corporate TechnologyInvolvement in software processesDefine 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 systems realization are addressed first: key functionality, quality, technological risks A test-driven approach provides concrete feedback on the quality of the architecture and its realizationThe architect is involved in defining the software development process toensure that it defines a feedback loop for achieving product quality and less riskPage 11 January 2011 Buschmann © Siemens AG, Corporate Technology 5
  6. 6. Responsibility in design and realizationDefine 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 *SuccessorKey for success is that all Base automation SOC Factory Atomic Storage Composite Storage * Hazardous Bin Warehouse Aislearchitecture work is driven SOC Hazardous Value Real Binby requirements and that thearchitect guides realization: Business Logic Infrastructure Subsystems Subsystemarchitect also implementsPage 12 January 2011 Buschmann © Siemens AG, Corporate TechnologyResponsibility in design and realizationAn architect needs a clear set of values, activities, practices, andmethods 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 rewritingPage 13 January 2011 Buschmann © Siemens AG, Corporate Technology 6
  7. 7. 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 (selected) methods and technologies applied in detail? Page 14 January 2011 Buschmann © Siemens AG, Corporate Technology 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 enforcementproject manager Peer sparring Reviews Coaching Software Test manager developer Stakeholder-specific presentations Software architect Page 15 January 2011 Buschmann © Siemens AG, Corporate Technology 7
  8. 8. Content Motivation Software architect target profile Senior software architect curriculum SummaryPage 16 January 2011 Buschmann © Siemens AG, Corporate TechnologyElements of the qualification programA qualification program for software engineers requires more than a setof seminars and trainings QualificationSetting standards (courses and ger Engine nts Architect Softwarefor software development Ma na er me Require on-the-job training) TestFostering best practice sharing Softwareand experience exchange architects networkAssuring practical experience Certificationfor critical projectsPage 17 January 2011 Buschmann © Siemens AG, Corporate Technology 8
  9. 9. Guiding principles (1)The qualification program for senior software architects should addresstwelve guiding principles for development of software-intensive systems1. Architecture is the key throughout the whole lifecycle and across releases2. Build on existing basis where feasible (from technical and business perspective) and be able to recognize when such reuse is not suitable3. Avoid unnecessary technological platform development by using technical standards and products available on the market4. 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 important6. Be prepared and able to handle changing requirements, but be aware about the risk of late changesPage 18 January 2011 Buschmann © Siemens AG, Corporate TechnologyGuiding principles (2)The qualification program for senior software architects should addresstwelve guiding principles for development of software-intensive systems7. Synchronize well across the technical disciplines: software, mechanics, electronics, mechatronics, systems engineering8. Work together truly as a team, avoid “silo” thinking, be willing and able to speak and understand the other roles and disciplines9. Work iteratively (no 100% definition of all up-front), strive to identify and resolve technical and business risks early10. Structure the system to avoid unnecessary complexity, and to actively enable and support multi-site development11. Strive for transparency and base decisions on clear business / technical reasons, not political ones12. Do not underestimate the importance of soft skills, these can be particularly important for convincing and motivatingPage 19 January 2011 Buschmann © Siemens AG, Corporate Technology 9
  10. 10. 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 January 2011 Buschmann © Siemens AG, Corporate Technology 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 skeletonsEngineering and Quality Variability management Development Design for operational and developmental qualityBusiness Processes and Strategy Patterns, practices, methods, technologies Design for usability End user / customer acceptanceSocial 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 January 2011 Buschmann © Siemens AG, Corporate Technology 10
  11. 11. Selected content details: requirements, business, social skills Requirements management: Elicitation Documentation Evolution Require- Software Testing Non-functional requirements ments Architecture andEngineering and Quality Variability management Development C/V AnalysisBusiness Processes and Strategy Business case development Product definitionSocial Skills and Leadership Portfolio definition Intercultural aspects Conflict management; coaching Situation-dependent leadership Decision enforcement (in critical situations) Team Building Page 22 January 2011 Buschmann © Siemens AG, Corporate Technology 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 developmentEngineering and Quality Development Design for testability Test design methodsBusiness Processes and Strategy Integration testing Test architectures, test automationSocial Skills and Leadership Regression testing Architectural quality – internal software quality and code quality management Page 23 January 2011 Buschmann © Siemens AG, Corporate Technology 11
  12. 12. 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 January 2011 Buschmann © Siemens AG, Corporate Technology Qualification and certification process Over a full year, participants meet in four workshops, and practice what they learned in three project phases with certification gatesWorkshop1 Workshop2 Workshop3 ofEstablish Realize Sustain Award ate certificarchitecture vision architecture architecture (Protect what(Where we want to go) (Where we can go) we have achieved) Workshop4 Wrap-up5 days 5 days 3 days Where we are, where we were, and where we want to go s s s 1 day gate gate gate at ion at ion at ion tific tific tific Cer Cer Cer Project phase 1 Project phase 2 Project phase 3Preparation phaseWarm-up(Where we are) Page 25 January 2011 Buschmann © Siemens AG, Corporate Technology 12
  13. 13. Focus on immediate valueTraining on the job: participants create immediate value for the projectsthey 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 Nam e Logging Logging cation Managed Monitor & Tracing Language Testing Audit Trail Alarm Require- Software Appli ontent in Object Control Color Time and c Miscellaneous ments Architecture Report Workflow Scripting ining cific tasks Services Quality tra ct spe Engineering and proje Southbound Gateway ( s) Development BACnet OPC SNMP Key Application Communication Service Clients Framework Entities (Field Service Category DevicesNetwork , 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 estPage 26 January 2011 Buschmann © Siemens AG, Corporate TechnologyContent Motivation Software architect target profile Senior software architect curriculum SummaryPage 27 January 2011 Buschmann © Siemens AG, Corporate Technology 13
  14. 14. Experiences and resultsOrganizations observe a clear improvement of their employees skillsdue to participation in the senior software architect qualification program100% of the organizations agree that the participation was a good investment the program enhanced the participants‘ architecture-relevant knowledgeMore than 90% agree that the contact network of the participant improved the program has brought value-add in daily businessCertified 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 organizationsPage 28 January 2011 Buschmann © Siemens AG, Corporate TechnologyWhere we are and want to goQualification and certification program for Senior SoftwareArchitects 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 programQualification and certification program for Software Architects Has started in 3 (almost) parallel runs in Europe / USA First feedback indicates high acceptance amongst participantsQualification of Requirements Engineering for Product (Lifecycle)Managers and Project Managers Roll out in planningPage 29 January 2011 Buschmann © Siemens AG, Corporate Technology 14