Post on 15-Apr-2017
transcript
© 2015 Unitrends 1Unitrends cloud-empowered all-in-one continuity solutions increase your IT confidence
Engineering an Entrepreneurial Software Architecture
Dr Anna Liu
Managing Director, Unitrends Australia
R&D Director, Cloud Products, Unitrends Inc.
My Journey
ResearchHi-Tech Startup
Commercial Software Business
Enterprise/Software Architecture
© 2015 Unitrends 3
Key Ingredients1. Agile Software Architecture2. Smart Management of Technical Debt3. Automated Software Assurance Process4. Always Delivering Value to Market5. Data Driven Architectural Decisions6. Differentiated Intellectual Property7. Strong People and Team Architecture8. High Performance and Infinitely Scalable Software
Architecture
Engineering an Entrepreneurial Architecture
© 2015 Unitrends 4
Users and Market expect new features as soon as the need arises
Need to achieve rapid innovation, flexibility for pivot, speed to market
Informed anticipation with just-in-time and just enough architecting
Deliver direct benefits to users early and often
Technical leadership through coding, coaching, collaboration
Agile SA is Critical for scaling agile development
1. Agile Software Architecture
© 2015 Unitrends 5
Necessary tradeoff between productivity and long term software maintainability Need to accept some technical
debt Create an engineering culture
that minimizes debt Constantly vigilant, avoid
shortcuts, use simple designs Refactor relentlessly
Explicit, lightweight milestone reviews; all hands demos; retrospectives; Cruft days;
2. Smart Management of Technical Debt
Martin Fowler – Technical Debt Quadrant
© 2015 Unitrends 6
Test driven development, all developers write tests
Nightly builds, Continuous integration, regression tests continuously
Automated code analysis Peer review, Pull requests Team wide test and demo
days Separate independent QA
team
3. Automated Software Assurance Process
© 2015 Unitrends 7
Customer Pain? Domain or vertical industry
tough problems? Addressable market size?
Whose problem are you solving? Persona? Target User?
In vetting/prioritizing R&D activities: Will this proposed new function,
deliver direct user visible benefit?
In making architecture trade off decisions: Which alternative will lead to
max user benefit and market value?
4. Always Delivering Value to Market
© 2015 Unitrends 8
5. Data Driven Decision Making
© 2015 Unitrends 9
Sustainable Competitive Differentiation Core IP – High Value R&D
Balance between proven SA patterns and Counter intuitive approaches
Protection strategies Product Market Fit
Rapid Iterations, Solicit feedback Being creative and disruptive Purposeful pivots
The Yuruware/vmBoomerang case study
Core interoperability patents enabled us to capture multiple waves of Business value: DRaaS, Migration to Cloud, Hybrid Cloud Management
6. Differentiated Intellectual Property
Core IP
Product Market
Fit
Value
© 2015 Unitrends 10
Resilient Core Team Complementary skills and
experience Mutual trust and support to
ride out tough times Scalable team architecture
Resilient team culture Poised for growth Swappable components, no
single points of failure (succession planning)
Strong communication practice
2-pizza teams
7. Resilient People and Team Architecture
‘Can Do’ attitude
Not Afraid to Fail
A Specialisati
onTeam First
Keen Learner
Resilient design is a complex and many-faceted paradigm that involves long-term thinking about worst-case disaster
scenarios, as well as more common, everyday wear. Though the variables which contribute to resilience are many, and often complicated – the larger lesson is simple: buildings
need to be resilient in order to be truly sustainable – a building needs to be able to stand the test time.
From: Resilient Design: Is Resilience the New Sustainability? | Inhabitat - Sustainable Design Innovation, Eco Architecture, Green Building
Resilient individuals building resilient
team Architectu
re
© 2015 Unitrends 11
8. High Performance, Infinitely Scalable Software Architecture
From Highscalability.com on Design Principles of AWS S3
© 2015 Unitrends 12
Key Ingredients1. Agile Software Architecture2. Smart Management of Technical Debt3. Automated Software Assurance Process4. Always Delivering Value to Market5. Data Driven Architectural Decisions6. Differentiated Intellectual Property7. Strong People and Team Architecture8. High Performance and Infinitely Scalable Software
Architecture
Engineering an Entrepreneurial Architecture
© 2015 Unitrends 13
THANK YOU