SlideShare a Scribd company logo
1 of 94
Download to read offline
The Art of Design
The Creative Process Applied To Software Development
• Preparation
• Principles
• Process
• Practice
Preparation
Part 1 - Art of Design


 about
 why Design
 self assessment
art
/ärt/

Noun
 1. The expression or application of human creative skill and
    imagination, typically in a visual form such as painting or
    sculpture,...: "the art of the Renaissance"
 2. Works produced by such skill and imagination.

Synonyms
craft - skill - artifice - science - workmanship - knack
de·sign
/dəәˈzīn/

Noun
A plan or drawing produced to show the look and function
or workings of a building, garment, or other object before
it is built or made.
Why Design?

Comprehensibility
  Reduce bugs
     Stability
Craftsmanship
This is your legacy
Self Assessment (1-10)
 Design Patterns         Abstractions

 Object Oriented         Areas of Responsibility
 Programming
                         Separation of Concerns
 Single Responsibility
 Principal               Security

 YAGNI                   Scalability

 DRY                     Fault Tolerance
Design Patterns

A general rule to a common occurring
problem
A pattern or template to solve a
particular constraint
OOP


A style of programming segregating
Data and Behavior into distinct and
isolated units
Single Responsibility


 A given unit of code should have one
 objective or use
YAGNI
You Ain’t Gonna Need It
Do not build or design for something that
you do not have an explicit need for*



*Yes, I can end in a preposition - I don’t honor obscure latin linguistic
rules.
DRY


Don’t Repeat Yourself
A unit of code should only exist in one
location (no copy and pasting)
Abstractions



Dealing with ideas rather than events
Areas of Responsibility


  A given Object or section of code is
  responsible for like-behavior (cohesion)
Separation of Concerns


  Separating concepts that have low
  cohesion (e.g. business from view tier)
Security

How is data protected
How is the user protected
How is the system protected
How is the protection protected
Scalability

How does the system handle under
increasing load - more users, more
activity
Scaling horizontally, vertically
Fault Tolerance


How does the system handle errors and
failures
Principles
Part 2 - Art of Design


  Who were some great designers
  10 Principles of Good Design
  Passion
art	
 and	
 engineering
They say      rap and metal          can never mix!
Einstein repeatedly argued that
there must be simplified
explanations of nature, because
God is not capricious or arbitrary.
No such faith comforts the
software engineer. Much of the
complexity he must master is
arbitrary complexity … because
they were designed by different
people, rather than by God.

- Fred P. Brooks, Engineer/Author
Form follows function -
that has been
misunderstood. Form
and function should be
one, joined in a spiritual
union.

- Frank Lloyd Wright,
Architect
Where I used to strive for
movement and
restlessness I now
attempt to sense and
express the complete total
calm of objects and the
surrounding air.

- Lyonel Feininger,
Master Artist, Bauhaus
Making the solution
seem so completely
inevitable and obvious,
so uncontrived and
natural - it's so hard!

- Jonathan Ive, Apple
Good design is making
something intelligible and
memorable. Great design
is making something
memorable and
meaningful.

- Dieter Rams, Designer
Dieter Rams’ Principles of Design

                      Good Design...

1. Is Innovative                    6. Is Honest

2. Makes a Product Useful           7. Is Long-lasting

3. Is Aesthetic                     8. Is Thorough Down to the Last Detail

4. Makes A Product Understandable   9. Is Environmentally Friendly

