Upload
pk-mallik
View
36
Download
1
Embed Size (px)
Citation preview
P K Mallik
Managing Projects in New
TechnologiesImpact on Management and Planning
P K Mallik
Topics• A Brief History• Project Life Cycle• Architecture
P K Mallik
A Brief History of Technology
1960-1980• Mainframe via
terminals• Limited
Connectivity• Proprietary
Systems
1980 – 1990• UNIX makes
computers affordable
• Personal computing is born
• Local Area Networks
1990 – 2000• GUI and OOAD• Internet is born• RDBMS’s take
off• Web servers
2000-2005• Internet takes
off • Commercialisa
tion of Information
• ERP and CRM become standard
• Middleware
2005-2010• Mobile
Technologies• Open Source• BI/DW• WiFi• 3G
2010 – Till Date• Cloud• Social Media• Big Data• Gamification• Internet of
Things• Keyboard??
Character based UILimited Access
Multi Line screensGamingCost ReductionOffice Productivity
MultimediaEmailSearch
HTMLPortalsCollaboration
TouchSharingGPSGames Consoles
Social NetworksGesture ControlAutomationPrivacy
P K Mallik
Managing Technologies• Roles and Responsibilities• Project life cycle• Planning constraints• Solution Modelling• Risk profile• Dependencies
P K Mallik
Roles and Responsibilities
SA TABA Dev Test
Requ
irem
ent
sDe
sign
Build
Scope definition
Business Needs
Process flow
Architecture
Non functional
High level Design
Technology sel
Feasibility
Benchmarking
Verification
Clarifications
Elaboration
Proof of Concept
Prototypes
Functional Prototypes
Acceptance Criteria
Test Scenarios
Test Plans
Technical Design
High level Design
Coding Standards
Non functional requirements
Change Controls
Impact Analysis
Reviews
Coding and TestingCoding and
Testing
Low level design
Testing
Test Cases
Functional and Non-
Functional Testing &
Automation
1980 to 20001980 to 1995
1995 to 2005
P K Mallik
Project Lifecycle
Management
Requirements
Design
Build
Test
M1 M2 M3 M4 M5 M6 M7 M8 M10
P K Mallik
Planning Constraints• Gap between required and available skill levels• Start up lag = training time• Productivity discount in first 3 weeks
• Lead time for operationalising environments• Basic technology• Development Platform• Toolsets• Network• Security
• Sanity Check for Milestones• Inverse Plan (do you end up in the past?)• Planning for Failure
P K Mallik
F5
Traditional Modelling
F1
F2
F3
F4
T1 T2 T3 T4 T5 T6 T7
Technologies
P K Mallik
F5
Agile Modelling
F1
F2
F3
F4
P1 P2 P3 P4 P5 P6 P7Businesses/Products/Services
P K Mallik
Risks• Technical
• How new is the technology• How good is our expertise• Approach:
• do early PoC for high risk items• do not buffer
• External• What are the interfaces• Who is responsible (client/3rd Party)• Approach:
• create facades• apply pressure on other parties• add testing of 3rd party components in
plan
Risk
Dependency Capability Obsolescence
Decouple
Plan for stubs
Plan to create data
Plan for failure
Plan for training
Hire temps
Change technology
Assign responsibility
Plan as late as possible
Change technology
Monitor regularly
P K Mallik
Removing Dependencies• Technology • Component sequencing – use stubs• Managing variations – use inheritance• Base components – use templates
• Resourcing• Capability – provide training• Skill fragmentation – develop multiple skills• Expertise – short time hire/support
P K Mallik
Architecture
P K Mallik
Structured DataContentDistributionMiningPerformance
ApplicationsProductsToolsInterfacesMapping
Architecture Overview
Enterprise Architecture
Business
ApplicationDe
ploy
men
t
Information Technical
Organization StructureBusiness Needs
Operations and Locations
O/SMiddleware
InstrumentationIntegration
FailoverScaling
PatternsDistribution
InfrastructureBenchmarks
Disaster Recovery
Business Analyst
Solu
tion
Arch
itect
Info
rmati
on
Arch
itect
Technical Architect
Infrastructure Expert
P K Mallik
Architecture Types• Types• 3 Tier• SOA• Event Driven• High Throughput
• Management implications of each
P K Mallik
Layers and Tiers• Layers are the logical groupings of the software
components that make up the application or service.
• They help to differentiate between the different kinds of tasks performed by the components
• Tiers represent the physical separation of the presentation, business, services, and data functionality of your design across separate computers and systems. • Common tiered design patterns are two-tier, three-tier, and n-tier• Having 3 directories does not make an application 3 Tier
P K Mallik
Three Tier• Default type and most commonly use• Applies the Model View Controller Pattern• Model
• Encapsulates Application State• Responds to Queries• Exposes Functionality• Notifies Changes
• View• Renders models• Requests for updates• Sends user actions to controller• Allows selection by controller
• Controller• Defines application behaviour• Maps user action to model updates• Selects view for response• Separate for each functionality
P K Mallik
3 Tier Modelling
Data Layer
Business Layer
Db Server OLAP DbContent Server
User Interface LayerWeb Client App 3rd Party
CRM Content Workflow
Interface
BPM
Member Registration
P K Mallik
Management Implications• Tends to create dependencies between layers (as each layer
has a separate skill)• Try to assign the task to the dominant skill requirement
• Skill requirements are not uniform and this leads to a lot of idle time• Reduce the number of specialists – schedule expert requirements
in advance • Ambiguity as to which requirements are met by which layer
leading to skill mismatch• Have an early architecture session to finalise which layers are
responsible for what to determine skill requirements• Pilot a small piece of development to ensure the approach is
feasible and efficient
P K Mallik
Service Orientation• Provide a set of services rather than interfaces to external applications• Ability to monitor and manage the resource usage by services• Ability to allocate system resources based upon simple rules• Service has a contract – key elements of that contract. Same service
can have multiple contracts• Who can call• For that caller, what it need to pass• For that caller – what will be response• When caller can expect response• What will be communication channel
• Operates on a publish-subscribe model• May be aligned with commercial models which require specific usage
data to be maintained
P K Mallik
Management Implications• Identifying service structure• Large number of service management
components• No process flow• No front end – Need for extensive test
stubs• Performance and scalability Vs flexibility
Application
Services
Management
Commercials
Application Services
Man
agem
ent
Com
mer
cial
s
Application ServicesM
anag
emen
t
Com
mer
cial
s
Enterprise Bus
P K Mallik
Component 1
Event Driven• Used where the system is part of a partially or fully
automated operation or a real time loop• Operates on a throw—catch model• Usually built in a single tier with interfaces with other
systems for Human Machine Interface (such as mobile alerts, emails)
• Decouples application and component interfaces• Internal interfaces through components raising and
processing events• Typical example would be system monitoring and
management• Standard approach for communicating with
Asynchronous processes
EventRaise
Input Component 2
Catch
Event Handler Thread
Main Thread
AsyncEvent
Generator
P K Mallik
Management Implications• Part of a larger system• Design as black box components• Should use white-box testing• Testing as large part of effort
• Should be decoupled at design stage• Should be planned as a separate unit
P K Mallik
Cloud Computing• Hosted environment provided by vendors for
• Web Sites• Databases• File Services• Images and Videos
• Removes need for administrating site and managing scaling
• Different architectural components may be deployed on different clouds
• Provides elasticity in capacity building and management
• Commercials depend upon nature of site and type (public/private) of usage (Rate Controls)
• Private clouds help reduce capital budgets with shared services
• Typical Usages• Mobile Applications• Customer Services• Business Intelligence
P K Mallik
Cloud Migration
Ow
ners
hip
Management
Client
Provider
Prov
ider Client
SAAS IAAS
PAAS Non Cloud
Port
Re-Architect
Outsource
P K Mallik
Management Implications• Main pattern – Multi Tenanted Apartment• Planning and Scheduling is similar to web applications• Test plans must cater to possible variations• Single test suite for all clients
• Need to support multiple versions – in code version control, additional testing• Deployment management is critical – need integrated
tools
P K Mallik
High Throughput• Used in high volume mission critical systems• Relies on high volume in-memory processes• Single tier or two tier architecture depending upon degree
of human intervention• None or minimal disk IO to maximise performance. Uses
buffered storage on separate servers• Typical uses• Bank Transactions• Telecom Logs• High Frequency Trading• Fraud detection
Application
Input Queue Interfaces
P K Mallik
Management Implications• Requires very robust and stable system• Functionality is typically less than 20% of cost• Needs hardware capable of extrapolating to production
environment• Software licenses can be very expensive• Testing effort can be over 60% of total effort
• System Maintainability is critical to deployment• Short Maintenance windows• System should be capable of ‘live-patching’• Multiple versions may run concurrently• Devops is key to project success
P K Mallik
New Technologies
P K Mallik
No SQL Databases• No SQL databases support
unstructured data by replacing RDBMS concept of row with ‘Document’(Mostly JSON)• Schema is not enforced by
database, consuming applications are expected to deal with structure• Data is mostly distributed
across some kind of network file system• Every piece of data has
(Minimum 3)
Conceptual View of NO SQL
Node1 Node 2 Node n
P K Mallik
Virtual DatasetNode1 Node 2 Node n
Master ControllerNode
Map
Reduce
Map Reduce Architecture• Map-Reduce architecture is built
for handling terabyte – petabyte data load using cluster of cheap commodity nodes
• Algorithms are expressed as two functions. Map function travels over network where data resides and applies on data
• Final results are combined back using reduce function
• Our own IP – Data Extraction Platform (DEP) is built using Map-Reduce which provides grid scale capability to handle massive data loads
P K Mallik
Analytics• Operates on large volumes of data• Use of a number of sophisticated algorithms for• Predictive Analytics• Classification• Segmentation• Risk Profiling• Sentiment Analysis
• Algorithms based on Fractals and Game Theory• Used in conjunction with, but not to be confused for Big
Data
P K Mallik
Mobile Applications• Applications of this type can be developed as thin client or rich
client applications. • Rich client mobile applications can support disconnected or
occasionally connected scenarios. • Web or thin client applications support connected scenarios only
P K Mallik
Emerging Trends
P K Mallik
Internet of Things
P K Mallik
Big Data• “Every day, we create 2.5 quintillion bytes of data — so
much that 90% of the data in the world today has been created in the last two years alone. This data comes from everywhere: sensors used to gather climate information, posts to social media sites, digital pictures and videos, purchase transaction records, and cell phone GPS signals to name a few. • This data is “big data.”
P K Mallik
What is Big Data?• Big Data is the amount of data that is beyond the storage
and the processing capabilities of a single physical machine• It spans three dimensions:• Volume• Velocity• Variety
P K Mallik
Gamification• the use of game design principles and mechanics in non-
game contexts • making technology more inviting by encouraging users to
engage in desired behaviors • The integration of Game Dynamics into your site, service,
or community.
P K Mallik
Social Media
Consumer generated media It is media that is designed to be shared, sharing means that it is easy to comment on, that it is easy to send, there are no costs associated with viewing the media and last but not least it is always available
Social media enables people to share information with friends and colleges using the Internet
Social Networking is the use of communities to engage with others: Facebook, MySpace, LinkedIn, Twitter. Social Networking sites often include social media tools to facilitate the interaction and conversation
P K Mallik
Wearablesbody-borne computers or miniature electronic devices that are worn by the bearer under, with or on top of clothing
P K Mallik
TrendsWhat to look out for
P K Mallik
Changing Face of Computing• Social Media Vs Portals• Push instead of Pull• Engagement Vs Throughput• Vanishing Keyboard
P K Mallik
Social Vs Portals• Interaction to Collaboration• Transaction to Knowledge • Status to Events• User Single View to 360 degree view• User desktop• Community driven App space
P K Mallik
Push instead of pull• AI driven notifications• Most suitable device
P K Mallik
Engagement Vs Throughput• Stickiness to Gamification• Peripheral or secondary use• Reveal more information• Usage analysis
• Cross Sell/Upsell to Lifetime Value• From selling process to participating in buying journey
P K Mallik
Vanishing Keyboards• Touch increasingly becoming default• Voice gaining popularity• Thought control
P K Mallik
Thank you