SlideShare a Scribd company logo
1 of 35
Enterprise
Architecture
and True Agility
Lessons from
Mobile Development
When we put amazing technology into people’s hands
amazing things become possible.
“Today, companies have to radically
revolutionize themselves every few years
just to stay relevant. That's because
technology and the Internet have
transformed the business landscape
forever. The fast-paced digital age has
accelerated the need for companies to
become agile”.
Nolan Bushnell
Topics
• How mobile application development illustrates
important issues for the future
• Moving away from architectural design as a purely up-
front activity
• The benefits of architects’ complete engagement in the
solution delivery process
Mobile
Application
Development
• Mobile is the future
• The evolution of
mobile development
Mobile is the future
• The huge effects that were being predicted as
a result of the wide distribution of technology
are being realised through our mobile devices
first and foremost.
• Many of the things that are happening in
mobile will propagate everywhere
The evolution of mobile
The evolution of mobile
Past, Present and Future
The evolution of mobile
The evolution of mobile
The evolution of mobile
Types of Mobile App
Development Technologies
Level of Effort
Native Hybrid
• Often needs larger,
specialised teams to
cover multiple platforms
• Longer duration projects
• Higher overheads
• Smaller teams with more
general development skills
• Apps are cross-platform
• Much shorter development
projects
• Lower overheads
Integration approaches for mobile
Integration Approach Desirability
RESTful web service based APIs
specifically designed for mobile
applications
1. Most desirable. Minimises cost of mobile
solutions while maximising efficiency.
SOAP web service based APIs used for
general enterprise integration
2. Useful but not always ideal. Sometimes
too heavyweight for direct use in mobile
solutions.
Direct database access 3. Less desirable.
This approach often only allows reads as
writes and are often not supported by
system vendors.
Offers poor scalability.
Screen scraping from existing web
application user interfaces
4. Less desirable but occasionally effective
for simple lightweight mobile front-end
development.
Agile Software
Development
• What it is
• What it can deliver
• What can go wrong
The Agile Manifesto
Agile Principles
1. Customer satisfaction by early and
continuous delivery of useful software
2. Welcome changing requirements, even
late in development
3. Working software is delivered
frequently (weeks rather than months)
4. Close, daily cooperation between
business people and developers
5. Projects are built around motivated
individuals, who should be trusted
6. Face-to-face conversation is the best
form of communication (co-location)
7. Working software is the principal
measure of progress
8. Sustainable development, able to
maintain a constant pace
9. Continuous attention to technical
excellence and good design
10. Simplicity—the art of maximizing the
amount of work not done—is essential
11. Self-organizing teams
12. Regular adaptation to changing
circumstance
Scrum Methodology
What does Agile deliver
• Systems that are fit for purpose
– Especially when that purpose only emerges over
time.
• Systems that are cheaper
– Because they’re leaner
– Omitting features that users don’t need
What can go wrong?
What can go wrong?
• Hidden technical debt - Hygiene factors
• Being dogmatic about roles:
– “Scrum does not define a role Architect and therefore an
architect is not needed in an agile IT project".
• Not documenting adequately:
– “Agile means more talk and less documentation, doesn’t it?”
Relationship with Stakeholders
Relationship with Stakeholders
Relationship with Stakeholders
Relationship with Stakeholders
True Agility
• Reducing overheads in the delivery process
• Applying best practice to get things right first
time, more of the time
• Application templates
• Component re-use
• Writing only as much software as necessary
Architectural
Design
• More important now
than ever
• Not just an up-front
activity
Architectural Design
• Starts with:
– High-level, easily grasped diagrams of the system
– Identifies the class of the solution along with:
• The solution’s key components and interfaces
• The services it consumes and publishes along with formal
definitions
Architectural Design
• Continues to evolve:
– As new requirements emerge
– As new technology gets factored in
The need for
complete
engagement
The benefits of
architects' complete
engagement with the
solution delivery
process
Questions

More Related Content

What's hot

Agile for Publishing - an Intro (BISG)
Agile for Publishing - an Intro (BISG)Agile for Publishing - an Intro (BISG)
Agile for Publishing - an Intro (BISG)
Kristen McLean
 

What's hot (19)

Monolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly OsconMonolith to Microservices - O’Reilly Oscon
Monolith to Microservices - O’Reilly Oscon
 