5. Is Unobtrusive                   10. Is as Little Design as Possible
Good Design Is Innovative : The
possibilities for innovation are not, by
any means, exhausted. Technological
development is always offering new
opportunities for innovative design.
But innovative design always
develops in tandem with innovative
technology, and can never be an end
in itself.
Good Design Makes a Product
Useful : A product is bought to be
used. It has to satisfy certain criteria,
not only functional but also
psychological and aesthetic. Good
design emphasizes the usefulness of
a product while disregarding anything
that could possibly detract from it.
Good Design Is Aesthetic : The
aesthetic quality of a product is
integral to its usefulness because
products are used every day and
have an effect on people and their
well-being. Only well-executed
objects can be beautiful.
Good Design Makes A Product
Understandable : It clarifies the
product’s structure. Better still, it can
make the product clearly express its
function by making use of the user’s
intuition. At best, it is self-explanatory.
Good Design Is Unobtrusive : Products fulfilling a
purpose are like tools. They are neither decorative
objects nor works of art. Their design should therefore
be both neutral and restrained, to leave room for the
user’s self-expression.
Good Design Is Honest : It does not
make a product more innovative,
powerful or valuable than it really is. It
does not attempt to manipulate the
consumer with promises that cannot
be kept
Good Design Is Long-lasting : It
avoids being fashionable and
therefore never appears antiquated.
Unlike fashionable design, it lasts
many years – even in today’s
throwaway society.
Good Design Is Thorough Down to the
Last Detail : Nothing must be arbitrary or
left to chance. Care and accuracy in the
design process show respect towards the
consumer.
Good Design Is Environmentally
Friendly : Design makes an important
contribution to the preservation of the
environment. It conserves resources
and minimizes physical and visual
pollution throughout the lifecycle of
the product.
Good Design Is as
Little Design as
Possible : Less, but
better – because it
concentrates on the
essential aspects, and
the products are not
burdened with non-
essentials. Back to purity,
back to simplicity.
Be inspired

Inspire others

borrow, don’t copy

This is an art

Be passionate
Process
Part 3 - Art of Design


  Creative Process
  Constraints
4 wheels

mid-mount engine

2 seats

H x W x D (Dimensions)

Weight, MPH, Milage, Handling, etc.

oh yeah, make it really, really cool!
Sketch
Draft
Model
Production
Time & Cost




Sketch      Draft      Model         Production

         Time & Cost    Experiment
What are your constraints?

If you don’t know - go ask!
Discern Change

  The car accepts more gas.

  Know what changes and
  accommodate in your design.
Creative Process
idea and constraints
inspiration
sketch and draft
refine
detail
when are you done (e.g. George Lucas)
Sketch it out

  Class diagram

  Flow chart

  Whiteboard

  etc.
Scribble it down - the document matters
less than the practice of doing it!
Refine

  walk through

  user stories
Model

  prototype code

  experiment with new methodologies,
  patterns, practices
Production

  Write some code

  Yes, your prototype can become ‘real’
  if it’s solid - just don’t lock yourself
  into one way of thinking about it
  (always throw-away or always use it)
Sounds like waterfall!? What about
agile, XP, Kanban, etc.!?

  I don’t care about your build process -
  design it first.

If you don’t have a design before hand
you’re going to create it while coding!

  Disagree? Show me an example where
  this has worked out well for everybody
Practice
Part 4 - Art of Design


  Art vs. Science
  Essence and Accidents
  Design Patterns
CS Course...
physical attributes, concepts,
limitations
coding syntax, structure, concepts
History of the masters - and what they
accomplished
High emphasis on the medium and
technique
CS Course...

                             T
physical attributes, concepts, E
limitations
                    R E
             C
coding syntax, structure, concepts

           N
 CO
History of the masters - and what they
accomplished
High emphasis on the medium and
technique
Art/Design Course...
how to see
how to express thought
History of the masters - and what made
them great
low emphasis on the medium and
techniques
Art/Design Course...

                          C T
                 A
how to see

                R
how to express thought

               T
    B        S
History of the masters - and what made

  A
them great
low emphasis on the medium and
techniques
Negative Spaces
Sometimes you have to draw what’s not
       there to see the subject
Input
 API
Entry
Output
Persistence
   Exit
Just connect the pieces!
AKA
Where’s the creme filling!?
Aristotle
Essence (Creme)                  Accident (Non-Essential)
 Object Model                         Persistence


 Business Logic                       Formatting and Serialization


 Orchestration and Interaction        Security, Speed, Stability


                                      Platform, Language


                                      Batch, Real-time (sync or async)


                                      Libraries


                                      Size, Resource consumption
Context

App   Persistence = Non-Essential




