Latest Trends
    in the
 IT Industry
Cloud Computing

Mobile Applications

AGILE Methodology – SCRUM

N-tier architecture

Java vs .NET
   Object 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?
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 Customer
2.    Welcome Change
3.    Deliver Frequently
4.    Work as a Team
5.    Motivate People
6.    Communicate Face-to-Face
7.    Measure Working Software
8.    Maintain Constant Pace
9.    Excel at Quality
10.   Keep it Simple
11.   Evolve Designs
12.   Reflect Regularly
Sprint




         Task Board
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 based
                              Media Server – CDN based
                               Media Server – CDNCDN
                                   Media Servers – based
                                            based

                                      CDN: content delivery networks
3rd Party Web Services


                                        * 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



Security            Windows




Network             Mobile


           Smart
           Client
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.in
        Web: http://logic8.in/

Latest trends in information technology

  • 1.
    Latest Trends in the IT Industry
  • 2.
    Cloud Computing Mobile Applications AGILEMethodology – SCRUM N-tier architecture Java vs .NET  Object Oriented Design and its Relevance
  • 3.
    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
  • 4.
    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 **
  • 5.
  • 6.
  • 7.
  • 8.
    Social Networking –already on Cloud
  • 9.
    Mobile Applications What isa 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?
  • 10.
  • 13.
    Waterfall to AGILE
  • 14.
    SDLC – SoftwareDevelopment Life Cycle
  • 15.
    SDLC and theDevelopment Models • Waterfall model (traditional) • AGILE development methodology (fairly new)
  • 16.
    Success Rate of IT Projects?
  • 18.
    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
  • 19.
  • 21.
    Agile Principles 1. Satisfy the Customer 2. Welcome Change 3. Deliver Frequently 4. Work as a Team 5. Motivate People 6. Communicate Face-to-Face 7. Measure Working Software 8. Maintain Constant Pace 9. Excel at Quality 10. Keep it Simple 11. Evolve Designs 12. Reflect Regularly
  • 22.
    Sprint Task Board
  • 23.
  • 24.
    Release Planning Plan featuresin sprints and releases Releases depend on accepted sprints
  • 25.
    N-tier architecture * N-tierVs N-layer ? 3-layer architecture
  • 26.
    True N-Layer ArchitectureExample Media Server – CDN based Media Server – CDN based Media Server – CDNCDN Media Servers – based based CDN: content delivery networks 3rd Party Web Services * Akamai * Amazon * Reliance Globalcom
  • 27.
    Why Java?  Developmentand 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?
  • 28.
    Why .NET?  Fastturn 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?
  • 29.
    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.)
  • 30.
    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
  • 31.
    Domain Areas Web Security Windows Network Mobile Smart Client
  • 32.
    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
  • 33.
    True Story ofa 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
  • 34.
  • 35.
    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)
  • 36.
    Thank You !! Name: Eldos P. Kuriakose Email: eldospk@logic8.in Web: http://logic8.in/