Building and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef DeliveryBuilding and Managing Reliable Infrastructure with Chef and Chef Delivery
Building and Managing Reliable Infrastructure with Chef and Chef Delivery
 
Evolving toward Microservices - O’Reilly SACON Keynote
Evolving toward Microservices  - O’Reilly SACON KeynoteEvolving toward Microservices  - O’Reilly SACON Keynote
Evolving toward Microservices - O’Reilly SACON Keynote
 
BPM capabilities: Beyond the reach of other languages
BPM capabilities: Beyond the reach of other languagesBPM capabilities: Beyond the reach of other languages
BPM capabilities: Beyond the reach of other languages
 
Mendix Essentials Presentatie Gerolf Roovers26/08/2011
Mendix Essentials Presentatie Gerolf Roovers26/08/2011Mendix Essentials Presentatie Gerolf Roovers26/08/2011
Mendix Essentials Presentatie Gerolf Roovers26/08/2011
 
Fp7 final nie-jacky
Fp7 final nie-jackyFp7 final nie-jacky
Fp7 final nie-jacky
 
IBM i and Your IT Strategy - Trevor Perry
IBM i and Your IT Strategy - Trevor PerryIBM i and Your IT Strategy - Trevor Perry
IBM i and Your IT Strategy - Trevor Perry
 
Does Agile Enterprise Architecture = Agile + Enterprise Architecture?
Does Agile Enterprise Architecture = Agile + Enterprise Architecture?Does Agile Enterprise Architecture = Agile + Enterprise Architecture?
Does Agile Enterprise Architecture = Agile + Enterprise Architecture?
 
How to boost your workflow, or git rebase for designers
How to boost your workflow, or git rebase for designersHow to boost your workflow, or git rebase for designers
How to boost your workflow, or git rebase for designers
 
Chapter 1. Why Performance Test
Chapter 1. Why Performance TestChapter 1. Why Performance Test
Chapter 1. Why Performance Test
 
Agile for Publishing - an Intro (BISG)
Agile for Publishing - an Intro (BISG)Agile for Publishing - an Intro (BISG)
Agile for Publishing - an Intro (BISG)
 
Joe Wikert: What Does Agile Mean at O'Reilly
Joe Wikert: What Does Agile Mean at O'ReillyJoe Wikert: What Does Agile Mean at O'Reilly
Joe Wikert: What Does Agile Mean at O'Reilly
 
DesignSpark mechanical martin keenan launch budapest 2013
DesignSpark mechanical martin keenan launch budapest 2013DesignSpark mechanical martin keenan launch budapest 2013
DesignSpark mechanical martin keenan launch budapest 2013
 
Chris Taylor, Future plc, Strategic Thought
Chris Taylor, Future plc, Strategic ThoughtChris Taylor, Future plc, Strategic Thought
Chris Taylor, Future plc, Strategic Thought
 
Software Lending Library
Software Lending LibrarySoftware Lending Library
Software Lending Library
 
May 2021 Embedded Vision Summit Opening Remarks (May 25)
May 2021 Embedded Vision Summit Opening Remarks (May 25)May 2021 Embedded Vision Summit Opening Remarks (May 25)
May 2021 Embedded Vision Summit Opening Remarks (May 25)
 
Integrating User Experience Design into the Product Lifecycle
Integrating User Experience Design into the Product LifecycleIntegrating User Experience Design into the Product Lifecycle
Integrating User Experience Design into the Product Lifecycle
 
Health IT Summit San Francisco 2015 - Case Study "Mobilizing the Workforce: ...
Health IT Summit San Francisco 2015 - Case Study "Mobilizing the Workforce:  ...Health IT Summit San Francisco 2015 - Case Study "Mobilizing the Workforce:  ...
Health IT Summit San Francisco 2015 - Case Study "Mobilizing the Workforce: ...
 
Making Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens AdviceMaking Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens Advice
 

Viewers also liked

Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
Paulo Gandra de Sousa
 

Viewers also liked (6)

Changing Your Enterprise Architecture - Mobile is Not an Add-On
Changing Your Enterprise Architecture - Mobile is Not an Add-OnChanging Your Enterprise Architecture - Mobile is Not an Add-On
Changing Your Enterprise Architecture - Mobile is Not an Add-On
 
L02 Software Design
L02 Software DesignL02 Software Design
L02 Software Design
 
Patterns of enterprise application architecture
Patterns of enterprise application architecturePatterns of enterprise application architecture
Patterns of enterprise application architecture
 