ORM     Persistence = Essential
Random?
Pattern!
There are patterns
   everywhere
Singleton (Creation)

 When there can be only one
 Specialized resources
 Pooling Manager (threads, data
 connections, etc)
Factory (Creation)


Create object without specifying exact
type
Manage object lifecycle - e.g. pooling
Strategy (Behavioral)


 Add algorithmic behavior at runtime
 limited to one (per handler)
Observer (Behavioral)


 Subject notifies observer[s] on state
 change
 Event processing model
Decorator (Structural)
 Add or Override behavior
 Decorator implements same interface as
 decorated object (they are the same to the
 consumer)
 Can compound behaviors (decorate a
 decorated object)
Facade (Structural)


Simplified interface in front of a
complex system
Reduce coupling for 3rd party systems
Model-View-
Controller (Structural)
  User interacts with Controller
  Controller manipulates Model
  View displays current Model
Pessimistic Locking
    (Behavioral)

Utilize a semaphore to lock out any other
edits, release to unlock
One user can edit at a time
Optimistic Locking
   (Behavioral)

validate data has not been altered before
committing any changes
e.g. check modified_date
Read books for more!
conclusion?
Preparation


Technical Theory
Best Practices
Principles

Form and Function are one
Less is More
Simple is Hard
10 Principles
Process

Sketch
Draft
Prototype
on paper, on purpose before coding
Practice
10,000 hours to become an expert
Essence & Accidents
Patterns
Thank You!
                           @JimSiegienski
                jim.siegienski@gmail.com

slideshare.net/jimsiegienski/presentations

More Related Content

What's hot

Site Analysis Edward t. white
Site Analysis Edward t. whiteSite Analysis Edward t. white
Site Analysis Edward t. whiteDania Abdel-aziz
 
Ixd15 egoodman
Ixd15 egoodmanIxd15 egoodman
Ixd15 egoodmanegoodman
 
how to make architecture graduation project
how to make architecture graduation project how to make architecture graduation project
how to make architecture graduation project Eman Ateek
 
Agile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayAgile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayGary Pedretti
 
The Design Process
The Design ProcessThe Design Process
The Design Processdonnamacd
 
Lecture interdisciplinary challanges on ucrac
Lecture interdisciplinary challanges on ucracLecture interdisciplinary challanges on ucrac
Lecture interdisciplinary challanges on ucracAalborg Universitet
 
Aicd presentation
Aicd presentationAicd presentation
Aicd presentationkathlewis50
 
UX/Design Thinking Prototyping Workshop
UX/Design Thinking Prototyping Workshop UX/Design Thinking Prototyping Workshop
UX/Design Thinking Prototyping Workshop Chris Becker
 
Anatomy of architectural design concept
Anatomy of architectural design conceptAnatomy of architectural design concept
Anatomy of architectural design conceptNahedh Al-Qemaqchi
 
Building Design Knowledge: Creating and Disseminating Design Precedent
 Building Design Knowledge: Creating and Disseminating Design Precedent Building Design Knowledge: Creating and Disseminating Design Precedent
Building Design Knowledge: Creating and Disseminating Design Precedentcolin gray
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 IntroductionArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 IntroductionGalala University
 
Using Design thinking to tackle Wicked Problems
Using Design thinking to tackle Wicked ProblemsUsing Design thinking to tackle Wicked Problems
Using Design thinking to tackle Wicked ProblemsClaireSpacecubed
 
User Research Portfolios - From web portfolios to decks - tips for success
User Research Portfolios - From web portfolios to decks - tips for successUser Research Portfolios - From web portfolios to decks - tips for success
User Research Portfolios - From web portfolios to decks - tips for successRebecca Destello
 
DFA brainstorming lecture
DFA brainstorming lectureDFA brainstorming lecture
DFA brainstorming lectureChris Becker
 
Moser disruptive practice-arch3.0-2012
Moser disruptive practice-arch3.0-2012Moser disruptive practice-arch3.0-2012
Moser disruptive practice-arch3.0-2012Cliff Moser
 

What's hot (20)

