7/28/2019 Intellij Idea Ide
1/12
Maximizing stabilitywith IntelliJ IDEA
The most in te l l igent Java IDE around
7/28/2019 Intellij Idea Ide
2/12
Maximizing stability with IntelliJ IDEA
1
CONTENTS
Introduction: to IDE or not to IDE? 2
Why IntelliJ IDEA 3
HigherComfortandProductivity 3
Detailsmakethedifference 3
Whenaneditorisreallyintelligent 3
IntelliJIDEA:HigherROI 4
ComingInOnTimeandUnderBudget 4
StaticAnalysisEffectiveRemedy 5
RefactoringReduceMaintenanceCosts 6
IntelliJIDEAHowYouCanSellBetter? 7
Conclusion 9
Develop with pleasure 10
Customers 10
Awards 10
References 11
Contents
Copyright2008 JetBrains, Inc.
7/28/2019 Intellij Idea Ide
3/12
Maximizing stability with IntelliJ IDEA
2
Introduction: to IDE or not to IDE?
AccordingtoresearchcompletedbytheStandishGroup[7],onlyonethirdof
U.S.projectsin2004werecompletedontimeandonbudget,withallfeatures
andfunctionsoriginallyspecified.Morethanhalfwerecompletedoverbudget,
late,andwithfewerfeaturesandfunctionsthaninitiallyspecified.Eachsixthto
seventhprojectfailedentirely.
Tomitigatetheserisksandsucceed,oneneedsthemeanstofacilitatethedevel-
opmentprocess,improvecodequalityandlowerthetotalprojectcostofowner-
shipandrelatedexpenses.Andquiteclearly,atthecoreofanysoftwareproject
areitsdevelopersandthetoolstheyuse.
Thetruebelieversofthesoftwaredevelopmentworldactuallyfollowtwoop-
positereligions:
Thefirstcampbelieves: The more experienced your team, the better the results
Thesecondonestates: The better your development tools, the more productiveyour team.
ThisideawasnicelyexplainedtothepublicbyOliverSteele[1],whohaseven
createdagraphicalrepresentationofthesetwopointsofview:
Thispictureverycloselyemulatesreality,butthequestionarises:Why are peo-
ple so rarely ready to compromise?Whydonttheybelievethatcombiningthe
twoapproachescanmaketheproductivitypicturemuchmoreattractive?Just
equipadevelopmentteamofanylevelwithaprofessionaltoollikeIntelliJIDEA
andtheresultwillbeimmediateandcompelling:
Introduction
There are two kinds of people
in the world, those who believe
there are two kinds of people in
the world and those who dont.
Robert Benchley
Benchleys Law of Distinction
US actor, editor, author &
humorist (1889 - 1945)
7/28/2019 Intellij Idea Ide
4/12
Maximizing stability with IntelliJ IDEA
3
Why IntelliJ IDEA
Higher Comfort and Productivity
Details make the difference
WhenspeakingabouthowcomfortabledevelopersfeelwithIntelliJIDEA,ween-
counteraseriousproblemcomfortcannotbemeasured.Howcanoneexplain
inmeasurableterms,forexample,whyonechairismorecomfortableforyou
thananother?Whatfeatureorqualityismoreimportantthananother,andTO
WHATEXTENT?Certainly,itispossibletocompareeachfeaturestepbystep
thisbackismoreergonomic,thatarmisadjustable,theswingingactionhas
anadjustablespring,thishasanadjustablehead-rest,thisisItwouldbegreat
ifsuchadvantageswerefew,easilyidentifiedandeasilymeasured.Butwhatif
therearehundreds?Orthousands?Whatifthecomfortlevelresultsfrommany
smalldetailswhatthen?
IntelliJIDEAscomfortlevelissomethingthatcanbereallymeasuredempirically.
Anditisimmediatelyevident.IntelliJIDEAsimplynevergetsintheway.Itnever
imposesawayofdoingthings.Rather,itunobtrusivelyprovidesintelligentas-
sistanceandsuggestsimprovementslikenootherdevelopmenttool.
When an editor is really intelligent
EachoftheindividualfeaturesinIntelliJIDEAincreasestheuserscomfortand
contributesto productivity,thewayclosertolerancesandfinerconstruction in
amusicalinstrumentpullthebestperformancefromamusician.Ifthedevilis
inthedetails,soistheintelligencethatmakesaBestofBreedIDE.Forexam-
ple,IntelliJIDEAssavvycodecompletions,convenient-to-useintentionactions,
unparalleledcodeanalysistoolsandmanyincrementaleditorenhancements
eachfeatureseparatelyistop-notchinitsclass.ButIntelliJIDEAstruestrength
andunsurpassedadvantageareinthewhole.Beingfusedtogether,itsfeatures
formanorchestraofpowerfulinstruments.IntelliJIDEAmakesthedevelopers
reallycreativeandpullstheverybestfromthemduringdevelopment.
Whatbenefitswillanyteamgainbyusinganintelligenteditorliketheonebuilt
intoIntelliJIDEA?Increasedcomfortandenhanceddevelopmentproductivity,at
minimum.Theresultwillbeimmediateandvisible,aslowerprojectcostsandac-
celeratedtime-to-completion.
Why IntelliJ IDEA
IntelliJ IDEA has enabled us to
use a compact, extremely us-
able development environment
for all our developers without
any additional installation or
customization efforts. By bring-
ing good ideas and patterns
near to our developers, we have
enabled them to learn by doing,
having overall quite impressive
results.
Christopher Semturs
Product Development
OBJENTIS Software
Integration GmbH
IntelliJ IDEA has a very conve-
nient and user friendly interface
and a lot of handy and helpful
features. Its IntelliJence, look
and feel, and speed compared
to the rest of crowd, especially
with IntelliJ 4.0, have been a big
plus.
Chetan Shah
Executive Vice President,
Technology
Synygy, Inc.
IDEA knows everything you
want to do. The product boosts
your productivity immediately andafter that, the more you put into
it, the more you get out of it.
Ken Watts
VP Platform Engineering
Documentum
7/28/2019 Intellij Idea Ide
5/12
Maximizing stability with IntelliJ IDEA
4
IntelliJ IDEA: Higher ROIBesidescomfort,thereisanotherbenefitofIntelliJIDEAanditcanbemeasured.
ThatishowcostefficientitistoownIntelliJIDEA.
Atfirstglance,itmaynotbeobvioushowacommercialproductcanallowacom-
panytosavemoneycomparedtousingfreeproducts.AsBoehmandSullivan
notedin theiranalysisofmodernsoftwareeconomics [5],most ITdecisionsin
theindustrytodayaremadebyfindingtheminimumcostapproachasopposed
tosearchingforthemaximumvaluesolution.Ittakesmorethanremarking,You
getwhatyoupayfor,toovercomethissystemicpredispositiontovalueshortterm
penniesabovelonger-termdollars.
Letustakealookatthestateofprojectsinthesoftwareindustrytoseewhy
thosetemptingshort-termpenniesoftenturnintosurprisinglyexpensivedrains
onproductivityandoperatingbudgets.
Coming In On Time and Under Budget
Detailedprojectanalysisshows[6]thatforasinglesoftwareorganization, the
estimated time to rework code (fix defects and bugs in software) can be as
high as 80% of total project development costs.Doesanybodyplanforsuch
anicredibleexpenseintheirprojectbudgetstorectifymistakes?Ofcoursenot,
butmistakesdocometopassnevertheless.
The2004CHAOSreportfoundtotalU.S.projectwastetobeabout$55billion[8](includinglostdollarvalueandcostoverruns).Totalprojectspendingwas
foundtobe$255billioninthe2004report.
TheU.S.Department ofCommerce[4]reported that theeconomicconse-
quencesofinadequatesoftwarequalitymanagementpractices,namelytest-ing,amountedto$59.5billionwastedperyear.
Thenumbersaresimilar,arentthey?
Why IntelliJ IDEA
IntelliJ IDEA will save you time
and money. For developers,
IDEA promotes the rapid cre-
ation of clean, reusable, and
well documented code. For
managers and architects, IDEA
makes it possible to quickly nav-
igate, review, and refactor code
projects large and small.
Mike Sick
VP Development
UserMagnet, Inc.
From a business point of view,
the cost is very attractive. Not
free, but at a really good price
point that immediately offers a
very apparent ROI.
Bruce Kratz
Director, Engineering East
HP Web Services Management
Organization
7/28/2019 Intellij Idea Ide
6/12
Maximizing stability with IntelliJ IDEA
5
Itisobviousthatmistakesinthetestingprocesscangiverisetomonstrousre-sultsallthewayuptototalprojectfailure.
AsoriginallynotedbyBarryBoehm,the defect repair cost increases by a fac-
tor of ten for each successive stageofdevelopment.Adefectthatcostsone
hourtofind,fix,andretestinunittests,wouldcosttenhoursinthenextstage,
100hourstwostageslater(systemtest)and1000hoursaftershipping.
Withsuchexponentialincreases,weshouldhardlywonderattheastronomical
costsofoverruns!
Fortunately,SoftwareEngineeringhasinitsarsenalvariousefficientmethodsto
dramaticallyreducesuchnoticeableoverhead.IntelliJIDEAcontainsmanycost
reductionfeaturesthatcomestandard.Furthermore,themakersofIntelliJIDEAwerethefirsttorealizetheimportanceofsuchfeatures,implementthemina
product,andintheprocesscreatewhatisconsistentlyreferredtoastheindus-
trysleadingJavaIDE.
Static Analysis Effective Remedy
Staticanalysis(codeinspections)isasetoftechniquesforanalyzingsource
codeandsoftwaredesigns.Itdoesnotrequirethesoftwaretobeexecutedto
produceresults.AsKhaledElEmamshows[2,3],theaverageeffectivenessof
inspections(inproportiontodefectsinthecodethatarefoundduringinspection)
is57%.Thismeansmore than half of the defects in the code can be found
using inspections. According toKhaled ElEmam, code inspections allowone to reduce any project cost by 35-40%(andalsoraisecodequalityand
reduceriskofprojectfailure)duetotimelylocationandcorrectionofdefects,
increasedcodereuse,andhigherdevelopmentproductivity.
Thefigurebelowshowsthesequenceofmechanismsthatwouldleadtocon-
cretebenefitsfromtheuseofstaticanalysisfeatures,asfoundinIntelliJIDEA.
IntelliJIDEAistheonlyIDEwithmore than 600 typesofintelligentautomated
codeinspectionsintegratedseamlesslywithinit.Manycompetitorsdonteven
haveinspectionfunctionalities.
Besidesfindingdefects,IntelliJIDEAeasestheproblem-correctionprocessby
Why IntelliJ IDEA
Editors ability to perform
background code analysis al-
lows developers to write code
that compiles and runs correctly
the first time, reducing the time-
consuming edit-compile-debug
cycle.
Gordon Tyler
Software developer
Quest Software, Inc.
Most of our engineers do not
get any errors at all during com-
piling because IDEA catches
them all during editing. The time
we save is remarkable.
Ken Watts
VP Platform Engineering
Documentum
7/28/2019 Intellij Idea Ide
7/12
Maximizing stability with IntelliJ IDEA
6
providingready-to-go improvementsfor themostfrequenterrors.Moreover,apowerfulon-the-flycodeanalysismechanismmakescodeanalysisevenmore
efficient,showingpossibledefectsinstantly.Asaresult,thecodeislesserror-
prone;sothereisnoneedtorecompileitfrequently,whichsavesadditionaltime,
especiallyonlargeprojects.
Staticanalysisresultsinhighercodequality.Aswewillshowbelow,higherprod-
uctqualityalsomakesforincreasedprofit.
Refactoring Reduce Maintenance Costs
Current ITmarket research[9, 10, 11] shows thatcustomization, including
legacy modernization and integration projects, represents more than halfof all software budgets.Averagemaintenancecostsarehigherthandevelop-
mentcosts,andthisexcessespeciallyforcustomsystemdevelopmentcan
turnouttobeamultiplieroftwo,ten,orevenonehundredfold!
ResearchbyRobertM.Leitch[12,13]showedthatapplying refactorings can
reduce software maintenance costs by almost half.
Refactoringisnotsomeesotericprogrammingtechniqueconceivedjustfor
computersciencestudentstoargueaboutwiththeirprofessors.Theproblemsit
solvesareexpensiveandoftenhavestrong,negativeconsequencesforcompa-
niesintermsofcustomerrelations,dataaccuracy,downtime,andcodemainte-
nance.Properlycarriedout,refactoringmakescodelessexpensivetomaintain,
easiertoupdate,morereusableforlaterprojects,andlessconfusingtoother
programmerseitherinotherdepartmentsorwhocomealonglatertoreuseor
redesignit.Forcompanies,thequalitativeROIisimmediateasbugsstopcreep-
ingintocode,cleancodeisproducedfaster,andfewerprogrammershaveto
spendtimecorrectingthemistakesofothers.These savings quickly become
quantitative, as general overall costs go down.
Refactoring enhances architectural flexibility. Refactored code is reduced in
overallsize,soitbecomeslessknottyandcomplex,andbecomeseasiertoread.
Suchcodecanbemoreeasilymodified,extendedandadaptedwithoutrisking
completesystemdisintegration.
Why IntelliJ IDEA
IntelliJ IDEAs powerful refac-
torings coupled with its deep
insight into our code provide
us with the knowledge and the
tools to write new code and
maintain existing code in an ef-
ficient manner.
Gordon Tyler
Software developer
Quest Software, Inc.
IntelliJ IDEA helps us by pro-
viding assistance in the every-
day task of writing code by au-
tomating repetitive tasks in an
intelligent manner and giving
incredible insight into our codes
structure and semantics.
Gordon Tyler
Software developer
Quest Software, Inc.
IDEA is the best tool to use to
learn about code that you didnt
write personally.
Brian Robinson
Senior software designer
HP Web Services Management
Organization
7/28/2019 Intellij Idea Ide
8/12
Maximizing stability with IntelliJ IDEA
7
Foreverydaycoderefactoring,IntelliJIDEAcanbecomeaverypowerfulhelpinghandforanymaturedeveloper,savinginvaluabletimeandresources(savings
whichequatetolowerprojectcosts).
Inthisarea,amongothers,IntelliJIDEAexcels.Itoffersanextensiverefactor-
ingarsenal.Morethan60distincttoolsautomatetimeconsumingandtedious
refactoringproceduresandmakeIntelliJIDEAtheindustrysleadingrefactoring
specialist.In refactoring, IntelliJ IDEA has no equal.
CodingwithatoollikeIntelliJIDEAissafer;itdoesnotletyouproduceincom-
patiblecode,andalwaysprovidesthenecessarywarningstohelpavoidsuch
anoutcome.Moreover,itspowerfulUNDOstack,plussmartLocalHistoryfea-
ture,letsyouroll-backtoapreviousfileversion,takingintoaccountallrelevantproject-levelchanges.AllIntelliJIDEAcomponentsworkasasingle,well-tuned
machine,intotalharmony,aperformancelevelimpossibletoobtainfromany
IDEwithlooselycoupledmodules.
IntelliJ IDEA How You Can Sell Better?
Itiswellknownthatthehigherqualitycodeasoftwarecompanyproduces,the
loweracustomerspost-purchasecosts.Butwhatisntaswellknown,ishow
muchonecanalsosaveintheprocessofproducingbettercode.
Basedondatacollectedaboutsoftwaredefectdensityfromcompaniesatdiffer-
entmaturitylevelsandpublishedbyC.Jones[14],andusinghisownmethod,KhaledElEmaminhissurveyhascalculatedthereductionincustomerowner-
shipcostsasaresultofavendorsimprovedsoftwarequality.
Itwasfoundthatthecosttocustomerslowereddramaticallyassupplierand
softwarematurityincreased.A customers cost reduction between the worst/
average and best-in-class companies, depending on business sector, proj-
ect size, and country, ranged from 53% to 74%!
Thismeansacustomerwhobuyssoftwarefromacompanythatdeliversabest-
in-classproductcuts post-purchase costs by about 70%comparedtothosev
whobuythesametypeofsoftwarefromaworst-in-classperformer,and more
than 50%lessthaniftheybuyonlyanaverageperformer.
Why IntelliJ IDEA
IDEAs refactorings give our
developers the ability to make
structural changes to their codewith the confidence that it will
still compile and run correctly
afterwards.
Gordon Tyler
Software developer
Quest Software, Inc.
IntelliJ IDEA improves both the
quality and predictability of sched-
ules, which improves customer
satisfaction, so it has a positive
effect on the bottom line.
Ken Watts
VP Platform Engineering
Documentum
7/28/2019 Intellij Idea Ide
9/12
Maximizing stability with IntelliJ IDEA
8
Thefactis,companiesthatproducehigherqualitysoftwarelookmoreattractivetothemarket,andnotonlythat,theycanbetterjustifytheirpricesandrates,
becausetheircodequalityprovidesanoverallsavingstotheircustomerssav-
ingsthat,inmanycasesexceedtheactualinitialandannuallicensingcostsof
thesoftware.
AllthesefactorsholdtrueforIntelliJIDEA.JetBrainsdeveloperswritethecom-
panysproductsusinganadvancedintelligentdevelopmenttool(IntelliJIDEA)
sotheyproducehigherqualitycode.JetBrainscustomerswhouseIntelliJIDEA
saveontheirpostpurchasecosts,justasdotheircustomers.
Why IntelliJ IDEA
Were developing enterprise-
level software for financial in-
stitutions, telecoms, and other
large customers who spend
anywhere from hundreds of
thousands to millions of dollars
on our products. Fault toler-
ance, high scalability and non-
stop operation are critical and
our code has to be top quality.
IDEA allows us to produce a
better product, faster and more
efficiently.
Bruce Kratz
Director, Engineering East
HP Web Services Management
Organization
7/28/2019 Intellij Idea Ide
10/12
Maximizing stability with IntelliJ IDEA
9
Conclusion
Intheend,whatdoesitalladdupto?Ontheonehand,byusingIntelliJIDEA
youcandramaticallyreduceyourprojectexpensesandmaintenancecosts.On
theother,youcanbetterjustifyyourserviceratesandproductpricesbecause
youproducebest-of-breedcode.Clearly,yourrevenuewillshootup.Youllsee
theresultsassoonasyoustartusingIntelliJIDEA,andyouhavenothingtolose
butyouroldIDE.
Higherdeveloperproductivityfollowsfromimprovedworkingcomfort.Morede-
fectsaredetectedandcorrectedbeforetheyaffecttheoverallproject.Theresult
ishighercodequality,ashortertime-to-marketperiod,andadditionaldividends
fromhavingagoodreputation.
Canadoptingthebest-of-breedIDEproduceallthesebenefits?YES.Itsaneasy
assertiontoprovesimplyuseIntelliJIDEA,experienceitsbenefits,andyoull
neverlookback.
Conclusion
7/28/2019 Intellij Idea Ide
11/12
Maximizing stability with IntelliJ IDEA
10Develop with pleasure
Develop with pleasure
Customers
More than3000companies, includingmore than100 ofthetop Fortune500
firms,spanningover70countries,nowputtheirtrustinJetBrains.Theyrepre-
sentsuchdiverseindustriesasfinance&banking,automotive,biotechnology,
enterprisesystemsoftwaredevelopment,ITinfrastructuremanufactures,mobile
handsetmakers,fossilfuel& petroleumenergy,andmuchmore.Additionally,
JetBrainstoolsareusedbyuniversitiesallovertheworldtohelpsimplifyteach-
ingandtoencourageimprovedmethodologiesandpracticesinobject-oriented
programming.
Fortune 100
AmericanExpress
BankOfAmerica
CiscoSystems
Citigroup
FORD
FREDDIEMAC/MERRIFIELDWHSE
Hewlett-PackardCompany
GEMedicalSystems
LockHeedMartin
MerrillLynch
NorthropGrumman
Verizon
WaltDisneyWorld
WellsFargoBank
Fortune 500
AgilentTechnologies,Inc.
AlleghenyEnergySupply
Conseco
DTEEnergy
EMC
FannieMae
FirstDataCorporation
Humana
Morgan StanleyCapital International
S.A.
NIKEInc.
Oracle
RaytheonCompany
SunMicrosystems
TribuneInteractive
XeroxCorporationAwards
2007, 2006,2004, 2003 20052005
2008, 2005,2004
2004, 2006 2004, 2003,2002 2003, 2002 2003 2002
7/28/2019 Intellij Idea Ide
12/12
Maximizing stability with IntelliJ IDEA
11
References
OliverSteele,TheIDEDivide,http://osteele.com/archives/2004/11/ides1.
KhaledElEmam:ReturnonInvestmentModelsforStaticAnalysisTools,2.
Klocwork.,2003
KhaledElEmam:TheROIfromSoftwareQuality:AnExecutiveBriefing,3.
KSharpTechnologyInc.,2003.
RTI,TheEconomicImpactsofInadequateInfrastructureforSoftwareTest-4.
ing, Technical Report, National Institute of Standards and Technology
2002.
B.BoehmandK.J.Sullivan,invitedpaper,SoftwareEconomics:ARoad-5.
map, 22nd International Conference on Software Engineering, June,
2000.
Shull,F.,Basili,V.R.,Zelkowitz,M.V.,Boehm,B.,Brown,A.W.,Costa,6.
P,Lindvall,M.,Port,D.,Rus,I.,andTesoriero,R.WhatWeHaveLearned
AboutFightingDefects.InternationalSoftwareMetricsSymposium,Ottawa
Canada.2002.
AnnualCHAOSReport,TheStandishGroupInternational,Inc.,20047.
8 CHAOSChronicles,TheStandishGroupInternational,Inc.,20048.
HowITspendingischanging,McKinseyQuarterly,20049.MorganStanleyCIOSurvey,200310.
IanSommerville,LutzPrechelt,SoftwareEvolution,IanSommerville2004,11.
SoftwareEngineering,7thedition
RobertM.Leitch,AssessingtheMaintainabilityBenefitsofDesignRestruc-12.
turingusingDependencyAnalysis,UniversityofAlberta,2002
EleniStroulia,RobLeitch,UnderstandingtheEconomicsofRefactoring,13.
MacDonald,DettwilerandAssociates,Ltd.,2003
C. Jones, Software Assessments, Benchmarks, and Best Practices:14.
Addison-Wesley,2000.
Develop with pleasure