L01 Enterprise Application Architecture
L01 Enterprise Application ArchitectureL01 Enterprise Application Architecture
L01 Enterprise Application Architecture
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
 
Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)Patterns of Enterprise Application Architecture (by example)
Patterns of Enterprise Application Architecture (by example)
 

Similar to Steve Greenley July 2015 - Enterprise Architecture and True Agility - lessons from mobile development

MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
MohammedShahid562503
 
SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)
Annie Comp
 
Agiledevelopment mobile 20130306
Agiledevelopment mobile 20130306Agiledevelopment mobile 20130306
Agiledevelopment mobile 20130306
Alex Hung
 

Similar to Steve Greenley July 2015 - Enterprise Architecture and True Agility - lessons from mobile development (20)

MICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptxMICROSERVICES ARCHITECTURE unit -2.pptx
MICROSERVICES ARCHITECTURE unit -2.pptx
 
SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)SOA (Service Oriented Architecture)
SOA (Service Oriented Architecture)
 
Web engineering
Web engineeringWeb engineering
Web engineering
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
Agiledevelopment mobile 20130306
Agiledevelopment mobile 20130306Agiledevelopment mobile 20130306
Agiledevelopment mobile 20130306
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 
Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
Construction Software & Technology Applications: What fits your biz?
Construction Software & Technology Applications: What fits your biz?Construction Software & Technology Applications: What fits your biz?
Construction Software & Technology Applications: What fits your biz?
 
GHD iConnect - our intranet for the future
GHD iConnect - our intranet for the futureGHD iConnect - our intranet for the future
GHD iConnect - our intranet for the future
 
Engage 2018 - What About the Apps? A Domino Modernisation Story
Engage 2018 - What About the Apps? A Domino Modernisation StoryEngage 2018 - What About the Apps? A Domino Modernisation Story
Engage 2018 - What About the Apps? A Domino Modernisation Story
 
Web engineering cse ru
Web engineering cse ruWeb engineering cse ru
Web engineering cse ru
 
Software architectures
Software architecturesSoftware architectures
Software architectures
 
Web design - Applications and web application definition
Web design - Applications and web application definitionWeb design - Applications and web application definition
Web design - Applications and web application definition
 
Working with Developers
Working with DevelopersWorking with Developers
Working with Developers
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
Digital Conversations - Agile Creative Technology
Digital Conversations - Agile Creative TechnologyDigital Conversations - Agile Creative Technology
Digital Conversations - Agile Creative Technology
 
English digital business 2.1.pptx
English digital business 2.1.pptxEnglish digital business 2.1.pptx
English digital business 2.1.pptx
 
#ATAGTR2020 Presentation - Microservices – Explored
#ATAGTR2020 Presentation - Microservices – Explored#ATAGTR2020 Presentation - Microservices – Explored
#ATAGTR2020 Presentation - Microservices – Explored
 
Intoduction to software engineering part 1
Intoduction to software engineering part 1Intoduction to software engineering part 1
Intoduction to software engineering part 1
 