Architectural Concept
Architectural Concept Architectural Concept
Architectural Concept
 
Site Analysis Edward t. white
Site Analysis Edward t. whiteSite Analysis Edward t. white
Site Analysis Edward t. white
 
Ixd15 egoodman
Ixd15 egoodmanIxd15 egoodman
Ixd15 egoodman
 
Concepts in Architecture
Concepts in ArchitectureConcepts in Architecture
Concepts in Architecture
 
how to make architecture graduation project
how to make architecture graduation project how to make architecture graduation project
how to make architecture graduation project
 
Agile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayAgile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we Today
 
The Design Process
The Design ProcessThe Design Process
The Design Process
 
Lecture interdisciplinary challanges on ucrac
Lecture interdisciplinary challanges on ucracLecture interdisciplinary challanges on ucrac
Lecture interdisciplinary challanges on ucrac
 
Aicd presentation
Aicd presentationAicd presentation
Aicd presentation
 
UX/Design Thinking Prototyping Workshop
UX/Design Thinking Prototyping Workshop UX/Design Thinking Prototyping Workshop
UX/Design Thinking Prototyping Workshop
 
U-CrAc - intro 2016
U-CrAc -  intro  2016U-CrAc -  intro  2016
U-CrAc - intro 2016
 
U-CrAc - Applied etno'16
U-CrAc - Applied etno'16U-CrAc - Applied etno'16
U-CrAc - Applied etno'16
 
Anatomy of architectural design concept
Anatomy of architectural design conceptAnatomy of architectural design concept
Anatomy of architectural design concept
 
Building Design Knowledge: Creating and Disseminating Design Precedent
 Building Design Knowledge: Creating and Disseminating Design Precedent Building Design Knowledge: Creating and Disseminating Design Precedent
Building Design Knowledge: Creating and Disseminating Design Precedent
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 IntroductionArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 1 Introduction
 
THEORY OF DESIGN
THEORY OF DESIGN THEORY OF DESIGN
THEORY OF DESIGN
 
Using Design thinking to tackle Wicked Problems
Using Design thinking to tackle Wicked ProblemsUsing Design thinking to tackle Wicked Problems
Using Design thinking to tackle Wicked Problems
 
User Research Portfolios - From web portfolios to decks - tips for success
User Research Portfolios - From web portfolios to decks - tips for successUser Research Portfolios - From web portfolios to decks - tips for success
User Research Portfolios - From web portfolios to decks - tips for success
 
DFA brainstorming lecture
DFA brainstorming lectureDFA brainstorming lecture
DFA brainstorming lecture
 
Moser disruptive practice-arch3.0-2012
Moser disruptive practice-arch3.0-2012Moser disruptive practice-arch3.0-2012
Moser disruptive practice-arch3.0-2012
 

Viewers also liked

2014 art & design presentation summary summer - esher college
2014 art & design presentation summary summer - esher college 2014 art & design presentation summary summer - esher college
2014 art & design presentation summary summer - esher college mariaespinoza4lyf
 
Steps in making a paper flower
Steps in making a paper flowerSteps in making a paper flower
Steps in making a paper flowerelena_savira
 
Kids Art Class Marketing Guide
Kids Art Class Marketing GuideKids Art Class Marketing Guide
Kids Art Class Marketing GuideJane Gozenpud
 
Rules procedures ppt
Rules procedures pptRules procedures ppt
Rules procedures pptrsd66
 
Art - creative paper artworks
Art - creative paper artworksArt - creative paper artworks
Art - creative paper artworksKate Whitehead
 
Rules for Technology, Grades 1st-6th, Room 109
Rules for Technology, Grades 1st-6th, Room 109Rules for Technology, Grades 1st-6th, Room 109
Rules for Technology, Grades 1st-6th, Room 109Lisa Berkery
 
PowerPoint for Teachers
PowerPoint for TeachersPowerPoint for Teachers
PowerPoint for Teacherspaulwill
 
Fun english for kids book for teachers
Fun english for kids book for teachersFun english for kids book for teachers
Fun english for kids book for teachersrodrigomabo
 

