Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile...
Transcript of Agile Development and Modern Computing …calit2.uci.edu/uploads/Media/Text/Agile...
Agile Development and Modern Computing Environments
FROM ON PREMISE TO HYBRID AND INTO THE CLOUD !
Heather Barron Principal Engineer
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)
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
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
• MOBILE • SOCIAL • DEMOCRATIZATION OF MEDIA • INCREASED TEMPO • INCREASED SILOING OF INFO • MICROSCALE MULTI-TENANCY • BIG DATA • DEVOPS • AGILE
Today’s Ecosystem
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
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
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.
Tomorrow’s Ecosystem
Sources/Credits: Wikipedia n3t
• Internet of Things • PaaS+IaaS • Containers • Analytics • Machine Learning • Next Gen UX
Cloud
Computing Platforms
Sources/Credits: Wikipedia n3t
Their Data Center
Your Data Center
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.
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
Cognitive Computing
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
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.
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.!
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.
Thank you for your time.