Recently uploaded

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
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
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
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
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
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Steve Greenley July 2015 - Enterprise Architecture and True Agility - lessons from mobile development

  • 2. When we put amazing technology into people’s hands amazing things become possible.
  • 3. “Today, companies have to radically revolutionize themselves every few years just to stay relevant. That's because technology and the Internet have transformed the business landscape forever. The fast-paced digital age has accelerated the need for companies to become agile”. Nolan Bushnell
  • 4. Topics • How mobile application development illustrates important issues for the future • Moving away from architectural design as a purely up- front activity • The benefits of architects’ complete engagement in the solution delivery process
  • 5. Mobile Application Development • Mobile is the future • The evolution of mobile development
  • 6. Mobile is the future • The huge effects that were being predicted as a result of the wide distribution of technology are being realised through our mobile devices first and foremost. • Many of the things that are happening in mobile will propagate everywhere
  • 15. Level of Effort Native Hybrid • Often needs larger, specialised teams to cover multiple platforms • Longer duration projects • Higher overheads • Smaller teams with more general development skills • Apps are cross-platform • Much shorter development projects • Lower overheads
  • 16. Integration approaches for mobile Integration Approach Desirability RESTful web service based APIs specifically designed for mobile applications 1. Most desirable. Minimises cost of mobile solutions while maximising efficiency. SOAP web service based APIs used for general enterprise integration 2. Useful but not always ideal. Sometimes too heavyweight for direct use in mobile solutions. Direct database access 3. Less desirable. This approach often only allows reads as writes and are often not supported by system vendors. Offers poor scalability. Screen scraping from existing web application user interfaces 4. Less desirable but occasionally effective for simple lightweight mobile front-end development.
  • 17. Agile Software Development • What it is • What it can deliver • What can go wrong
  • 19. Agile Principles 1. Customer satisfaction by early and continuous delivery of useful software 2. Welcome changing requirements, even late in development 3. Working software is delivered frequently (weeks rather than months) 4. Close, daily cooperation between business people and developers 5. Projects are built around motivated individuals, who should be trusted 6. Face-to-face conversation is the best form of communication (co-location) 7. Working software is the principal measure of progress 8. Sustainable development, able to maintain a constant pace 9. Continuous attention to technical excellence and good design 10. Simplicity—the art of maximizing the amount of work not done—is essential 11. Self-organizing teams 12. Regular adaptation to changing circumstance
  • 21. What does Agile deliver • Systems that are fit for purpose – Especially when that purpose only emerges over time. • Systems that are cheaper – Because they’re leaner – Omitting features that users don’t need
  • 22. What can go wrong?
  • 23. What can go wrong? • Hidden technical debt - Hygiene factors • Being dogmatic about roles: – “Scrum does not define a role Architect and therefore an architect is not needed in an agile IT project". • Not documenting adequately: – “Agile means more talk and less documentation, doesn’t it?”
  • 28. True Agility • Reducing overheads in the delivery process • Applying best practice to get things right first time, more of the time • Application templates • Component re-use • Writing only as much software as necessary
  • 29. Architectural Design • More important now than ever • Not just an up-front activity
  • 30.
  • 31. Architectural Design • Starts with: – High-level, easily grasped diagrams of the system – Identifies the class of the solution along with: • The solution’s key components and interfaces • The services it consumes and publishes along with formal definitions
  • 32. Architectural Design • Continues to evolve: – As new requirements emerge – As new technology gets factored in
  • 33. The need for complete engagement The benefits of architects' complete engagement with the solution delivery process
  • 34.