Viewers also liked (10)

2014 art & design presentation summary summer - esher college
2014 art & design presentation summary summer - esher college 2014 art & design presentation summary summer - esher college
2014 art & design presentation summary summer - esher college
 
Steps in making a paper flower
Steps in making a paper flowerSteps in making a paper flower
Steps in making a paper flower
 
Kids Art Class Marketing Guide
Kids Art Class Marketing GuideKids Art Class Marketing Guide
Kids Art Class Marketing Guide
 
Rules procedures ppt
Rules procedures pptRules procedures ppt
Rules procedures ppt
 
My creative art works
My creative art works  My creative art works
My creative art works
 
Art - creative paper artworks
Art - creative paper artworksArt - creative paper artworks
Art - creative paper artworks
 
Origami
OrigamiOrigami
Origami
 
Rules for Technology, Grades 1st-6th, Room 109
Rules for Technology, Grades 1st-6th, Room 109Rules for Technology, Grades 1st-6th, Room 109
Rules for Technology, Grades 1st-6th, Room 109
 
PowerPoint for Teachers
PowerPoint for TeachersPowerPoint for Teachers
PowerPoint for Teachers
 
Fun english for kids book for teachers
Fun english for kids book for teachersFun english for kids book for teachers
Fun english for kids book for teachers
 

Similar to The Art Of Design

