Vertical vs horizontal software architecture ruby conf india 2016
Dev conf 2017 - What is software product design
-
Upload
jacques-de-vos -
Category
Software
-
view
28 -
download
1
Transcript of Dev conf 2017 - What is software product design
@jacdevos [email protected]
@jacdevos [email protected]
Not a state, but a process
Not magic, but hard work
Learning about real user needs
Iterate and experiment… until its tasty
Design makes things “tasty”
@jacdevos [email protected] software iteratively
@jacdevos [email protected]
Build
-> Code
Measure
-> Data
Learn
-> Ideas
Lean StartupMinimise the total time through the loop
@jacdevos [email protected]
Historical SDLC (vs mature engineering discipline)
Planning Requirements Design Programming Testing Deployment
Engineering Design Construction of Design
@jacdevos [email protected]
Real software is ones and zerosits incredibly cheap to build but incredibly expensive to design
@jacdevos [email protected]
Code shows us• real complexity, cost and constraints
• flaws in our problem-solution fit
• the devil in the details
@jacdevos [email protected]
Modern SDLC (vs mature engineering discipline)
Planning Requirements Design Programming Testing Deployment
Engineering DesignConstruction
of Design
@jacdevos [email protected]
#SoftwareConstructionMustFalldevelopment as construction
metaphor is broken
@jacdevos [email protected]
Design Improvement (Refactoring) and
System Metaphor (DDD) ensure code structure reflects product learning
@jacdevos [email protected]
Pair Programming is a design collaboration that creates
code that communicates intent
@jacdevos [email protected]
Testing gives quick design feedback -validation is a key aspect of design
@jacdevos [email protected]
@jacdevos [email protected]
Don’t build software, design it!• Design is a iterative process to create Tasty Products
• Software product development is a Wicked Problem
• Design is a better model than Construction
• Code is our ultimate software design artifact
• XP, Testing and Continuous Delivery are design tools
• Software Developers are Product Designers
@jacdevos [email protected]
@jacdevos [email protected]
@jacdevos [email protected]
Links:
Wicket Problems: http://www.leanessays.com/2002/01/wicked-problems.html?m=1
Waterfall 1970: https://www.cs.umd.edu/class/spring2003/cmsc838p/Process/waterfall.pdf
Code is Design: http://www.developerdotstar.com/mag/articles/reeves_design.html
Design Thinking: https://en.wikipedia.org/wiki/Design_thinking
Design School: http://dschool.stanford.edu
Design Sprint: http://www.thesprintbook.com
Lean Startup: http://theleanstartup.com/
Lean Startup meets design thinking: https://youtu.be/bvFnHzU4_W8
Extreme Programming: https://www.amazon.com/Extreme-Programming-Explained-Embrace-
Change/dp/0321278658
Continuous Delivery: https://www.amazon.com/gp/product/0321601912