This document discusses the importance of design in software development. It explores how code represents design decisions, but notes that code alone may not provide all the context needed for complex system design. The document examines how visualizing designs through diagrams, maps, and other means can help teams understand relationships, assumptions, and tradeoffs to make informed architectural decisions. It emphasizes considering systems in their full context, including impacts on users, developers, operations, and other stakeholders. Iterative exploration of designs through visual models supports collaborative thinking and decision-making.
How we think of architecture shapes what we do as architects, and what we do, shapes how we think of architecture. We will explore our conception of architecture in this dual sense, with an emphasis on visualization and visual expression of design (intention and reflection).
Presented at SATURN 2017
Creating Agile Organizations by Combining Design, Architecture and Agile Thin...Craig Martin
This is a talk I gave to the IASA follow-the-sun community. It deals with the combination of the design thinking, architecture thinking and agile thinking disciplines into a combined discipline needed to create the a responsive organisation.
What does “Business Architecture” mean? How do we create a Business Architecture? And critically how do we practically apply it to help inform strategic decisions and investments?
This talk will demonstrate the key points in creating a Business Architecture, the major artefacts and how to apply them.
Introduction : What is a Business architecture & why do we need one?
The Strategic Context: capturing and articulating business motivation
The value system and the business value chain
The Business Capability view
What is a Business Capability?: How do we describe a Capability?
Identifying strategically important Capabilities
Measuring Capability maturity and gaps
Views and viewpoints:
Business & Technology Pain points
Programme overlay: Are we investing in the right capabilities & applications to address them?
Architecture interconnects: Business Architecture, Enterprise Architecture and the Strategic Roadmap
Creating traceability from IT decisions to business goals
Throughout a Case Study from Financial Services will be used to illustrate the approach
How is design like a comic?
Visual design, visual collaboration, stickies and diagrams are all integral to DDD. But why? How is it so effective? Is it though? We’ll take a look at the role of the visual in communication, collaboration and reasoning, drawing on work in various related areas. Including comics.
Effective Strategy Execution with Capability-Based Planning, Enterprise Arch...Iver Band
The difficulty of strategy execution should not be underestimated
Capability-based planning helps make strategy concrete
Enterprise architecture closes the remainder of this gap, and ensures alignment and coherence
Enterprise portfolio management allows managing large enterprise landscapes based on business value
ArchiMate models tie it all together, providing a clear line of sight from strategy definition to realization
Powerful tool support makes this a strong combination!
As we head into a new year, one thing is for sure, the world of technology and IT will continue to evolve and be disrupted at a frightening pace. The role of the modern IT organisation will thus need to adapt and be agile in order to keep pace with this changing landscape and to continue to be valuable to the organisations that they service. As IT estates become more complex, internal IT functions will need to become more mature and efficient in the way they operate in order to be perceived as a valued asset to the business. The release of IT4IT at the end of last year provides an interesting and potentially highly valuable reference architecture for IT organisations to use to help achieve this level of maturity and efficiency.
The IT4IT standard has really started to pick up momentum as we start 2016 and it is great to see the increase in the membership of the IT4IT forum as well as the general interest that is being seen in the industry for this new standard. I recently co-presented a webinar in collaboration with the Open Group where we looked at the potential real-world application and benefits that IT4IT can offer. Mandate and mindset will be critical to the successful use of IT4IT but I am confident that this approach has the potential to be very beneficial for many organisations as the role of the IT function continues to be redefined.
In April 2016, one of EA Learning’s experienced Business Architecture instructors, Judith Oja-Gillam, delivered a webinar to a community of Architects and IT professionals within the IASA network. Judith discussed the discipline of business architecture, its potential value to the business and some of the challenges it looks to address. The approaches discussed are linked closely to the content delivered in EA Learning’s Applied Business Architecture.
How we think of architecture shapes what we do as architects, and what we do, shapes how we think of architecture. We will explore our conception of architecture in this dual sense, with an emphasis on visualization and visual expression of design (intention and reflection).
Presented at SATURN 2017
Creating Agile Organizations by Combining Design, Architecture and Agile Thin...Craig Martin
This is a talk I gave to the IASA follow-the-sun community. It deals with the combination of the design thinking, architecture thinking and agile thinking disciplines into a combined discipline needed to create the a responsive organisation.
What does “Business Architecture” mean? How do we create a Business Architecture? And critically how do we practically apply it to help inform strategic decisions and investments?
This talk will demonstrate the key points in creating a Business Architecture, the major artefacts and how to apply them.
Introduction : What is a Business architecture & why do we need one?
The Strategic Context: capturing and articulating business motivation
The value system and the business value chain
The Business Capability view
What is a Business Capability?: How do we describe a Capability?
Identifying strategically important Capabilities
Measuring Capability maturity and gaps
Views and viewpoints:
Business & Technology Pain points
Programme overlay: Are we investing in the right capabilities & applications to address them?
Architecture interconnects: Business Architecture, Enterprise Architecture and the Strategic Roadmap
Creating traceability from IT decisions to business goals
Throughout a Case Study from Financial Services will be used to illustrate the approach
How is design like a comic?
Visual design, visual collaboration, stickies and diagrams are all integral to DDD. But why? How is it so effective? Is it though? We’ll take a look at the role of the visual in communication, collaboration and reasoning, drawing on work in various related areas. Including comics.
Effective Strategy Execution with Capability-Based Planning, Enterprise Arch...Iver Band
The difficulty of strategy execution should not be underestimated
Capability-based planning helps make strategy concrete
Enterprise architecture closes the remainder of this gap, and ensures alignment and coherence
Enterprise portfolio management allows managing large enterprise landscapes based on business value
ArchiMate models tie it all together, providing a clear line of sight from strategy definition to realization
Powerful tool support makes this a strong combination!
As we head into a new year, one thing is for sure, the world of technology and IT will continue to evolve and be disrupted at a frightening pace. The role of the modern IT organisation will thus need to adapt and be agile in order to keep pace with this changing landscape and to continue to be valuable to the organisations that they service. As IT estates become more complex, internal IT functions will need to become more mature and efficient in the way they operate in order to be perceived as a valued asset to the business. The release of IT4IT at the end of last year provides an interesting and potentially highly valuable reference architecture for IT organisations to use to help achieve this level of maturity and efficiency.
The IT4IT standard has really started to pick up momentum as we start 2016 and it is great to see the increase in the membership of the IT4IT forum as well as the general interest that is being seen in the industry for this new standard. I recently co-presented a webinar in collaboration with the Open Group where we looked at the potential real-world application and benefits that IT4IT can offer. Mandate and mindset will be critical to the successful use of IT4IT but I am confident that this approach has the potential to be very beneficial for many organisations as the role of the IT function continues to be redefined.
In April 2016, one of EA Learning’s experienced Business Architecture instructors, Judith Oja-Gillam, delivered a webinar to a community of Architects and IT professionals within the IASA network. Judith discussed the discipline of business architecture, its potential value to the business and some of the challenges it looks to address. The approaches discussed are linked closely to the content delivered in EA Learning’s Applied Business Architecture.
Bringing Architecture Thinking to the People - An introduction into the PEOPL...Craig Martin
The successful implementation of an architecture plan or blueprint is often challenged not in the efficacy of the design elements of the architecture, but in its implementation by people in business operations. Transformation programs will often struggle as a consequence of the failure to consider the issues impacting and the role of people in supporting the target operating state of the architecture once implemented, it is therefore imperative that when architects innovate, model and design to solve business problems, that they equally consider the people dimension. Capability based planning is incomplete unless we address the optimum mix of people, process and tools to drive out the target outcome of that capability. This presentation will look at a case study from within the Australian market in which Business Capability Based Planning was applied to assess people capabilities and organisation preparedness to support a target business model. It will also discuss some of the more effective people levers that can be applied to deliver more impactful and long lasting architectural change.
Enterprise Architecture Management (EAM) I Best Practices I NuggetHubRichardNowack
Enterprise architecture management is a "management practice that establishes, maintains and uses a coherent set of guidelines, architecture principles and governance regimes that provide direction and practical help in the design and development of an enterprise's architecture to achieve its vision and strategy. In this business best practice slide deck you learn how to assess and setup Enterprise Architecture and Digital Architecture frameworks as well as a transformation plan.
We provide you with the following best practices:
- Need for Enterprise Architecture Management
- Enterprise Architecture Approach
- Architecture Target Picture Development
- Implementation Roadmap
The need for Business design to underpin strategic and operational agility Craig Martin
Talk given at the business architecture Master Series in Sydney October 2019.
Agility is here to stay. But dig a little deeper and you will see that fundamental strategic, structural and cultural issues exist that often prevent success within large organizations. Some organizations have learnt the hard way when it comes to the missing pieces of the puzzle around organizational agility.
I was recently asked by a new-ways-of-working team to help them apply business design to create the target operating model needed to enable structural, operational and strategic agility. Is this the secret sauce that’s been missing in the agility conversations?
In this talk I’ll discuss the broader issues around agility when creating the adaptive and fast learning organization. And discuss the "secret sauce" that is missing when it comes to business heuristics and patterns.
I will also look at the areas where agility is succeeding and failing and discuss the need for multi-disciplinary architects that can help with the transition across strategic, business and delivery lenses.
PS - this is a presentation pack. I dont put everything I talk to into a slide. Some of these slides will therefore lack some context for you. Next time I'll record the talk and you can hopefully catch the story around the slides.
Introduction to Business Architecture - Part 2Alan McSweeney
The first part is available at: https://www.slideshare.net/alanmcsweeney/introduction-to-business-architecture-part-1.
This material describes conducting a specific business architecture engagement. The engagement process is generic and needs to be adapted to each specific application and use. The engagement is a formal process for gathering information and creating a new business function model based on an analysis of that information.
The objective is to create a realistic and achievable target business architecture to achieve the desired business change.
Business architecture is a structured approach to analysing the operation of an existing business function or entire organisation with a view to improving its operations or developing a new business function, with a strong focus on processes and technology. Business architecture is not about business requirements – it is about business solutions and organisation changes to deliver business objectives.
This presentation is on leveraging Enterprise Architecture Governance and Project Portfolio Management Best Practices to:
Accelerate project execution
Manage project and architecture inter-dependencies
Deliver realised value
Improve Enterprise and PMO collaboration
Business Agility is optimizing the process from the time you have an idea to the time you've been paid for it. It's like combining Lean Startup with Agile. I gave this presentation at Sheridan College for Silicon Halton with Michael Lant in May 2011.
Re-Positioning the value of the architecture practiceCraig Martin
In an increasingly competitive landscape, organisations are becoming more aware how important it is to develop business services models that are aligned to customer values. Organisations that are not able to take a customer focused perspective are losing footing in the market as they attempt to understand what it means to architect for the customer.
Topics include:
- The Pressures caused by Disruption
- Performance and Expectation Gaps at the CxO level
- Improving Architecture Value
- Discipline Confusion
- Unifying the Enterprise
- Architecture Services Design
- Architecture Demand Analysis
An Introduction to Scaled Agile Framework (SAFe)CA Technologies
To compete in today’s application economy, organizations have adopted agile execution techniques. But is that enough? Learn about SAFe and how to leverage this methodology to elevate your agile teams to deliver quality outcomes and align at the enterprise level.
For more information, please visit http://cainc.to/Nv2VOe
Make simplified process decisions with the aid of our content ready Agile Delivery PowerPoint Presentation Slides. Discuss the technical requirements and schedule of your project using this professionally designed scaled agile framework PPT slideshow. The visually appealing PowerPoint complete deck contains forty-four topic-specific templates that help to represent agile delivery phases and goals. Take advantage of the sprint methodology PPT slides to showcase a strategic framework based on different criteria. Utilize the ready-to-use agile project management PowerPoint templates to represent the stages of the software delivery process such as initiation planning execution and release. Talk about the risk mitigations strategy that results in a decrease in risk and increase in value You can also use the scrum methodology PPT graphics to discuss the factors affecting the agile delivery such as market, customers, architecture impact, dependencies and so on. Thus, download our eye-catching and informative agile manifesto PowerPoint presentation to demonstrate the roles in disciplined agile delivery. Our Agile Delivery Powerpoint Presentation Slides ensure all elements combine beautifully. You will discover the best formula. https://bit.ly/3rUUrFL
It is well known that an effective PMO is key to successful and efficient program and project execution. In other words, doing things “right”. Enterprise Architecture is the discipline that plans and monitors enterprise transformation and aligns the business strategy with information technology capabilities. In other words, doing the “right things” to support the business.
Why is it organizations despite having both of these disciplines still struggle with effective enterprise transformation? What can we done to use these disciplines more effectively to effect better business outcomes? What are the roles of each discipline and how do they work together to create business value?
In this presentation, Riaz will address these questions and will provide real life examples that can help build a strong relationship between the PMO and Enterprise Architecture.
Learning Objectives:
• How to build a strong relationship between the PMO and Enterprise Architecture (EA) to deliver positive outcomes for your organization
• Identify the different roles and functions of the PMO and EA as well as their similarities
Unpacking TOGAF's 'Phase B': Business Transformation, Business Architecture a...Tetradian Consulting
The Open Group Architecture Framework (TOGAF) is a structured method for developing enterprise architectures. As standard, its 'Phase B', 'Business Architecture', is an IT-centric way of viewing the business: we need to 'unpack' it to move to a more holistic view of the enterprise in which IT takes a more realistic role.
[Presentation at TOGAF Conference, Paris, April 2007. Describes TOGAF 8.1, but most details apply as much to TOGAF 9. Copyright (c) Tetradian Consulting 2007]
Architecture for the masses - An Open Group WebinarCraig Martin
An overview of the journey that Enterprise Architects has started in making the discipline of enterprise architecture available to a broader audience. The goal is to move it from the "black arts" space to be more accessible. This was done through the use of a MOOC.
The presentation discusses the education landscape and the business model disruption required. It then looks at where MOOCs fit into this disruption and introduces the EA MOOC journey.
What is the Value of Mature Enterprise Architecture TOGAFxavblai
Judith Jones received the Open Group award for Outstanding Contributions to the development of TOGAF 9 at 19th Open Group Enterprise Architecture Practitioners Conference Chicago - July 21-23, 2008. Former CEO of Architecting the Enterprise which has been a member of The Open Group for 6 years, she is personnally involved since 1997. As an active member of The Open Group and she is a major contributor and an editor of TOGAF 7, 8 and 9 as well as leading TOGAF projects for localisation, case studies, ADML, synergy and collaboration projects.
http://www.opengroup.org/member/member-spotlight-jones.htm
Leading a large-scale agile transformation isn’t about adopting a new set of attitudes, processes, and behaviors at the team level… it’s about helping your company deliver faster to market, and developing the ability to respond to a rapidly-changing competitive landscape. First and foremost, it’s about achieving business agility. Business agility comes from people having clarity of purpose, a willingness to be held accountable, and the ability to achieve measurable outcomes. Unfortunately, almost everything in modern organizations gets in the way of teams acting with any sort of autonomy. In most companies, achieving business agility requires significant organizational change.
Agile transformation necessitates a fundamental rethinking of how your company organizes for delivery, how it delivers value to its customers, and how it plans and measures outcomes. Agile transformation is about building enabling structures, aligning the flow of work, and measuring for outcomes based progress. It's about breaking dependencies. The reality is that this kind of change can only be led from the top. This talk will explore how executives can define an idealized end-state for the transformation, build a fiscally responsible iterative and incremental plan to realize that end-state, as well as techniques for tracking progress and managing change.
How to Articulate the Value of Enterprise Architecturecccamericas
Ever struggled with the question, What is the Value of Enterprise Architecture? In this facilitated conversation, Michael Fulton will share his perspective on Enterprise Architecture and the value it provides to the CIO, to IT, and to the business.
Come ready to engage, because in the conversation we will discuss:
•The EA 7-year itch
•Several External Perspectives on EA Value
•The CC&C perspective on a simplified approach to EA Value
•Ensuring your perspective on EA Value is relevant for your stakeholders
At the end of this conversation, you should walk away with:
•A new perspective on the value of EA
•Tips and tricks on how to articulate and quantify EA Value for your key stakeholders.
A good overview of Agile Values and Principles, Framework and Methodologies, as well as guidance as to when to utilize Waterfall vs. Agile Project Management, and how to avoid potential pitfalls in Agile Adoption.
The tension between agile and architecturePeter Hendriks
Agile and architecture are often considered cats and dogs. Many "classic" software architecture methods are considered an enemy of agile principles: often describing heavyweight, upfront documents and decisions, and a hierarchy with architects wielding all technical decision power and responsibility.
Although there are some new "agile architecture" concepts out there, these typically only address small parts of the problem and often require significant skill to practice correctly. There is even the notion that architecture is not needed anymore when applying agile practices.
But what is "architecture" anyway? This infodeck gives an overview on architecture as a concept, a process and a role. It is delivered as stand-alone slides, and should be useful for anyone involved in building software systems.
Bringing Architecture Thinking to the People - An introduction into the PEOPL...Craig Martin
The successful implementation of an architecture plan or blueprint is often challenged not in the efficacy of the design elements of the architecture, but in its implementation by people in business operations. Transformation programs will often struggle as a consequence of the failure to consider the issues impacting and the role of people in supporting the target operating state of the architecture once implemented, it is therefore imperative that when architects innovate, model and design to solve business problems, that they equally consider the people dimension. Capability based planning is incomplete unless we address the optimum mix of people, process and tools to drive out the target outcome of that capability. This presentation will look at a case study from within the Australian market in which Business Capability Based Planning was applied to assess people capabilities and organisation preparedness to support a target business model. It will also discuss some of the more effective people levers that can be applied to deliver more impactful and long lasting architectural change.
Enterprise Architecture Management (EAM) I Best Practices I NuggetHubRichardNowack
Enterprise architecture management is a "management practice that establishes, maintains and uses a coherent set of guidelines, architecture principles and governance regimes that provide direction and practical help in the design and development of an enterprise's architecture to achieve its vision and strategy. In this business best practice slide deck you learn how to assess and setup Enterprise Architecture and Digital Architecture frameworks as well as a transformation plan.
We provide you with the following best practices:
- Need for Enterprise Architecture Management
- Enterprise Architecture Approach
- Architecture Target Picture Development
- Implementation Roadmap
The need for Business design to underpin strategic and operational agility Craig Martin
Talk given at the business architecture Master Series in Sydney October 2019.
Agility is here to stay. But dig a little deeper and you will see that fundamental strategic, structural and cultural issues exist that often prevent success within large organizations. Some organizations have learnt the hard way when it comes to the missing pieces of the puzzle around organizational agility.
I was recently asked by a new-ways-of-working team to help them apply business design to create the target operating model needed to enable structural, operational and strategic agility. Is this the secret sauce that’s been missing in the agility conversations?
In this talk I’ll discuss the broader issues around agility when creating the adaptive and fast learning organization. And discuss the "secret sauce" that is missing when it comes to business heuristics and patterns.
I will also look at the areas where agility is succeeding and failing and discuss the need for multi-disciplinary architects that can help with the transition across strategic, business and delivery lenses.
PS - this is a presentation pack. I dont put everything I talk to into a slide. Some of these slides will therefore lack some context for you. Next time I'll record the talk and you can hopefully catch the story around the slides.
Introduction to Business Architecture - Part 2Alan McSweeney
The first part is available at: https://www.slideshare.net/alanmcsweeney/introduction-to-business-architecture-part-1.
This material describes conducting a specific business architecture engagement. The engagement process is generic and needs to be adapted to each specific application and use. The engagement is a formal process for gathering information and creating a new business function model based on an analysis of that information.
The objective is to create a realistic and achievable target business architecture to achieve the desired business change.
Business architecture is a structured approach to analysing the operation of an existing business function or entire organisation with a view to improving its operations or developing a new business function, with a strong focus on processes and technology. Business architecture is not about business requirements – it is about business solutions and organisation changes to deliver business objectives.
This presentation is on leveraging Enterprise Architecture Governance and Project Portfolio Management Best Practices to:
Accelerate project execution
Manage project and architecture inter-dependencies
Deliver realised value
Improve Enterprise and PMO collaboration
Business Agility is optimizing the process from the time you have an idea to the time you've been paid for it. It's like combining Lean Startup with Agile. I gave this presentation at Sheridan College for Silicon Halton with Michael Lant in May 2011.
Re-Positioning the value of the architecture practiceCraig Martin
In an increasingly competitive landscape, organisations are becoming more aware how important it is to develop business services models that are aligned to customer values. Organisations that are not able to take a customer focused perspective are losing footing in the market as they attempt to understand what it means to architect for the customer.
Topics include:
- The Pressures caused by Disruption
- Performance and Expectation Gaps at the CxO level
- Improving Architecture Value
- Discipline Confusion
- Unifying the Enterprise
- Architecture Services Design
- Architecture Demand Analysis
An Introduction to Scaled Agile Framework (SAFe)CA Technologies
To compete in today’s application economy, organizations have adopted agile execution techniques. But is that enough? Learn about SAFe and how to leverage this methodology to elevate your agile teams to deliver quality outcomes and align at the enterprise level.
For more information, please visit http://cainc.to/Nv2VOe
Make simplified process decisions with the aid of our content ready Agile Delivery PowerPoint Presentation Slides. Discuss the technical requirements and schedule of your project using this professionally designed scaled agile framework PPT slideshow. The visually appealing PowerPoint complete deck contains forty-four topic-specific templates that help to represent agile delivery phases and goals. Take advantage of the sprint methodology PPT slides to showcase a strategic framework based on different criteria. Utilize the ready-to-use agile project management PowerPoint templates to represent the stages of the software delivery process such as initiation planning execution and release. Talk about the risk mitigations strategy that results in a decrease in risk and increase in value You can also use the scrum methodology PPT graphics to discuss the factors affecting the agile delivery such as market, customers, architecture impact, dependencies and so on. Thus, download our eye-catching and informative agile manifesto PowerPoint presentation to demonstrate the roles in disciplined agile delivery. Our Agile Delivery Powerpoint Presentation Slides ensure all elements combine beautifully. You will discover the best formula. https://bit.ly/3rUUrFL
It is well known that an effective PMO is key to successful and efficient program and project execution. In other words, doing things “right”. Enterprise Architecture is the discipline that plans and monitors enterprise transformation and aligns the business strategy with information technology capabilities. In other words, doing the “right things” to support the business.
Why is it organizations despite having both of these disciplines still struggle with effective enterprise transformation? What can we done to use these disciplines more effectively to effect better business outcomes? What are the roles of each discipline and how do they work together to create business value?
In this presentation, Riaz will address these questions and will provide real life examples that can help build a strong relationship between the PMO and Enterprise Architecture.
Learning Objectives:
• How to build a strong relationship between the PMO and Enterprise Architecture (EA) to deliver positive outcomes for your organization
• Identify the different roles and functions of the PMO and EA as well as their similarities
Unpacking TOGAF's 'Phase B': Business Transformation, Business Architecture a...Tetradian Consulting
The Open Group Architecture Framework (TOGAF) is a structured method for developing enterprise architectures. As standard, its 'Phase B', 'Business Architecture', is an IT-centric way of viewing the business: we need to 'unpack' it to move to a more holistic view of the enterprise in which IT takes a more realistic role.
[Presentation at TOGAF Conference, Paris, April 2007. Describes TOGAF 8.1, but most details apply as much to TOGAF 9. Copyright (c) Tetradian Consulting 2007]
Architecture for the masses - An Open Group WebinarCraig Martin
An overview of the journey that Enterprise Architects has started in making the discipline of enterprise architecture available to a broader audience. The goal is to move it from the "black arts" space to be more accessible. This was done through the use of a MOOC.
The presentation discusses the education landscape and the business model disruption required. It then looks at where MOOCs fit into this disruption and introduces the EA MOOC journey.
What is the Value of Mature Enterprise Architecture TOGAFxavblai
Judith Jones received the Open Group award for Outstanding Contributions to the development of TOGAF 9 at 19th Open Group Enterprise Architecture Practitioners Conference Chicago - July 21-23, 2008. Former CEO of Architecting the Enterprise which has been a member of The Open Group for 6 years, she is personnally involved since 1997. As an active member of The Open Group and she is a major contributor and an editor of TOGAF 7, 8 and 9 as well as leading TOGAF projects for localisation, case studies, ADML, synergy and collaboration projects.
http://www.opengroup.org/member/member-spotlight-jones.htm
Leading a large-scale agile transformation isn’t about adopting a new set of attitudes, processes, and behaviors at the team level… it’s about helping your company deliver faster to market, and developing the ability to respond to a rapidly-changing competitive landscape. First and foremost, it’s about achieving business agility. Business agility comes from people having clarity of purpose, a willingness to be held accountable, and the ability to achieve measurable outcomes. Unfortunately, almost everything in modern organizations gets in the way of teams acting with any sort of autonomy. In most companies, achieving business agility requires significant organizational change.
Agile transformation necessitates a fundamental rethinking of how your company organizes for delivery, how it delivers value to its customers, and how it plans and measures outcomes. Agile transformation is about building enabling structures, aligning the flow of work, and measuring for outcomes based progress. It's about breaking dependencies. The reality is that this kind of change can only be led from the top. This talk will explore how executives can define an idealized end-state for the transformation, build a fiscally responsible iterative and incremental plan to realize that end-state, as well as techniques for tracking progress and managing change.
How to Articulate the Value of Enterprise Architecturecccamericas
Ever struggled with the question, What is the Value of Enterprise Architecture? In this facilitated conversation, Michael Fulton will share his perspective on Enterprise Architecture and the value it provides to the CIO, to IT, and to the business.
Come ready to engage, because in the conversation we will discuss:
•The EA 7-year itch
•Several External Perspectives on EA Value
•The CC&C perspective on a simplified approach to EA Value
•Ensuring your perspective on EA Value is relevant for your stakeholders
At the end of this conversation, you should walk away with:
•A new perspective on the value of EA
•Tips and tricks on how to articulate and quantify EA Value for your key stakeholders.
A good overview of Agile Values and Principles, Framework and Methodologies, as well as guidance as to when to utilize Waterfall vs. Agile Project Management, and how to avoid potential pitfalls in Agile Adoption.
The tension between agile and architecturePeter Hendriks
Agile and architecture are often considered cats and dogs. Many "classic" software architecture methods are considered an enemy of agile principles: often describing heavyweight, upfront documents and decisions, and a hierarchy with architects wielding all technical decision power and responsibility.
Although there are some new "agile architecture" concepts out there, these typically only address small parts of the problem and often require significant skill to practice correctly. There is even the notion that architecture is not needed anymore when applying agile practices.
But what is "architecture" anyway? This infodeck gives an overview on architecture as a concept, a process and a role. It is delivered as stand-alone slides, and should be useful for anyone involved in building software systems.
Agile Architecture and Modeling - Where are we TodayGary Pedretti
Ideals, Misinterpretations, Backlash, a New Hope - A talk on where we've been and where we're going with agile application architecture. As presented at Toronto Agile and Software 2014 on 11/10/2014.
Getting Started with Architecture Decision RecordsMichael Keeling
Documenting architecture design decisions is commonly considered a good practice and yet many teams don't take the time to write down the decisions they make. In our experience this happens for a few reasons: documentation is rejected as being too heavyweight, documentation has little influence since it is typically out of sight and out of mind, and many developers don’t know what to document. Architecture Decision Records (ADRs) address many of these problems by capturing design decisions in a simple, lightweight templates that is stored close to repositories used by stakeholders -- often in the same repository as code affected by the ADR.
In this hands-on workshop you will learn how to write effective ADRs and how to overcome road bumps teams often experience when first getting started with ADRs. By the end of this session you will have the skills you need to champion ADRs and help your team start (or improve) your design decision log.
Making Decisions - From Software Architecture Theory to PracticeParis Avgeriou
Keynote at the 20th IEEE International Conference on Software Architecture (ICSA 2023).
Abstract: Around the mid 2000’s we had a ‘lightbulb moment’: architecting is more about making design decisions than drawing boxes and lines with UML or Architecture Description Languages. The enthusiasm of shifting the architecting paradigm was followed by a frenzy of research work in ontologies, methods and tools to harness Architecture Knowledge and empower architects in their decision making. Are we there yet? In this talk, I will revisit the state of the art and give my personal account on what worked, what failed, and how to move forward, especially in order to actually impact industry practice.
Presented at Build Stuff (19th November 2014)
Ralph Johnson defined architecture as "the decisions that you wish you could get right early in a project, but that you are not necessarily more likely to get them right than any other". Given our inability to tell the future how can we design effectively for it? Much project management thinking is based on the elimination of uncertainty, and advice on software architecture and guidance for future-proofing code often revolves around adding complexity to embrace uncertainty. In most cases, this is exactly the opposite path to the one that should be taken.
The talk looks at how uncertainty, lack of knowledge and options can be used to partition and structure the code in a system.
Presented at NDC London (5th December 2014)
Ralph Johnson defined architecture as "the decisions that you wish you could get right early in a project, but that you are not necessarily more likely to get them right than any other". Given our inability to tell the future how can we design effectively for it? Much project management thinking is based on the elimination of uncertainty, and advice on software architecture and guidance for future-proofing code often revolves around adding complexity to embrace uncertainty. In most cases, this is exactly the opposite path to the one that should be taken.
The talk looks at how uncertainty, lack of knowledge and options can be used to partition and structure the code in a system.
In this session we will discuss the use of Agile constructs within the domain of software architecture. This will include an exploration of how to balance emergent designs with intentional planning. Additional ancillary topics will also be addressed including: common architecture principles, guidelines for measuring good architecture, and an evaluation of agile techniques.
By the end of the session, attendees will have a new perspective on architecture that will empower them to create flexible software solutions.
Based on my observations, in IT we suffer from continuous collective amnesia and we are even proud of it.
For at least 50 years meanwhile, we struggle how to build systems, that are easy to understand, to maintain, to change and to operate in a reliable way. Each time we hit the wall again, we start to look for a new silver bullet on the horizon, strongly believing that it will solve the problem for good.
The key word is "new": "New" is good in our community, while "old" is bad, worthless, crap. We suffer from youthism, not only in recruiting, but in all areas. This way we discard any "old" knowledge, no matter if it is valuable or not. We separate by age, not by value.
Additionally we continuously lose our collective memory with every new generation that leaves university as they are also taught not to value anything old and instead only look for the new, shiny stuff.
While not all old knowledge is worth being preserved, admittedly, there is still a lot of valuable old knowledge available, offering answers to the problems that we face today - creating maintainable and reliable systems, dealing with distribution and tackling complexity, just to name a few of the challenges.
This presentation is a journey through some (very) old computer science papers that contain a lot of very valuable knowledge regarding the problems we face today. For each of the papers, some of the key ideas are presented and how they address our current challenges.
Of course, the voice track is missing and there are a lot more papers that would be worth being mentioned in this presentation. Still, I hope that also the slides alone will be of some value for you - and convince you a bit that not everything "old" in IT is automatically worthless ... ;)
Collaborative software architecture decisions: structure and dynamicsUSI
The complexity of modern computer systems is often comparable with the one of biological systems. As much as this complexity can be effectively hidden from the end-user, it is inherently absorbed in the design of the system. Software Architecture is an effective design abstraction that allows designers to divide and conquer the complexity. A modern way of looking at the Software Architecture is to see it as a set of principal design decisions. The design of Software Architecture for large and complex systems often requires expertise exceeding what can be delivered by the individual software architect, therefore successful design relies on effective collaborative decision making within the design team of diverse domain experts.
We tackle the problem of collaborative decision making in the software architecture design teams by proposing the decision argumentation viewpoint extension to the architecture description standard. Its main purpose is to support fine-granular decision argumentation modeling. Within the viewpoint we devise the architecture decision consensus lifecycle, and design issue choice state machine that enable precise characterization of the decision state.
Based on the argumentation viewpoint we define an analytical framework designed to estimate the structural and temporal characteristics of decision models. The framework comprises fifteen metrics and offers a comprehensive introspection into the state and dynamics of the decision making process.
Building upon this foundation we designed and implemented the Software Architecture Warehouse (SAW) - the tool to assist software architects in collaborative decision/making during the architecture design workshops. SAW features low-latency, structured architecture decision capturing and decision consensus management.
Furthermore, the Software Architecture Warehouse is accompanied by the implementation of the aforementioned decision argumentation metrics framework. Finally, we evaluate the framework by applying it on the decision spaces recorded during the masters course on Software Architecture and Design. We conclude with an interpretation of differences observed between the workshops assisted with the use of the Software Architecture Warehouse and those supported by EtherPad, an alternative unstructured collaborative editor.
Category
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Globus
The Earth System Grid Federation (ESGF) is a global network of data servers that archives and distributes the planet’s largest collection of Earth system model output for thousands of climate and environmental scientists worldwide. Many of these petabyte-scale data archives are located in proximity to large high-performance computing (HPC) or cloud computing resources, but the primary workflow for data users consists of transferring data, and applying computations on a different system. As a part of the ESGF 2.0 US project (funded by the United States Department of Energy Office of Science), we developed pre-defined data workflows, which can be run on-demand, capable of applying many data reduction and data analysis to the large ESGF data archives, transferring only the resultant analysis (ex. visualizations, smaller data files). In this talk, we will showcase a few of these workflows, highlighting how Globus Flows can be used for petabyte-scale climate analysis.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Software Engineering, Software Consulting, Tech Lead, Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Transaction, Spring MVC, OpenShift Cloud Platform, Kafka, REST, SOAP, LLD & HLD.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaYara Milbes
Discover the transformative power of the WhatsApp API in our latest SlideShare presentation, "Top 7 Unique WhatsApp API Benefits." In today's fast-paced digital era, effective communication is crucial for both personal and professional success. Whether you're a small business looking to enhance customer interactions or an individual seeking seamless communication with loved ones, the WhatsApp API offers robust capabilities that can significantly elevate your experience.
In this presentation, we delve into the top 7 distinctive benefits of the WhatsApp API, provided by the leading WhatsApp API service provider in Saudi Arabia. Learn how to streamline customer support, automate notifications, leverage rich media messaging, run scalable marketing campaigns, integrate secure payments, synchronize with CRM systems, and ensure enhanced security and privacy.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus
As part of the DOE Integrated Research Infrastructure (IRI) program, NERSC at Lawrence Berkeley National Lab and ALCF at Argonne National Lab are working closely with General Atomics on accelerating the computing requirements of the DIII-D experiment. As part of the work the team is investigating ways to speedup the time to solution for many different parts of the DIII-D workflow including how they run jobs on HPC systems. One of these routes is looking at Globus Compute as a way to replace the current method for managing tasks and we describe a brief proof of concept showing how Globus Compute could help to schedule jobs and be a tool to connect compute at different facilities.
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Globus
The U.S. Geological Survey (USGS) has made substantial investments in meeting evolving scientific, technical, and policy driven demands on storing, managing, and delivering data. As these demands continue to grow in complexity and scale, the USGS must continue to explore innovative solutions to improve its management, curation, sharing, delivering, and preservation approaches for large-scale research data. Supporting these needs, the USGS has partnered with the University of Chicago-Globus to research and develop advanced repository components and workflows leveraging its current investment in Globus. The primary outcome of this partnership includes the development of a prototype enterprise repository, driven by USGS Data Release requirements, through exploration and implementation of the entire suite of the Globus platform offerings, including Globus Flow, Globus Auth, Globus Transfer, and Globus Search. This presentation will provide insights into this research partnership, introduce the unique requirements and challenges being addressed and provide relevant project progress.
3. Code as Design
1992
“software [..] design is the source
code listings”
“programming is about designing
software”
– Jack Reeves
https://www.developerdotstar.com/
6. @RuthMalan
#OReillySACon
“Our highest priority is to
satisfy the customer through
early and continuous delivery
of valuable software.”
Agile Principles
#OReillySACon
Source: https://agilemanifesto.org/principles.html
7. @RuthMalan
#OReillySACon
Faces of design:
• Design of working software:
What the system is
(requirements: capabilities and
properties)
• Design of code: How it is built
and how it works (architecture
and design: structure and
dynamics)
Design
#OReillySACon
developer facinguser facing
operations facing
8. Agile Design
• users respond to working software with
needs/ideas; (co-)evolve to better design
• TDD (Test Driven Development/Design) and
refactor to better code design
Iterative and incremental
• get frequent feedback
• respond and adapt
Agile Design
developer facinguser facing
codesoftware
11. “Good design doesn’t ‘emerge’
like a welcome ray of sunshine
on a cloudy day.
—Erik Dietrich
Erik Dietrich, Designs Don’t Emerge
http://www.daedtech.com/designs-dont-emerge/
Good Design
12. “It comes coughing, sputtering,
screaming and grunting from
the mud, like a drowning man
being pulled from quicksand,
and the effort of dragging it
laboriously out leaves you
exhausted.”
—Erik Dietrich
http://www.daedtech.com/designs-dont-emerge/
Art by Amanda Muledy (@EEKitsabug)
Good Design
14. @RuthMalan
#OReillySACon
All good. Question is, can we do better? If so, how?
What is missing if all we have is code (with tests, obviously)?
Or what is code less good at, in terms of helping us do, or
express, design?
As we do design, can we give ourselves more of a cognitive
assist and collective intelligence boost?
Agile Design
#OReillySACon
15. @RuthMalan
#OReillySACon
Alternately put, the code is sufficient design expression for a
compiler to build it, but is it sufficient for humans to design
and evolve complex systems?
We have a lot of “undocumented” code which is abundant
existence proof of something; but can we do better?
Agile Design
#OReillySACon
16. “The engineer, and more
generally the designer, is
concerned with how things
ought to be - how they ought to
be in order to attain goals, and
to function.”
— Herbert Simon
What is Design?
What are we talking about,
when we talk about design?
18. “Some decisions are consequential
and irreversible or nearly
irreversible [..] these decisions
must be made methodically,
carefully, slowly, with great
deliberation and consultation”
— Jeff Bezos, letter to shareholders, 2015
Irreversible Decisions
Image source: wikipedia
19. “If you walk through and don’t like
what you see on the other side,
you can’t get back to where you
were before.”
— Jeff Bezos, letter to shareholders, 2015
Irreversible Decisions
20. “But most decisions aren’t like that –
they are changeable, reversible – they’re
two-way doors. If you’ve made a
suboptimal [reversible] decision, you
don’t have to live with the consequences
for that long. You can reopen the door
and go back through.”
— Jeff Bezos, letter to shareholders, 2015
Reversible Decisions
22. Architecture Decisions
• Significant is measured by
cost of change
• Decisions to reduce cost of change (make reversible)
• Decisions that have high cost of change (irreversible)
24. Architecturally significant?
• Cost of change
• Strategic
• Address challenges
• create systems with desired
capabilities and properties
• under forces and constraints
• that are demanding, push
the limits, require design
attention
Architecture Decisions
make or break
}
“deliberate
deliberately”
— Dawn Ahukanna
25. Questions about whether design is
necessary or affordable are quite
beside the point: design is
inevitable.
The alternative to good design is
bad design, not no design at all.
— Douglas Martin
The No Decision Decision
26. Decisions Constrain
“Constraints alter the probability
distribution of the available
alternatives. They make a system
diverge from chance, randomness, or
equiprobability”
‘Limiting or closing off alternatives is
the most common understanding of
the term “constraint.”’
— Alicia Juarrero
Photo by Will Evans, LeanUX 2015
27. Constraints Enable
But if all constraints restricted a
thing's degrees of freedom in this
way, organisms (whether
phylogenetically or
developmentally) would
progressively do less and less.’
— Alicia Juarrero
28. Constraints Enable
“constraints not only reduce the
alternatives — they also create
alternatives. Constraints, that is,
can also create properties which a
component exhibits in virtue of its
embeddedness in a system,
properties it would otherwise not
have.”
— Alicia Juarrero
“Causality as Contraint”
29. “We put ground under our
feet, by deciding”
Architecture Decisions
— Dana Bredemeyer
Probe and test design ideas as
quickly and cheaply as we can
(while still reversible)
30. @RuthMalan
#OReillySACon
All good. Question is, can we do better? If so, how?
What is missing if all we have is code (with tests, obviously)?
Or what is code less good at, in terms of helping us do, or
express, design?
As we do design, can we give ourselves more of a cognitive
and collective intelligence boost?
Just Enough Architecture
#OReillySACon
31. @RuthMalan
#OReillySACon
Title: short noun phrase
Context: desired outcomes and the forces
at play (probably in tension)
Decision: describes our response to these
forces
Status: proposed, accepted, deprecated or
superseded
Consequences: describes the resulting
context, after applying the decision — Michael Nygard, Documenting
Architecture Decisions, Nov 2011
Architecture Decisions
#OReillySACon
@mtnygard
32. @RuthMalan
#OReillySACon
Title: short noun phrase
Context: desired outcomes and the forces
at play (probably in tension)
Decision: statement of the decision
Status: proposed, accepted, deprecated or
superseded
Consequences: describes the resulting
context, after applying the decision
— Michael Nygard, Documenting
Architecture Decisions, Nov 2011
Architecture Decisions
#OReillySACon
@mtnygard
33. @RuthMalan
#OReillySACon
Microservices: Tradeoffs
#OReillySACon
“Microservices: gain scalability and fault
tolerance at the price of additional
complexity in managing a distributed
system”
This! This right here! This is architectural thinking. Perceiving
where there are tradeoffs. It takes experience, but also a
system perspective. Noticing that what happens in one
place, can have non-local or differently timed consequences
and implications.
36. @RuthMalan
#OReillySACon
"The value of every decision we make
depends on the context in which we
make it. In The Lord of the Rings,
Frodo’s journey to destroy the ring is
meaningful inside the context of Middle
Earth. Otherwise, he’s a short, hairy guy
with apocalyptic hallucinations."
– Diana Montalion
Decisions in Context
#OReillySACon
37. Context: Factors
Image source: Sarah Mei on Twitter
“Design quality is not a
property of the code. It's
a joint property of the
code and the context in
which it exists.”
– Sarah Mei
38. @RuthMalan
#OReillySACon
For me, “engineer” means knowing that
all decisions are tradeoffs. It means
considering both upsides & downsides
of each technical choice, and doing so
with explicit consideration of the larger
system context.
– Sarah Mei
Decisions: Tradeoffs
#OReillySACon
@sarahmei
39. When things get heated, spot the differences in (perceived)
context and the tradeoffs being weighed (or ignored)!
Decisions: Tradeoffs
Image by Dave Grey in “Liminal thinking The pyramid of belief”
40. @RuthMalan
#OReillySACon
Title: short noun phrase
Context: desired outcomes and the forces
at play (probably in tension)
Decision: describes our response to these
forces
Status: proposed, accepted, deprecated or
superseded
Consequences: describes the resulting
context, after applying the decision — Michael Nygard, Documenting
Architecture Decisions, Nov 2011
Architecture Decisions
#OReillySACon
@mtnygard
42. @RuthMalan
#OReillySACon
How Do We Start?
• To make a decision, we need to have a
(good enough) conception of
– Desired outcome(s)
– Forces and constraints
– Consequences and side-effects
43. @RuthMalan
#OReillySACon
How Do We Start?
To make a decision, we need to have a (good enough)
conception of
• Desired outcome(s)
• Forces and constraints
Arising in context of
• development
• operations
• use
• value network
[as relevant]
44. @RuthMalan
#OReillySACon
Title: short noun phrase
Context: desired outcomes and the forces
at play (probably in tension)
Decision: describes our response to these
forces
Status: proposed, accepted, deprecated or
superseded
Consequences: describes the resulting
context, after applying the decision
Architecture Decisions
“formulating the problem is
the problem”
– Horst Rittel
#OReillySACon
47. in its next larger context
Context System-in-Context
(use, dev, ops)
System
(Ecosystem)
Strategy
Ecosystem
interventions
Requirements
Design of system
capabilities
Architecture
Structure and
mechanisms
48. Ask
• [not just] What do users need?
• [but also] What do developers and testing need?
• [and] What does operations need?
• [and] What do others in the value network need?
To Develop Theory of “the Problem”
55. Context: Systems of Systems
“sketchprototype” with Rich Pictures
Show
• structure
• value flows and transformations
• concerns
CaringCircles
Rich Picture
56. Who’s Impacted? Empathy
Imaginative entry
into the
experience of:
• Users of
various kinds
• Developers
and testers
• Operations
• Senior
management
• Support/call
center
• Value chain
partners
57. Who’s Impacted? Goals
Stakeholder Profile
• Stakeholder
• Responsibilities
• Business/Personal
Goals
• System Goals
• Value Proposition
Stakeholder: Business Owner
Responsibilities:
• Funding model
• Securing user data
• Hiring good talent
60. Exploring System Design
Maps, maps and more maps
• Impact maps: goal, who can impact
goal (+/-) and how can they
obstruct/help, what can we deliver to
support impact/goal
• Assumptions maps: desirable: do they
want this; feasible: can we do this;
viable: should we do this
• User story maps
impactmapping.org
David Bland
agilebuddha.com
61. What’s Going on Here??
Product Owners and User Experience
Designers, step aside — Ruth’s bringing in
the architects!
Not that!
Partner well (but just enough), to bring
technology capabilities to design table,
and to build up “theory of the problem” to
inform design choices/decisions
62. System on a Page
Also! Designing the
System:
• Significant system
capabilities
CaringCircles Use Case Diagram
Use cases
Facilitate caring circle
• Enroll members
• Inform members
Characterize requests
View and adopt requests
Make offers
63. System in Context
Manage tribe
membership
Manage user
profile
View
content
Assemble
content
Techtribes Use Case Diagram (UML)
Techtribes Context Diagram (Simon Brown’s C4)
64. Architectural design is system design. System
design is contextual design — it is inherently about
boundaries (what’s in, what’s out,
what spans, what moves between).
It reshapes what is outside, just as it shapes
what is inside.
Contextual Design
65. System Design
“The defining properties
of any system, are
properties of the whole,
which none of the parts
have. If you take the
system apart, it loses its
essential properties”
— Russell Ackoff
70. Just Enough Just in Time
“I always say to myself,
what is the most
important thing we can
think about at this
extraordinary moment.”
– Bucky Fuller
71. Iterative Design
Let go of the need to
be “done”
Test, iterate and
refactor applies to
models too
Source: wikipedia.org/wiki/OODA_loop
OODA is a loop!
72. @RuthMalan
#OReillySACon
Recall our question: Can we do better than our already good
Agile practices with their focus on code (TDD, refactoring,
frequent feedback, …)? If so, how?
What is missing from code, or what is code less good at, in
terms of design?
• Big picture
• Structures and relationships; Interactions
• Assumptions
• Alternatives
Agile Design
#OReillySACon
73. @RuthMalan
#OReillySACon
Visual: Drawing on the Walls
• Chauvet Cave
• film "Cave of Forgotten Dreams"
– 30,000–33,000 years ago
• Chauvet Cave Art
– only guess at their purpose, meaning
– did serve to record
Image: wikimedia commons
74. @RuthMalan
#OReillySACon
Visual: Drawing on the Walls
Image: from film “Hidden Figures”
Source: http://daily.gatech.edu
• Engineering
• the film “Hidden Figures”
• Drawing on the walls
– To think (together)
– To illustrate,
communicate
75. Visual: Drawing in notebooks
Leonardo Da Vinci’s
notebooks:
used sketches to
• observe (more attentively)
• study, think, reason,
to puzzle things out
• understand
76. Visual Notebooks
Sketching
• To record
– to think longer, harder
– to show, to teach
• To invent, to design, to
combine, to make (new)
connections
• To test ideas
– thought experiments
Leonardo Da Vinci Notebooks
77. Constitution of the United
States: the architecture of
US government
Architecture Document
78. Federalist papers
• Arguments describing and
motivating mechanisms of
government architecture
Federalist Papers, No. 51
addresses
• checks and balances
• separation of powers
White Paper
84. @RuthMalan
#OReillySACon
Source: Rudolf Arnheim
• Consider the following problem
– One morning, exactly at 8 A.M., a monk began to climb a tall mountain.
The narrow path, no more than a foot or two wide, spiraled around the
mountain to a glittering temple at the summit. The monk ascended the
path at varying rates of speed, stopping many times along the way to
rest and to eat the dried fruit he carried with him. He reached the
temple precisely at 8 P.M.
The next day, he began his journey back along the same path, starting at
8A.M. and again walking at varying speeds with many pauses along the
way. He reached the bottom at precisely 8 P.M.
– I assert that there is at least one spot along the path the monk occupied
at precisely the same time of day on both trips.
– Is my assertion true? How do you decide?
86. Visual
• To abstract
• To reason
• To show
• To test
• To document
• To transform
To address wicked problems:
To deal with complexity
- buffer overflow!
To work together/collaborate
- shared thought-space
To communicate
- explain, defend, preserve
87. We value “people and interactions” – collaboration
We value convening collaboration, convening the
creation of more shared mental models, more shared
context and system understanding.
Conveying is important – too. We convene to convey.
And convey to convene. Visual design is a crucible for
conversation.
Visual: to Convene and Convey
88. System Design
“A system is an
interconnected set of
elements that is
coherently organized in a
way that achieves
something”
-- Donella Meadows
89. Software architecture refers to the high level
structures of a software system [..] Each
structure comprises software elements,
relations among them, and properties of both
elements and relations.
— wikipedia/Clements et al
92. “we have to keep it crisp,
disentangled, and simple if we
refuse to be crushed by the
complexities of our own
making...”
— Dijkstra
Good: Crisp, disentangled
93. Decoupled modular structure
Good: Reversible
• Isolate impact of change
• Isolate arenas of uncertainty and experiment
• Increase replaceability
• Increase responsiveness/adaptability
• Manage complexity
• separate concerns, reveal intent: increase
comprehensibility
94. The architect’s SCARS:
• Separation of Concerns
• crisp and resilient
Abstractions
• balanced distribution of
Responsibilities
• strive to Simplify — Grady Booch
Good: Architecture
95. “I go along with the natural
makeup”…
“when I come to the tricky parts,
I slow down”
— Chuang Tzu:
“The Dexterous Butcher”
SCARS: Separation of Concerns
96. As programmers we deal
with abstractions all the
time and we have to invent
them in order to solve our
problems
— Michael Feathers
SCARS: Abstractions
@mfeathers
97. SCARS: crisp Abstractions
"To find the right abstraction, guess. If it exhibits the
right properties, stop. "— Jessica Kerr
@jessitron
98. Recall: Capabilities
CaringCircles Use Case Diagram
Use cases
Facilitate caring circle
• Enroll members
• Inform members
Characterize requests
View and adopt requests
Make offers
View and claim offers
Fulfill requests
101. Recall: Capabilities
CaringCircles Use Case Diagram
Use cases
Facilitate caring circle
• Enroll members
• Inform members
Characterize requests
View and adopt requests
Make offers
View and claim offers
Fulfil requests
102. SCARS: crisp Abstractions
“Things that are cohesive, [..] naturally stick to
each other because they are of like kind, or
because they fit so well together.[..] the
pieces all seem to be related, they seem to
belong together, and it would feel somewhat
unnatural (it would result in tight coupling!) to
pull them apart”
— Glenn Vanderburg
105. Factor and Refactor
SCARS: crisp Abstractions
“The responsibility of architecture
is the architecture of responsibility.”
— Jan van Til/Tom Graves
Does this component have a
cohesive identity or purpose — a
single responsibility at the level of
abstraction of the abstraction?
106. “We propose instead that one
begins with a list of difficult
design decisions or design
decisions which are likely to
change. Each module is then
designed to hide such a
decision from the others.”
— David Parnas
SCARS: crisp and resilient Abstractions
1972
107. Recall: System Capabilities
Manage tribe
membership
Manage user
profile
View
content
Assemble
content
Techtribes Use Case Diagram (UML)
Techtribes Context Diagram by Simon Brown (in C4)
117. “Don’t partition by slicing through regions where
high rates of information exchange are required” –
Eb Rechtin
Systems: Interfaces
Image source: Martin Fowler’s bliki
122. Expose your mental models to the open air.
Remember, always, that everything you know,
and everything everyone knows, is only a
model.
Get your model out there where it can be shot
at.
Invite others to challenge your assumptions and
add their own.
Instead of becoming a champion for one
possible explanation or hypothesis or model,
collect as many as possible.
— Donella Meadows
Image source: Donella Meadows Institute
Change Your Point of View
123. Change Your Point of View
“A change of
perspective is worth
80 IQ points”
— Alan Kay
124. “You don't understand
something until you
understand it more
than one way”
— Marvin Minsky
Image:
wikipedia.org/wiki/Marvin_Minsky#/media/File:Marvin_Minsky_at_OLPCb.jpg
Change Your Point of View
125. “If you haven’t thought of
three possibilities, you
haven’t thought enough.”
— Jerry Weinberg
Rule of Three
Change Your Point of View
126. Agile Design
• in models and code
• visual design is also a way to test and refactor to
improve
Iterative and incremental
• get frequent feedback
• respond and adapt
Agile Design: Now with Pictures
developer facinguser facing
codesoftware