IT in the Real World A look at IT in a Fortune 500 company Ed Nelson.

Post on 01-Apr-2015

213 views 1 download

Tags:

transcript

IT in the Real IT in the Real WorldWorld

A look at IT in a Fortune 500 A look at IT in a Fortune 500 companycompany

Ed NelsonEd Nelson

OutlineOutline

I.I. Description of the technical Description of the technical environmentenvironment

II.II. Descriptions of 3 problemsDescriptions of 3 problems

III.III. Solutions for the 3 problemsSolutions for the 3 problems

IV.IV. Tips on getting ahead in the IT Tips on getting ahead in the IT industryindustry

Part IPart I

The Technical EnvironmentThe Technical Environment

Goals of ITGoals of IT

Keep production software running Keep production software running 24/724/7

Add new code to production Add new code to production software when Business Analyst asks software when Business Analyst asks for changefor change

ApplicationsApplications

Web-based applicationsWeb-based applications End-user uses a browser to open a web End-user uses a browser to open a web

page page Like Black BoardLike Black Board

Client/Server applicationsClient/Server applications Part is installed on user’s PC (client)Part is installed on user’s PC (client) Part exists on larger computer (server)Part exists on larger computer (server)

Application DiagramsApplication DiagramsWeb Applications

Web Browser (Users PC)

Web Application Server

Database Server

Business Logic Server

N-Tier Client/Server App

App Client (Users PC)

Application Server

Database Server

Multiple computers are involved in Production environments.

Technical LandscapeTechnical Landscape

Three EnvironmentsThree Environments Development EnvironmentDevelopment Environment

Where programmers first make code workWhere programmers first make code work Test (QA) EnvironmentTest (QA) Environment

Code handed off for testingCode handed off for testing Tests simulate actual use conditionsTests simulate actual use conditions

Production EnvironmentProduction Environment Code becomes visible to end-usersCode becomes visible to end-users Code used to perform business functionsCode used to perform business functions

Quotes, claims, etcQuotes, claims, etc

My Three EnvironmentsMy Three Environments Minimize risk to Production EnvironmentMinimize risk to Production Environment

New or untried code starts in New or untried code starts in DevelopmentDevelopment code is tested by developers herecode is tested by developers here

Code moved to Test (QA) nextCode moved to Test (QA) next code is shown to be worthy code is shown to be worthy OROR code is sent back for more developmentcode is sent back for more development

Code will never fail in ProductionCode will never fail in Production

ComputersComputers

Hundreds of computersHundreds of computers Mixture of Operating SystemsMixture of Operating Systems Internal networkInternal network External (Internet) connectionsExternal (Internet) connections Multiple versions of software Multiple versions of software

multiple versions of OSmultiple versions of OS multiple versions of “off the shelf” multiple versions of “off the shelf”

productsproducts multiple development languagesmultiple development languages

PeoplePeople Team size varies from 100+ to under Team size varies from 100+ to under

1010 Teams vary in functionTeams vary in function

developers for each applicationdevelopers for each application test (QA) engineerstest (QA) engineers Build ManagersBuild Managers Release ManagersRelease Managers DBAsDBAs Operational SupportOperational Support

The Point is…The Point is…

Goal: Software runs 24/7Goal: Software runs 24/7

Goal: New functionality when neededGoal: New functionality when needed

Constraint: Quality must be highConstraint: Quality must be high

Constraint: Time (shorter is better)Constraint: Time (shorter is better)

Constraint: Money (good return on $$ Constraint: Money (good return on $$ spent)spent)

All this in a complicated environment…All this in a complicated environment…

Part IIPart II

Three ProblemsThree Problems

Problem 1: Problem 1: CommunicationCommunication

Miscommunication leads to wasted effortMiscommunication leads to wasted effort Under communication is miscommunicationUnder communication is miscommunication

Causes of miscommunicationCauses of miscommunication Most IT people are introverts Most IT people are introverts Each team develops its own jargonEach team develops its own jargon People in each team have their own, unique People in each team have their own, unique

understanding of the tech. environmentunderstanding of the tech. environment

Problem 2: Failure to Problem 2: Failure to PlanPlan

Inadequate planning for any changes that Inadequate planning for any changes that are made.are made.

Result: Result: Wasted effort Wasted effort

Effort expended at wrong timeEffort expended at wrong time

““Ripple effect” -- other projectsRipple effect” -- other projects

Inefficient use of people’s Inefficient use of people’s effortsefforts

Problem 3: Process Problem 3: Process BreakdownBreakdown

Process: The established ways in Process: The established ways in which the company does its work.which the company does its work.

Problem: People don’t always follow Problem: People don’t always follow the process.the process.

Result: Wasted time and effort fixing Result: Wasted time and effort fixing errors.errors.

Not a Problem: TechnicalNot a Problem: Technical

Technical issues largely non-existent.Technical issues largely non-existent.

Why?Why?

1.1. Fine institutions like this one Fine institutions like this one adequately prepare IT practitioners.adequately prepare IT practitioners.

2.2. Companies weed out workers who Companies weed out workers who don’t make the cut.don’t make the cut.

Part IIIPart III

SolutionsSolutions

Solution 1: Solution 1: CommunicationCommunication

Let’s analyze when Let’s analyze when miscommunication happensmiscommunication happens

Solutions to each might suggest Solutions to each might suggest themselvesthemselves

First, what does ideal First, what does ideal communication look like?communication look like?

The Ideal The Ideal

ReceiverSender

1. Sender sends his message.

2. Receiver acknowledges he got the message.

3. Sender asks Receiver to repeat the message.

4. Receiver accurately reflects Sender’s message.

Forms of Forms of MiscommunicationMiscommunication

Assume your message was receivedAssume your message was received Don’t state deadline for requestDon’t state deadline for request Assume listener will draw ‘right’ Assume listener will draw ‘right’

conclusionconclusion Not knowing WHO to talk toNot knowing WHO to talk to Assume “no news is good news”Assume “no news is good news” Use too many wordsUse too many words

Solution 1Solution 1

Make sure your message was receivedMake sure your message was received Make sure your message was Make sure your message was

understoodunderstood Use as few words as possibleUse as few words as possible Be clear as possibleBe clear as possible Include all important factsInclude all important facts

importance of your messageimportance of your message deadline for actiondeadline for action

Solution 2: PlanningSolution 2: Planning

Start making your plan earlyStart making your plan early Expect your plan to be improved as Expect your plan to be improved as

you goyou go Communicate to as many as possibleCommunicate to as many as possible

Over communicateOver communicate Ask “Who else needs to know?”Ask “Who else needs to know?”

Re-use successful plansRe-use successful plans

Solution 3: ProcessSolution 3: Process

Follow the process – alwaysFollow the process – always Enforce the processEnforce the process

Everyone must enforce the processEveryone must enforce the process Ask questions if you are unsure!Ask questions if you are unsure!

Ask managerAsk manager Ask Release ManagerAsk Release Manager

Process is used to minimize riskProcess is used to minimize risk

Part IV: TipsPart IV: Tips

Manage expectations placed on youManage expectations placed on you Manage your ManagerManage your Manager Communicate problems you findCommunicate problems you find When bringing a problem, offer a When bringing a problem, offer a

solutionsolution Be friendlyBe friendly Own your accomplishmentsOwn your accomplishments Help your team matesHelp your team mates

Questions?Questions?