latest trends in information technology

Post on 14-Dec-2014

23.476 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slide prepared for

TRANSCRIPT

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: eldospk@logic8.inWeb: http://logic8.in/

top related