New Tech for Project Managers

Preview:

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

Recommended