19
Agile Development and Modern Computing Environments FROM ON PREMISE TO HYBRID AND INTO THE CLOUD Heather Barron Principal Engineer

Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Agile Development and Modern Computing Environments

FROM ON PREMISE TO HYBRID AND INTO THE CLOUD !

Heather Barron Principal Engineer

Page 2: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Overview •  Economics. Economics. Economics.

•  “IT Portfolio”

•  Today’s Ecosystem.

•  Development Operations (“DevOps”)

•  What Agile development is, and is not.

•  Tomorrow’s Ecosystem.

•  Computing Infrastructure: Cloud vs. On Premise vs. Hybrid

•  Machine Learning (aka more Economics)

Page 3: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

If you understand that everything that happens in IT is economically motivated, you will better understand which trends are likely(er) to flourish and dominate.

Economics. Economics. Economics

Page 4: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

IT Portfolio THERE ARE 2 DEFINITIONS. EQUALLY CORRECT. EQUALLY IMPORTANT.

1. THE LIST OF SYSTEMS AND TECHNOLOGIES AN ENTERPRISE MUST BE COMPETENT IN TO SUCCEED.

2. THE VARIOUS PRACTICES IN AN IT ENVIRONMENT THAT LEAD TO “MORE BETTER”.

Informational •  Improved Information •  Increased Control •  Better Quality •  Faster Development Velocity

Strategic •  New Value Adds •  New Products/Businesses •  Improved Decisions •  Innovation

Transactional/Operational •  Reduce transaction costs •  Increase capacity •  Improved user experience

Infrastructure •  Business Integration •  Flexibility •  Improve Standardization

•  Reliability •  Security •  Empowerment

Page 5: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

•  MOBILE •  SOCIAL •  DEMOCRATIZATION OF MEDIA •  INCREASED TEMPO •  INCREASED SILOING OF INFO •  MICROSCALE MULTI-TENANCY •  BIG DATA •  DEVOPS •  AGILE

Today’s Ecosystem

Page 6: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Dev Ops •  Without DevOps, there is no cloud. •  Automated deployments enable

dramatically increased release cycles. •  Automated management allows for near-

instantaneous scale up and down in response to elastic demand.

•  Facilitates real-time responses to emerging situations at scale.

•  Provides the mechanisms by which the promises made in SLAs are achieved and reported.

•  Creates a capability to capture performance metrics to enable continuous improvement.

Sources/Credits: Wikipedia n3t

Page 7: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Agile

Sources/Credits: Wikipedia n3t

What Agile is not •  A Religion. •  A software development methodology •  It is not Scrum, which also is not a software

development methodology. •  It is not Waterfall, Spiral, or RAD, which are software

development methodologies.

What Agile IS •  A Manifesto. •  A Project Management framework. •  A healthy attitude to have if you’re going

to be a (happy) software developer.

Agile is a response to the increased systems complexity & cost; it is the response to the growth of unknown unknowns that exist on average in a project; it is the evolution from “fixed features/no changes allowed” to “flexible features/change is inevitable & invited”.

Economic Rationalization

Page 8: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Agile - Charter

Sources/Credits: Wikipedia n3t

•  Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. •  Welcome changing requirements, even late in development. Agile processes harness change for the customer's

competitive advantage. •  Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter

timescale. •  Business people and developers must work together daily throughout the project. •  Build projects around motivated individuals. •  Give them the environment and support they need, and trust them to get the job done. •  The most efficient and effective method of conveying information to and within a development team is face-to-face

conversation. •  Working software is the primary measure of progress. •  Agile processes promote sustainable development. •  The sponsors, developers, and users should be able to maintain a constant pace indefinitely. •  Continuous attention to technical excellence and good design enhances agility. •  Simplicity--the art of maximizing the amount of work not done--is essential. •  The best architectures, requirements, and designs emerge from self-organizing teams. •  At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 9: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Tomorrow’s Ecosystem

Sources/Credits: Wikipedia n3t

•  Internet of Things •  PaaS+IaaS •  Containers •  Analytics •  Machine Learning •  Next Gen UX

Page 10: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Cloud

Page 11: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Computing Platforms

Sources/Credits: Wikipedia n3t

Their Data Center

Your Data Center

Page 12: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Rationalization for moving to the cloud

Sources/Credits: Wikipedia n3t

At much higher levels of density operating costs and technology portfolio decreases while reliability and flexibility increases dramatically.

Page 13: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

The Cloud

Sources/Credits: Wikipedia n3t

Everyone gets as much Ferrari as they need

Server Platforms Client Platforms Bare metal Virtual Machines Containers

Desktop Native Apps “Thin” Clients Mobile Native Apps

Page 14: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Cognitive Computing

Page 15: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Machine Learning Applications

Sources/Credits: Wikipedia n3t

• Detects anomalies in consumer & merchant behavior.

Fraud Prevention

• Disease Management.

• Health Event Prediction.

• Readmissions.

Healthcare •  Finds and

manages arbitrage opportunities millions of times daily.

Machine Trading

•  Adapts to changing threat vectors faster than humans.

Spam Detection

Page 16: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Machine Learning?

Sources/Credits: Wikipedia n3t

Whether or not machine learning ever becomes a visibly “mainstream” technology, it will undoubtedly become a staple of the modern application, and development operations toolkit.

Page 17: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Machine Learning Barriers

Sources/Credits: Wikipedia n3t

•  Decision makers do not understand the economic and UX opportunities.!

•  Relatively few applications.!•  Complicated, difficult to develop, operate (and pay for).!•  Immature infrastructure & APIs – inaccessible.!•  Relatively hidden infrastructure.!

Mainstream Emergence •  Emerging solutions will create new economic rationalizations and

lead to greater adoption. -versus-!

•  Relative lack of, expense of, and opacity of “killer” applications.!

Page 18: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Wrap Up

Sources/Credits: Wikipedia n3t

•  Complexity will continue increase – and you will either ride on it or under it.

•  Algorithmic computing (a.k.a. Machine Learning) is emerging to become as important as procedural programming.

•  In software development, those that do not understand history are doomed to re-invent it.

Page 19: Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile Development.pdfAgile - Charter Sources/Credits: Wikipedia n3t • Our highest priority is to satisfy

Thank you for your time.