Editor's Notes

  1. I'd like to talk about enterprise agility and the role that architects can play in achieving it I've worked in software development for a little over thirty years, moving through various roles including 5 years at Telecom, 3 years with Sybase in the London financial district and 11 years as a solution architect with Solnet. I've worked with Mobile Mentor as an enterprise mobility consultant and I'm currently working with Fletcher Building in their newly formed Digital Innovation Lab which aims to revolutionise the way technology is used across New Zealand's largest enterprise. We're working with rapid cross-platform mobile app development, drones, augmented reality and lots of other really cool stuff.
  2. Started at 16 Interested in cutting edge tech, IoT, Drones, CNC, Mobile Apps Examples: * Uber , iTunesU, Google Maps, Evernote, Air New Zealand App, Spotify When you put amazing technology in peoples' hands, amazing things become possible. I believe that empowering people who are passionate about the future is the best way to build a better world as the pace of technology accelerates.
  3. I'm quite fond of this quote from Nolan Bushnell, an Electrical Engineer who founded Atari. He was named one of Newsweek's "50 men who changed America" and is known for Bushnell's Law which states: "All the best games are easy to learn and difficult to master". I think that applies to more than games, I find it applies to a lot things in life. Here, he has something to say that I find particularly apt: "Today, companies have to radically revolutionise  themselves every few years just to stay relevant. That's because technology and the internet have transformed the business landscape forever. The fast-paced digital age has accelerated the need for companies to become agile". I'd like to draw a distinction between agile as it's meant here and the Agile Methodology. They often go together but not always. I've come across enough poor implementations of Agile to be a bit sceptical but I'm always impressed by teams that demonstrate a commitment to true agility. That's not something you get just by following a methodology, it takes a deep commitment to addressing fundamental issues. I think that true agility for enterprise has a lot to do with embracing the pace of change in technology and the pace of change in business practices. It's about driving your organisation to harness the volatility in the environment as a source of competitive advantage. If we can adapt more quickly to new requirements than our competitors then our products and services will  be a better fit for our customers needs. They'll simply be better products. It's not just about transforming our organisations. It's about being prepared to do that repeatedly and efficiently in depth. This is hard. Organisations naturally resist change. And yet that's what's required.
  4. I'd like to cover three main topics in the next half hour or so * What's happening in mobile application development and how that illustrates important general issues for the future * Why we need to move away form the idea that architectural design is something that's just done at the start of projects * The benefits of having architects engage in the whole solution delivery process, influencing everything from the way requirements are gathered, how tools and frameworks are selected, how code is written and tested, how products deployed and supported
  5. So what about mobile application development, what's so interesting about that and how is it changing
  6. From my perspective: The personal computer of our time is in our hands. It seems ridiculous to call it a phone. It's a powerful computing platform. The phone bit of it is just an app, one of dozens (hundreds if you're like me) Many of the huge disruptive changes that have been anticipated because of the pace of change are being realised through our mobile devices first and foremost It's being felt everywhere
  7. This is an app I helped produce about 10 years ago . Written in Java using J2ME It was launched to around a thousand users and proved very popular. At that stage  mobile browsers were almost a waste of time and being able to do general searches of a national business directory was pretty groundbreaking We built detailed metrics into the app and found that there were a significant number of people who used it intensively. It was clearly making a difference to how they did things. Unfortunately it was considered ahead of its time and never got launched publicly I would have been one of just  a handful of similar apps in the world at the time
  8. So, a couple of years later in 2007 the iPhone was launched and the year after that, the iPhone SDK. Things have never really been the same since. Apps are everywhere, mobile is turning into a dominant computing paradigm and very few organisations would be able to do without a mobile strategy of some kind when it comes to engaging with their customers and employees. This is an update to a Margin Calculator app that I first launched in 2009. I wanted to learn Swift and tackle some of the newer iOS features so I spent the Christmas holidays working on this and re-launched it at the beginning of the year. It's got a cool interactive graph and a dynamic sales calculation form which I quite enjoyed building. In about the same timeframe a couple of guys launched an app called Uber. Their making $10bn a year and their company is worth $50bn. If you think about how much things had changed in that time it's really incredible, not just in terms of the devices but the change in users' expectations and the businesses that serve them. Imagine how differently things might have worked out with Telecom Directories if they'd had any idea what was coming. Things are changing faster now if anything.
  9. This is Microsoft Hololens. If you're familiar with things like Oculus Rift and other virtual reality headsets it might look familiar What's not immediately obvious is that this is (or will be) a self contained computing platform and
  10. It combines your computing environment with your physical environment. Any surface can function as a screen You can use gestures to interact with 3D objects in the space in front of you. I'm pretty excited about what the future holds when giants like Microsoft, Google and Facebook are all competing to bring technology like this to market. It changes peoples expectations of the technology.  The future isn't just more of the same any more, its something else, new and unprecedented
  11. and I think smartphones may have an important role to play as well. Driving the cost down for consumers and developers too. This is Google Cardboard. It uses your smartphone
  12. Its as basic as you can get but it really works. Transition and you can get one for less than a cup of coffee.
  13. Something else that I find really interesting is how mobile application development is changing There's a lot of interest in what's called hybrid mobile applications To understand that you need to appreciate what it's a hybrid of On the left you've got Native apps A good example is the Air New Zealand app      Its a big budget mobile application that produces amazing results      but this has a high price tag and not many organisations can afford that kind of investment           expensive to build, expensive to maintain given the volatility of multiple target platforms  If you developed for iOS and then decided to add Android (or vice versa), you'll end up paying at lease half as much again to re-develop. On the right you've got HTML5 HTML5 (catch-all term) representing the state of the art for web browser capability. You can produce web apps that work on-line for desktop and mobile browsers. There are libraries that make it possible to product nice responsive UIs that look at home on any platform, including examples that are nearly indistinguishable from native The great things here are speed and cost - you can get a prototype working in hours or days JavaScript is really the driving force here. It's an amazing language that's often underestimated It allows for new ways building software that many people don't appreciate, using:      functional programming      prototype-based inheritance      Asynchronous code using Promises Theres an amazing level of innovation here and it takes a lot of effort to fully embrace it and appreciate it. The client-side code is capable of so much more than a few years ago. Hybrid combines the best of both worlds using a native wrapper like Apache Cordova that allows HTML/JS apps to be packaged as native apps and access low-level device features This is particularly interesting for mobile enterprise apps where cost/speed of development and functionality are more important than platform specific polish the future. Look to tools like Ionic based on Angular
  14. Arrival of powerful frameworks that let you do more in the client app, requiring less of the platform Enter MBAAS products to serve this type of app Needs more sophisticated development teams Can produce amazing results at speed At Fletcher Building Digital Innovation Lab we've produced 9 apps in 3-4months with a really stunning return on investment using tools like Ionic and cloud based hosting services Examples of interesting frameworks in each category: Native: Objective C + Cocoa Touch Java + Android SDK Swift 1.0 Swift 2.0 Hybrid: Examples: jQuery Mobile Sencha Touch AngularJS 1.x + Ionic 1.x AngularJS 2.0 + Ionic 2.0 Web: Twitter Bootstrap Zurb Foundation Angular Material Sencha Ext JS Angular JS 1.x NodeJS Angular 2.0 React
  15. (Anon) example soap service (20k line message), REST without shchema → trial and error v time consuming MongoDB Parse - nosql, schema-less  So, if you're interested in driving an organisation to be agile and embracing the accelerating pace of change, you could do a lot worse than taking an interest in whats happening with mobile technology and mobile software development.
  16. From agilemanifesto.org
  17. From: https://en.wikipedia.org/wiki/Agile_software_development#The_Agile_Manifesto
  18. Scrum is not Agile, Agile is not Scrum It is actually IT agnostic It originated in the design and development of consumer goods Scrum is a deliberately sparse methodology which is not meant to replace years of IT best practice Its sparseness gives the reader credit for having common sense Its interpretation is vulnerable to a lack of this. Diagram from: http://jesusgilhernandez.com/2012/10/28/scrum-in-a-nutshell/ It’s like a game that follows Bushnell’s Law: …easy to understand difficult to master Bushnell's Law or Nolan's Law is an aphorism by Nolan Bushnell about video game design:[1] All the best games are easy to learn and difficult to master. They should reward the first quarter and the hundredth. Events · Sprint · Sprint Planning · Daily Stand-up · Sprint Review · Sprint Retrospective Roles · Product Owner · Development Team · Scrum Master Artifacts · Product Backlog · Sprint Backlog · Increment · Burndown charts Rules · Tasks on the backlog · Prioritized by value · Sprint: non changing goals · Done: working software · Self-organized teams.
  19. http://www.techrepublic.com/blog/software-engineer/quantify-the-impact-of-agile-app-development/
  20. Architectural Design Importance for fast-paced mobile projects The requirements evolve The technology evolves e.g. JS frameworks landscape changes every week Need oversight from senior engineers with an enterprise level mandate to ensure that projects don't introduce large numbers of components with overlapping functionality and scope We can’t do that as outsiders, we need to engage closely with development teams and how they use the latest tools and frameworks.
  21. Architectural Design Importance for fast-paced mobile projects The requirements evolve The technology evolves e.g. JS frameworks landscape changes every week Need oversight from senior engineers with an enterprise level mandate to ensure that projects don't introduce large numbers of components with overlapping functionality and scope We can’t do that as outsiders, we need to engage closely with development teams and how they use the latest tools and frameworks.
  22. Architectural Design Importance for fast-paced mobile projects The requirements evolve The technology evolves e.g. JS frameworks landscape changes every week Need oversight from senior engineers with an enterprise level mandate to ensure that projects don't introduce large numbers of components with overlapping functionality and scope We can’t * Projects (not just Agile ones) more often find themselves working with new tools, technology & frameworks * more likely to find pre-existing architectural recommendations obsolete or irrelevant do that as outsiders, we need to engage closely with development teams and how they use the latest tools and frameworks.
  23. We can't be the architectural riot squad. Wading in like enforcers when projects innovate and look like they might do things that aren't strictly in-line with strategy. Project teams will end up working around any barriers: cite: use of cloud services that empower teams to operate without the blessing of those who control access to corporate infrastructure cite: the more direct relationship between business units and development teams, giving them more direct access to funding that isn't mediated through enterprise IT. To exercise the required level of influence, we need to engage with development teams as software engineers and actively participate in the software development process. This is hard. It's worth it. The big payoffs are: * continued technical relevance at a personal level. The kind of relevance that doesn't come from reading about new technology, it only comes from using it to build real systems. * respect for our recommendations. We can't ask projects to follow our advice about responsible service development with one breath and dish out obsolete recommendations about application frameworks with the next. We have to stay current. For me, that means reprising my role as a software developer and working as closely as possible with development teams working with the latest mobile technology as much as I can. I think there's a version of that, that applies to some extent to all of us.