[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...DevDay.org
 
Reflection On Design And Design
Reflection On Design And DesignReflection On Design And Design
Reflection On Design And DesignTiffany Sandoval
 
Alice Phieu - UI/UX For Developers
Alice Phieu - UI/UX  For DevelopersAlice Phieu - UI/UX  For Developers
Alice Phieu - UI/UX For DevelopersAlice Phieu
 
Rapid Prototyping in UX Design
Rapid Prototyping in UX DesignRapid Prototyping in UX Design
Rapid Prototyping in UX DesignStephen Denning
 
MHIT603: Lecture 4 - Experience Prototyping
MHIT603: Lecture 4 - Experience PrototypingMHIT603: Lecture 4 - Experience Prototyping
MHIT603: Lecture 4 - Experience PrototypingMark Billinghurst
 
UPA2007 Designing Interfaces Jenifer Tidwell
UPA2007 Designing Interfaces Jenifer TidwellUPA2007 Designing Interfaces Jenifer Tidwell
UPA2007 Designing Interfaces Jenifer Tidwellnikrao
 
UPA2007 Designing Interfaces Jenifer Tidwell
UPA2007 Designing Interfaces Jenifer TidwellUPA2007 Designing Interfaces Jenifer Tidwell
UPA2007 Designing Interfaces Jenifer Tidwellguestf59d1c4
 
Converting Research Findings in to Business Speak
Converting Research Findings in to Business SpeakConverting Research Findings in to Business Speak
Converting Research Findings in to Business Speakjackiem
 
User experience design process
User experience design processUser experience design process
User experience design processMike McCoy
 
MIT Experience Design Course Overview
MIT Experience Design Course OverviewMIT Experience Design Course Overview
MIT Experience Design Course OverviewMarisa Gallagher
 
how do u design?
how do u design?how do u design?
how do u design?surya teja
 
User Experience Design + Agile: The Good, The Bad, and the Ugly
User Experience Design + Agile: The Good, The Bad, and the UglyUser Experience Design + Agile: The Good, The Bad, and the Ugly
User Experience Design + Agile: The Good, The Bad, and the UglyJoshua Randall
 
Multilayered paper prototyping for user concept modeling
Multilayered paper prototyping for user concept modelingMultilayered paper prototyping for user concept modeling
Multilayered paper prototyping for user concept modelingUKOLN (dev), University of Bath
 
Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?theinfonaut
 
Designing Your Career @ amUX Atlanta
Designing Your Career @ amUX AtlantaDesigning Your Career @ amUX Atlanta
Designing Your Career @ amUX AtlantaIan Swinson
 

Similar to The Art Of Design (20)

[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
[DevDay2019] Collaborate or die: The designers’ guide to working with develop...
 
How do you design
How do you designHow do you design
How do you design
 
Reflection On Design And Design
Reflection On Design And DesignReflection On Design And Design
Reflection On Design And Design
 
Alice Phieu - UI/UX For Developers
Alice Phieu - UI/UX  For DevelopersAlice Phieu - UI/UX  For Developers
Alice Phieu - UI/UX For Developers
 
Rapid Prototyping in UX Design
Rapid Prototyping in UX DesignRapid Prototyping in UX Design
Rapid Prototyping in UX Design
 
MHIT603: Lecture 4 - Experience Prototyping
MHIT603: Lecture 4 - Experience PrototypingMHIT603: Lecture 4 - Experience Prototyping
MHIT603: Lecture 4 - Experience Prototyping
 
UPA2007 Designing Interfaces Jenifer Tidwell
UPA2007 Designing Interfaces Jenifer TidwellUPA2007 Designing Interfaces Jenifer Tidwell
UPA2007 Designing Interfaces Jenifer Tidwell
 
UPA2007 Designing Interfaces Jenifer Tidwell
UPA2007 Designing Interfaces Jenifer TidwellUPA2007 Designing Interfaces Jenifer Tidwell
UPA2007 Designing Interfaces Jenifer Tidwell
 
Converting Research Findings in to Business Speak
Converting Research Findings in to Business SpeakConverting Research Findings in to Business Speak
Converting Research Findings in to Business Speak
 
PDC+++ Module 2 Class 7
PDC+++ Module 2 Class 7PDC+++ Module 2 Class 7
PDC+++ Module 2 Class 7
 
User experience design process
User experience design processUser experience design process
User experience design process
 
MIT Experience Design Course Overview
MIT Experience Design Course OverviewMIT Experience Design Course Overview
MIT Experience Design Course Overview
 
how do u design?
how do u design?how do u design?
how do u design?
 
Unit iii design patterns 9
Unit iii design patterns 9Unit iii design patterns 9
Unit iii design patterns 9
 
User Experience Design + Agile: The Good, The Bad, and the Ugly
User Experience Design + Agile: The Good, The Bad, and the UglyUser Experience Design + Agile: The Good, The Bad, and the Ugly
User Experience Design + Agile: The Good, The Bad, and the Ugly
 
Multilayered paper prototyping for user concept modeling
Multilayered paper prototyping for user concept modelingMultilayered paper prototyping for user concept modeling
Multilayered paper prototyping for user concept modeling
 
Design thinking in Engineering
Design thinking in EngineeringDesign thinking in Engineering
Design thinking in Engineering
 
Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?Are Agile Projects Doomed to Half-Baked Design?
Are Agile Projects Doomed to Half-Baked Design?
 
PDC+++ Module 2 Class 9 Design Techniques I
PDC+++ Module 2 Class 9 Design Techniques IPDC+++ Module 2 Class 9 Design Techniques I
PDC+++ Module 2 Class 9 Design Techniques I
 
Designing Your Career @ amUX Atlanta
Designing Your Career @ amUX AtlantaDesigning Your Career @ amUX Atlanta
Designing Your Career @ amUX Atlanta
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

The Art Of Design

  • 1. The Art of Design The Creative Process Applied To Software Development
  • 2. • Preparation • Principles • Process • Practice
  • 4. Part 1 - Art of Design about why Design self assessment
  • 5. art /ärt/ Noun 1. The expression or application of human creative skill and imagination, typically in a visual form such as painting or sculpture,...: "the art of the Renaissance" 2. Works produced by such skill and imagination. Synonyms craft - skill - artifice - science - workmanship - knack
  • 6. de·sign /dəәˈzīn/ Noun A plan or drawing produced to show the look and function or workings of a building, garment, or other object before it is built or made.
  • 7. Why Design? Comprehensibility Reduce bugs Stability Craftsmanship This is your legacy
  • 8. Self Assessment (1-10) Design Patterns Abstractions Object Oriented Areas of Responsibility Programming Separation of Concerns Single Responsibility Principal Security YAGNI Scalability DRY Fault Tolerance
  • 9. Design Patterns A general rule to a common occurring problem A pattern or template to solve a particular constraint
  • 10. OOP A style of programming segregating Data and Behavior into distinct and isolated units
  • 11. Single Responsibility A given unit of code should have one objective or use
  • 12. YAGNI You Ain’t Gonna Need It Do not build or design for something that you do not have an explicit need for* *Yes, I can end in a preposition - I don’t honor obscure latin linguistic rules.
  • 13. DRY Don’t Repeat Yourself A unit of code should only exist in one location (no copy and pasting)
  • 14. Abstractions Dealing with ideas rather than events
  • 15. Areas of Responsibility A given Object or section of code is responsible for like-behavior (cohesion)
  • 16. Separation of Concerns Separating concepts that have low cohesion (e.g. business from view tier)
  • 17. Security How is data protected How is the user protected How is the system protected How is the protection protected
  • 18. Scalability How does the system handle under increasing load - more users, more activity Scaling horizontally, vertically
  • 19. Fault Tolerance How does the system handle errors and failures
  • 21. Part 2 - Art of Design Who were some great designers 10 Principles of Good Design Passion
  • 22. art and engineering They say rap and metal can never mix!
  • 23. Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer. Much of the complexity he must master is arbitrary complexity … because they were designed by different people, rather than by God. - Fred P. Brooks, Engineer/Author
  • 24. Form follows function - that has been misunderstood. Form and function should be one, joined in a spiritual union. - Frank Lloyd Wright, Architect
  • 25. Where I used to strive for movement and restlessness I now attempt to sense and express the complete total calm of objects and the surrounding air. - Lyonel Feininger, Master Artist, Bauhaus
  • 26. Making the solution seem so completely inevitable and obvious, so uncontrived and natural - it's so hard! - Jonathan Ive, Apple
  • 27. Good design is making something intelligible and memorable. Great design is making something memorable and meaningful. - Dieter Rams, Designer
  • 28. Dieter Rams’ Principles of Design Good Design... 1. Is Innovative 6. Is Honest 2. Makes a Product Useful 7. Is Long-lasting 3. Is Aesthetic 8. Is Thorough Down to the Last Detail 4. Makes A Product Understandable 9. Is Environmentally Friendly 5. Is Unobtrusive 10. Is as Little Design as Possible
  • 29. Good Design Is Innovative : The possibilities for innovation are not, by any means, exhausted. Technological development is always offering new opportunities for innovative design. But innovative design always develops in tandem with innovative technology, and can never be an end in itself.
  • 30. Good Design Makes a Product Useful : A product is bought to be used. It has to satisfy certain criteria, not only functional but also psychological and aesthetic. Good design emphasizes the usefulness of a product while disregarding anything that could possibly detract from it.
  • 31. Good Design Is Aesthetic : The aesthetic quality of a product is integral to its usefulness because products are used every day and have an effect on people and their well-being. Only well-executed objects can be beautiful.
  • 32. Good Design Makes A Product Understandable : It clarifies the product’s structure. Better still, it can make the product clearly express its function by making use of the user’s intuition. At best, it is self-explanatory.
  • 33. Good Design Is Unobtrusive : Products fulfilling a purpose are like tools. They are neither decorative objects nor works of art. Their design should therefore be both neutral and restrained, to leave room for the user’s self-expression.
  • 34. Good Design Is Honest : It does not make a product more innovative, powerful or valuable than it really is. It does not attempt to manipulate the consumer with promises that cannot be kept
  • 35. Good Design Is Long-lasting : It avoids being fashionable and therefore never appears antiquated. Unlike fashionable design, it lasts many years – even in today’s throwaway society.
  • 36. Good Design Is Thorough Down to the Last Detail : Nothing must be arbitrary or left to chance. Care and accuracy in the design process show respect towards the consumer.
  • 37. Good Design Is Environmentally Friendly : Design makes an important contribution to the preservation of the environment. It conserves resources and minimizes physical and visual pollution throughout the lifecycle of the product.
  • 38. Good Design Is as Little Design as Possible : Less, but better – because it concentrates on the essential aspects, and the products are not burdened with non- essentials. Back to purity, back to simplicity.
  • 39. Be inspired Inspire others borrow, don’t copy This is an art Be passionate
  • 41. Part 3 - Art of Design Creative Process Constraints
  • 42. 4 wheels mid-mount engine 2 seats H x W x D (Dimensions) Weight, MPH, Milage, Handling, etc. oh yeah, make it really, really cool!
  • 44. Draft
  • 45. Model
  • 47. Time & Cost Sketch Draft Model Production Time & Cost Experiment
  • 48. What are your constraints? If you don’t know - go ask!
  • 49. Discern Change The car accepts more gas. Know what changes and accommodate in your design.
  • 50. Creative Process idea and constraints inspiration sketch and draft refine detail when are you done (e.g. George Lucas)
  • 51. Sketch it out Class diagram Flow chart Whiteboard etc.
  • 52. Scribble it down - the document matters less than the practice of doing it!
  • 53. Refine walk through user stories
  • 54. Model prototype code experiment with new methodologies, patterns, practices
  • 55. Production Write some code Yes, your prototype can become ‘real’ if it’s solid - just don’t lock yourself into one way of thinking about it (always throw-away or always use it)
  • 56. Sounds like waterfall!? What about agile, XP, Kanban, etc.!? I don’t care about your build process - design it first. If you don’t have a design before hand you’re going to create it while coding! Disagree? Show me an example where this has worked out well for everybody
  • 58. Part 4 - Art of Design Art vs. Science Essence and Accidents Design Patterns
  • 59. CS Course... physical attributes, concepts, limitations coding syntax, structure, concepts History of the masters - and what they accomplished High emphasis on the medium and technique
  • 60. CS Course... T physical attributes, concepts, E limitations R E C coding syntax, structure, concepts N CO History of the masters - and what they accomplished High emphasis on the medium and technique
  • 61. Art/Design Course... how to see how to express thought History of the masters - and what made them great low emphasis on the medium and techniques
  • 62. Art/Design Course... C T A how to see R how to express thought T B S History of the masters - and what made A them great low emphasis on the medium and techniques
  • 63.
  • 65. Sometimes you have to draw what’s not there to see the subject
  • 68. Just connect the pieces!
  • 69. AKA
  • 70. Where’s the creme filling!?
  • 72. Essence (Creme) Accident (Non-Essential) Object Model Persistence Business Logic Formatting and Serialization Orchestration and Interaction Security, Speed, Stability Platform, Language Batch, Real-time (sync or async) Libraries Size, Resource consumption
  • 73. Context App Persistence = Non-Essential ORM Persistence = Essential
  • 75.
  • 77. There are patterns everywhere
  • 78.
  • 79. Singleton (Creation) When there can be only one Specialized resources Pooling Manager (threads, data connections, etc)
  • 80. Factory (Creation) Create object without specifying exact type Manage object lifecycle - e.g. pooling
  • 81. Strategy (Behavioral) Add algorithmic behavior at runtime limited to one (per handler)
  • 82. Observer (Behavioral) Subject notifies observer[s] on state change Event processing model
  • 83. Decorator (Structural) Add or Override behavior Decorator implements same interface as decorated object (they are the same to the consumer) Can compound behaviors (decorate a decorated object)
  • 84. Facade (Structural) Simplified interface in front of a complex system Reduce coupling for 3rd party systems
  • 85. Model-View- Controller (Structural) User interacts with Controller Controller manipulates Model View displays current Model
  • 86. Pessimistic Locking (Behavioral) Utilize a semaphore to lock out any other edits, release to unlock One user can edit at a time
  • 87. Optimistic Locking (Behavioral) validate data has not been altered before committing any changes e.g. check modified_date
  • 88. Read books for more!
  • 91. Principles Form and Function are one Less is More Simple is Hard 10 Principles
  • 93. Practice 10,000 hours to become an expert Essence & Accidents Patterns
  • 94. Thank You! @JimSiegienski jim.siegienski@gmail.com slideshare.net/jimsiegienski/presentations