Upload
eldos-kuriakose
View
23.477
Download
1
Embed Size (px)
DESCRIPTION
Slide prepared for
Citation preview
Latest Trends in the
IT Industry
Cloud Computing
Mobile Applications
AGILE Methodology – SCRUM
N-tier architecture
Java vs .NETObject Oriented Design and its Relevance
Cloud Computing Fundamentals
• Cloud computing provides computation, software, data access, and storage services that do not require end-user knowledge of the physical location and configuration of the system that delivers the services.
• The Power Grid example
Cloud Computing – 5 salient features
1. Dynamic Computing Infrastructure
2. IT Service Centric approach
3. Self Service based usage model
4. Minimally or Self Managed platform
5. Consumption based billing
** PROVISIONING **
The CLOUD Architecture
Cloud Computing
Social Networking Sites
Social Networking – already on Cloud
Mobile Applications
What is a mobile app?
perioperative patient tracker example …
how many of us have a mobile phone here?
can you pay the electricity bill using your mobile phone?
How do you/a company make money from mobile apps?• Sell it through a mobile app store / network• Ad inside the app - can monetize everytime the user runs
the application / plays the game• Question !• What location or where inside the application should an
Ad be placed to get maximum returns?
• Based on extensive research …
Mobile Applications
Waterfall to
AGILE
SDLC – Software Development Life Cycle
SDLC and the Development Models
• Waterfall model (traditional)• AGILE development methodology (fairly
new)
Success Rate of IT Projects?
Agile Development Methodology Iterative Development
user stories further divided into tasks Product Backlog, Sprint Backlog
Continuous Integration TFS or Cruise Control
Unit Tests + TDD (Test Driven Development) Pair Programming Spike Solutions Merciless Refactoring The Daily Standup meeting (5 minutes / developer)
What has been done after the last stand up meeting? What will you be doing till the next standup meeting? Any bottlenecks?
The Sprint Burndown chart
AGILE - Scrum Process
Agile Principles
1. Satisfy the Customer2. Welcome Change3. Deliver Frequently4. Work as a Team5. Motivate People6. Communicate Face-to-Face7. Measure Working Software8. Maintain Constant Pace9. Excel at Quality10. Keep it Simple11. Evolve Designs12. Reflect Regularly
Task Board
Sprint
Sprint Burn Down
Release Planning
Plan features in sprints and releases
Releases depend on accepted sprints
N-tier architecture
* N-tier Vs N-layer ?
3-layer architecture
True N-Layer Architecture Example
Media Server – CDN basedMedia Server – CDN based
Media Server – CDN basedMedia Servers – CDN based
3rd Party Web Services CDN: content delivery networks
* Akamai* Amazon* Reliance Globalcom
Why Java?
Development and runtime - both platform independent
Better standards compliance
Open Source language that further depends on other open
source vendors for its IDE, Web Server, App Server, etc.
Claimed to be more secure than .NET code
** Name a programming construct avilable in Java, but not in .NET?
Why .NET? Fast turn around time Single Framework handles everything – no need for multiple
frameworks from different vendors for different functionalities. Much better funded so that newer features are coming out at
the fastest pace. LINQ, AJAX, Performance Profiler, Unit Testing Framework, Client side Reporting and a lot more integrated into one platform
Language independent – C#, VB.NET, C++ developers can all work together on the same project
Simpler AJAX implementation
** Is .NET free?
Java, .NET Object Oriented
Most of what can be done using Java can be done using .NET
and vice-versa
Java as well as.NET languages like C#, VB.NET, etc are all
Object Oriented
Object Oriented Design has been steady for the past 30 years
or so and has changed very little.
Case in Point: Most, if not all of the design patterns published
by the GoF(Gang of Four) in 1994 are still the back bone of
current OOPs design (Singleton, Strategy, State, Factory etc.)
Object Oriented Design – most important
Class
Object
Encapsulation
Inheritance
Polymorphism
Overloading
Overriding
UML (Unified Modeling Language) Association
Aggregation
Composition
Class diagrams, sequence diagrams, … more.
Abstract Class
Interface
Domain Areas
Web
Windows
Mobile
Smart Client
Network
Security
Discover Your Passion! What area in IT interests you the most?
Writing business logic code? – focus on OOPs, design patterns, … etc
Creating beautiful interfaces? – focus on design tools like Expression Blend
Application performance? – focus on optimization tools like VS2010
Profiler, DotTrace, Ants Trace
Application Testing – ( relative cost of a bug in production vs a bug caught
during development )
Data storage/retrieval ? focus on DB administration / development
Network administration – security/firewalls/login/domains/ADs/….
ERP software and tools (SAP, Peoplesoft, Oracle, BAAN, …)
Web vs. Windows vs. Smart Client Apps vs. Mobile apps
True Story of a Young Boy
Moral of the Story….
You have to figure out your passion
Finding a mentor to guide you and assist you –
someone who has the right experience
Having a plan – plan your next 10 years
Do your best and not compare with anyone else
Q & A
Inform Yourself … Check these out…• MSDN Magazine (http://msdn.microsoft.com/en-us/magazine/default.aspx)
• Java Magazine (http://www.oracle.com/technetwork/java/javamagazine/index.html)
• Refactoring Cheat Sheet (http://www.refactoring.com/,
http://www.refactoring.com/catalog/index.html)
• Freelance sites like rent a coder(vworker)/elance/oDesk/…
• Forums like CodeProject, MSDN forums, Codeplex repository for open source projects
• Head First Object-Oriented Analysis and Design: Brett D. McLaughlin, Gary Pollice, Dave
West
• Head First Design Patterns: Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra
• Code optimization tools like ANTS profiler, Dot Trace profiler
• Clientside optimization tools like Fiddler, YSlow, Page Speed
• Inspiration: TED Talks (search on Google)
Thank You !!
Name: Eldos P. Kuriakose Email: [email protected]: http://logic8.in/