SlideShare a Scribd company logo
Technical Debt
Java Code Audit -> Fix
Expertise of Tejasoft
Agenda
• Introductions
  •   About Tejasoft
  •   About Founder - Nagendra
  •   Our Clients
  •   Cost Savings for our Clients
  •   Technology & Tools Expertise
• Case Studies
• Tejasoft Engagement Values
  • Concerted Management & Execution – Being partner to client’s
    product goals
  • Our Typical Engagement Model
About TejaSoft
Bangalore based company into ‘Specialist Product Services’ since 8 Years
 • Founder has worked in the past with Sun Microsystems as Portal Architect and has 2 US
   Patents and Nokia Asia award of S$50,000
 • Team of 10, hands-on coders with sr. team having experience of close to 20 years
 • We stand for ‘Least Cost of Engineering Maintenance’
Our Services
 •   Code Optimization (Clean Code Java Engineering)
 •   Performance and Scalability Engineering
 •   Build and Release Automation
 •   Technology Adoption/Transformation Excellence
 •   Architecture, Design and Code flexibility
 •   Refactoring & Unit Testing
 •   High Value Team Building , with Commodity Resources
 •   People, Culture and System Transformation
Expertise in elimination of Technical Debt from 11+ million lines of Java Code
About Founder - Nagendra
M.Tech from Anna University, Chennai

Code Quality Architect with expertise of handling
 • more than 11+ million lines of java code
 • worked with team of 1000+ on consulting model
Worked as Portal Architect at Sun Microsystems

Has US patents and awards in the area of Software Optimisation

Expertise in entire Java Stack

In the past worked at
 • DRDO
 • LG Soft
 • Satyam Infoway
 • Sun Microsystems

In the roles of Technical Manager, Product Architect, Technical Lead
Our Clients
NDS (www.nds.com) – World No:1 in SetTop Box Software Stack


IRCTC, through Broadvision (www.broadvision.com) - World No:1 Railways


Logix (www.logixworld.com) – One among the Top 5 Brands in US Auto Domain Software Products


ZoomIN (www.zoomin.com) – India Number 1, Online Photo Prints Company


Erasmic (www.erasmic.com)


Nuware (www.nuware.com)


Small Device (www.small-device.com is now acquired by www.digitalchocolate.com)


Faces.com
Cost Savings for the clients
 US $1 Million year on year to NDS (Embedded Java)
  • Reduced Set-Top Box EPG Footprint by 500kb i.e 30% of original size
  • Single Source Build Architecture for diverse client customization needs
 US $150k per day, extra business to IRCTC (Web and Mobile)
  • Built and Deployed Scalable Web Services and Payment Integration for IRCTC
  • Sales have grown from 6,000 tickets a day to 4 lakh tickets a day, of which 1 Lakh tickets
    are getting sold through our code

 US $750k per year to Logix Microsystems (Portal, CMS and Analytics)
  • Reduced the Engineering Team by 20 people
  • Reduced Code Size by 2 Lakh lines
 US $250k per year to Small Devices (Mobile)
  • Built a Strong Mobile team, from 3 to 70 resources with commodity resources
  • OOAD Porting Architecture to eliminate device specific code branching
  • Eventually this company got sold to US DigitalChocolate due to Quality of results
Technology & Tools Expertise
              Big Data, Google App Engine, Hadoop, Cassandra,
Entire Java
Stack, any
              JavaEE, Spring, JPA, JDO, Hibernate, Portals (Liferay), CMS (Alfresco), BI Analytics (Pentaho, Jasper),
Domain        Work Flow & BPM (Intalio), ERP (Compiere), OptimizeIt, JProfiler, JPDA, Weblogic, Web Sphere, Struts,
              Guice

              Mobile JavaME, Android, Blackberry



              Ant, Maven and Gradle Build Automation



              JUnit, TestNG, JMock, BDD, DSL’s, JMeter, Saahi, Selenium, Load Runner, QTP



              Any other Java Open Source and Closed Source Technologies..



              Code Metric Tools – MaintainJ, SonarJ, Restucture 101 and many more Open and Closed Source Tools
Case Studies
At IRCTC
Indian Railways Portal www.irctc.co.in is web interface for worlds No: 1 railway in the world (Indian Railways)

 • Issues                                                      •   Solution
                                                                     • Engineering Process
      • Performance, Scalability and reliability                             • Source code was identified from 25+
        issues, were not able to keep the                                      sources
                                                                             • Put in place Build and Version System
        portal 24x7 (had several service                                     • Code Reviews
        breaks)                                                              • Defect Tracking System
      • New feature addition was difficult                            • Provided
                                                                             • Refactoring and test automation
      • Web version, not supporting mobile                                     services to their existing portal code
        interfaces                                                           • Design and implementation for
      • Difficulty in release management --                                    exposing the IRCTC business securely
                                                                               though web services
        Identifying the source code for the
                                                                             • On-site (Delhi) and Offsite model with
        production release                                                     clear process defined and followed.
 • Approach                                                                  • JUnit Tests to measure Web services
                                                                               scalability
      • Owned Code & Team                                             • Now
          • Modules Payment Gateway                                          • They sell 100k+ tickets per day online
              Integration                                                      as opposed to stressed to sell 5000
                                                                               per day.
          • Web Services
                                                                             • Mobile applications and Bank ATM’s
      • Code Engineering – Refactoring, Unit                                   are depending on these web services
        testing Automation                                                     code to sell the Train tickets (ngpay,
                                                                               mChek).
      • Migration to New Technology Strategy
        & Implementation
At Logix
Logix is a top 5 Auto Domain OEM Software vendor, Has 600+ clients on SaaS model, 10+ Products and 400+ team

 • Issues
                                                               • Solution
    • High Increase in Hardware needs to run                    • Reductions
       SaaS for improving performance                             • 15 lakh lines of code to 10 lakh lines in a year
    • High number of known defects                                • Hardware from 30 to 5 machines
    • Adding new client would become a big                        • Team from 20 people to 8 people
       project                                                    • Zero Production time Bugs
                                                                  • Overall maintenance cost reduced by 50% in a
    • Close to 80% product revenue re-                               years time ($750k)
       invested into maintenance, performance                   • Engineering & Existing clients Transformation
       & reliability issues                                       Strategy was provided
    • Obsolete tools & technology                               • Technology adoption Road map for the New Version
                                                                  of the product was put in place
    • Management concerns over loss of sales
                                                                • A Portal Based Architecture and Design was
       and giving a way for competition                           provided
 • Approach                                                     • Enable system with Enterprise Engineering Process
      • Observe engineering activities at engineer’s,             and Tools
        designer’s, architect’s & manager’s level.              • Object Oriented Build System (OOBS)for Continuous
                                                                  Deployments with minimal human intervention
        Have 1:1 meetings
                                                                • Timely Code Metrics Collection
      • Design and Architecture Review of 3 of their
                                                                       • Live Refactoring and Unit Testing
        products
                                                                       • Clearly identify Systems Integration points
      • Identify Legacy Code and Comments                                 and Automate Updates
      • Multi Tenancy approach at Database and
        Application Level
At ABB
 ABB tasked KenIT to build a product (Vendor Payments Reconciliation) which collects huge business data from
SAP and to allow further business work flow though web interface. This product was to be delivered in a years time
                                              by a team of 8 people
                                                            • Solution
 • Issue
                                                                • Worked with multiple teams for
     • Product gestation was taking long time
                                                                  SAP, Web, ABB teams to solve last
       close to 2 years and was still not out
                                                                  mile integration & delivery issues
     • High Performance and Scalability issue
                                                                • Product got accepted and signed
       of Portal
                                                                  by client with in 4 months our
     • Client did not accept the delivery as                      engagement.
       SAP and Web Data were not matching
                                                                • Product was able to scale to 100
 • Approach                                                       concurrent users from previous
                                                                  10 users with 3 times faster
     • Automate Manual Tasks
                                                                  response
         • Reduce people dependency
                                                                • Enabled a culture of inter team
     • Account People for Objectives than                         trust and accountability
       tasks for Last Mile Results
     • Hand Hold team when needed
     • Owned Architecture and Design
       Decisions
At NDS
 NDS is a world leader with ~40% market share in TV SetTop Box market, 3000+ employees, recently acquired by CISCO

                                                          • Solution
• Issues
                                                           • Documented issues & observations
   • 5 lakh+ lines of Embedded Java Code: Had                • Identified 86 structural design, coding &
      become complex to maintain and release                   architectural issues
        • 30+ versions of EPG code – one per                 • Reduce code by 70,000 lines
          client, 500+ people team globally                  • Shared findings with the NDS team & got
        • With a sales target of100 clients                    their buy-in
          management could not afford as many              • Design/Coding
          teams                                              • Common Source for multiple clients to
• Approach                                                     maximize reuse
                                                             • Code refactoring & unit tests
   • Analyzed code
                                                             • Three long pending “unresolvable
        • Source code Mgmt & repository                        problems” were sorted out
          structure                                          • Reduced binary foot print by 30% (2MB to
        • Defects in their Bug-Tracking Systems &              1.5 MB)
          Feature Lists                                      • Saving of US $1 Hardware cost per box
        • Build Process Maturity                           • Cleaned up the source code repo
        • Reviewed Developers Challenges                     • Brought merges back to trunk
                                                             • Eliminated unnecessary branch replication
        • Code Metrics – LOC, Code Complexity,                 and dead branches
          Structural Analysis
At SD
Small Devices (SD) – Mobile Space 2005 year, angel founded Startup, was focused to excel as porting house for
                                        JavaME based mobile games.
• Issues                                                 • Solution
   • Need to build team from 3 to 100                        • In 9 months the team was built to
     people in a year                                          70 people (from 3)
   • Need for a reliable process for                         • Provided ANT based porting
     porting across mobile platforms                           framework
      • Increase team member’s                                   • Enabled porting by Jr. teams
         productivity                                            • Increased productivity from 1
• Approach                                                          port to 4 ports a week
   • Provide Object Oriented Porting                         • Small device was acquired by US
     Framework                                                 MNC (Digital Chocolate) as a
   • Team Building Responsibility                              reliable porting house
       • Hire, Guide and Hand Hold Team
       • Groom 6 months to 3 years
           junior teams
   • Induce Enterprise Development
     training tools and process
   • Develop Automation Tools
Custom Tools/Refactoring/Work
Areas
• Object Oriented Build Engineering               • Refactoring of Most Pain areas
   •   Re-engineering or migrate existing build      • Legacy code refactoring to give first
       script into Custom Ant Tasks/Maven              level results & evaluation on ROI
       Plugin or Gradle for Global Reuse
                                                  • Test Automation
• Automate
   •   Tools to Identify legacy codes at build
                                                     • Build functional, unit testing around
       time and based on certain clients               legacy code and pain areas, beyond
       business rules                                  what is existing
   •   Tools to Identify process and developer       • Provide feedback on refactoring's
       pains (manual areas) and bring out              for ‘Code Simplification’
       custom monitoring metrics
   •   Tools to uncovered test automation areas
                                                  • 3rd Party ‘Code Audit’
       based on bug and feature patterns             • Do independent code review and
   •   Tools for Automatic metrics collection           bring the key areas of ‘Code Stress’
       related to misuse of existing metrics            which when addressed can mean
       products within clients context                  huge ROI
   •   Code Branches reports                      • Non-Intrusive/Non-Offending changes
   •   Hardware and Software - IT Waste and IT      in Culture, Process and Technology
       Rework reports
                                                     •   Our views and results always set new and
                                                         non-traditional bench marks
Learning's
• NFR (Non Functional Requirements –
  Scalability/Performance/Reliability/Maintainability…) should not be left for Last
  Mile
• Lack of clean Code Java Engineering/Code Quality Architect within IT roles
• Enable design for features and variances instead of accommodating them as
  bugs
• Tools & Technology are talked & hyped however lack of will and commitment to
  adopt
   •   Maintain Status Quo Strategy
   •   Good design & coding is important for product longevity
   •   Lacking product mindset induces short term patch behavior
   •   Unit Testing/Refactoring’s not adopted appropriately
   •   Investment in developing tools for routine work not followed by developers
• Code & Practical Engineering is followed as a process than with a purpose
• Ignore obvious due to Time and Process Pressures
Engagement Values
Typical Engagement Model
• Nagendra & Management Expert would get directly involved in the
  project
  • Enable a strong foundation & commitment for long term relation while
    proving in the short/medium term
  • Ensure delivery commitment, accountability & ownership
  • As design & clean code architect ensure high quality & end-end working
  • Hands on relationship engagement, people & project management
  • Eliminate typical vendor management pains like
      • Non productive escalations
      • Follow-ups on performance/skill gaps/interviews
      • Task based Accountability - as against Result based
  • Manage attrition impacts on costs/timelines/knowhow at no extra cost to
    clients
  • Ensure timely project feedbacks from/to client for effective communication
Typical Engagement Model (cont.)
• Build a Team – Augmented to the current team or Own few lakh lines of
  code
  • Build & Actively Mentor a small team with technical, soft skills and
    product/domain knowledge
  • Structure the Code Engineering aligned to the engineering releases.
  • Enable professional team linkages between the Automation & client’s core
    engineering teams with minimal handholding
  • Protects client’s management & engineering investment
      • Tool/System/Domain ramp up time 1-2 months
  • Allows a basis to increase additional team members for Automation or for
    other projects
  • The team/members can be transferred to client or we can use clients existing
    team
Concerted Management & Execution – Being partner
to client’s product goals
• Account Engagement
                                                Team Communication
  • Work with client’s Management to
    understand/align with clients business          Regular meetings for project alignment
    & people goals & become their trusted           Timely & effective communication to
    execution partner                                client Management, Reviews, Feedbacks
• People Management                             Architecture/Design/Code/Test
  • Hiring, Team Building, Technology,              Design/Code Quality, Audits
    People and Communication skills,                Engineering process to reduce IT Waste &
    Training on the job                              Rework
• Product Management                                Effective Tool Usage
  • Understand product goals                        Structure Release Process
  • Enable team structure/alignment to          Technology Research for Biz Value
    meet above                                      Adopt best-in-class technology and
• Project/Process Management                         framework for development, code
  • Understand client’s project/process              management, testing
    management                                      Identify invention disclosure and
  • Bring best practices for effective               patentable ideas for client
    project management
Thank You
Ad

More Related Content

What's hot (20)

Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
zslmarketing
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
Ranjana biswas resume
Ranjana biswas resumeRanjana biswas resume
Ranjana biswas resume
Ranjana Biswas
 
Lessons learned in building a model driven software factory
Lessons learned in building a model driven software factoryLessons learned in building a model driven software factory
Lessons learned in building a model driven software factory
Johan den Haan
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
slides_teltools
 
Enabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise TransformationEnabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise Transformation
DevOps for Enterprise Systems
 
Ugif 04 2011 ibm informix genero offering v12
Ugif 04 2011   ibm informix genero offering v12Ugif 04 2011   ibm informix genero offering v12
Ugif 04 2011 ibm informix genero offering v12
UGIF
 
Evolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company GrowthEvolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company Growth
SVPMA
 
Service Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise EnvironmentsService Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise Environments
DevOps for Enterprise Systems
 
Mainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live DataMainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live Data
DevOps for Enterprise Systems
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case Study
ADC Austin Tech
 
Dbydx profile
Dbydx profileDbydx profile
Dbydx profile
Nitin Verma [[email protected]]
 
Ed Mayer- Getting from Good Requirements to Good Code
Ed Mayer- Getting from Good Requirements to Good CodeEd Mayer- Getting from Good Requirements to Good Code
Ed Mayer- Getting from Good Requirements to Good Code
Scott Althouse
 
3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal
IBM
 
Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...
DevOps for Enterprise Systems
 
Aligning the Fast & the Slow: The Reality of Multi-Speed IT
Aligning the Fast & the Slow: The Reality of Multi-Speed ITAligning the Fast & the Slow: The Reality of Multi-Speed IT
Aligning the Fast & the Slow: The Reality of Multi-Speed IT
DevOps for Enterprise Systems
 
Chess Flyer Ing General Lease (E Lease)
Chess Flyer Ing General Lease (E Lease)Chess Flyer Ing General Lease (E Lease)
Chess Flyer Ing General Lease (E Lease)
Chess iT
 
5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b
IBM
 
Improving safety, efficiency and regulatory compliance via asset documentatio...
Improving safety, efficiency and regulatory compliance via asset documentatio...Improving safety, efficiency and regulatory compliance via asset documentatio...
Improving safety, efficiency and regulatory compliance via asset documentatio...
IBM Danmark
 
Initial Results Building a Normalized Software Database Using SRDRs
Initial Results Building a Normalized Software Database Using SRDRsInitial Results Building a Normalized Software Database Using SRDRs
Initial Results Building a Normalized Software Database Using SRDRs
gallomike
 
Modernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructureModernize your-java ee-app-server-infrastructure
Modernize your-java ee-app-server-infrastructure
zslmarketing
 
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...Software Factories in the Real World: How an IBM WebSphere Integration Factor...
Software Factories in the Real World: How an IBM WebSphere Integration Factor...
ghodgkinson
 
Lessons learned in building a model driven software factory
Lessons learned in building a model driven software factoryLessons learned in building a model driven software factory
Lessons learned in building a model driven software factory
Johan den Haan
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
slides_teltools
 
Enabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise TransformationEnabling z Agility with DevOps and Enterprise Transformation
Enabling z Agility with DevOps and Enterprise Transformation
DevOps for Enterprise Systems
 
Ugif 04 2011 ibm informix genero offering v12
Ugif 04 2011   ibm informix genero offering v12Ugif 04 2011   ibm informix genero offering v12
Ugif 04 2011 ibm informix genero offering v12
UGIF
 
Evolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company GrowthEvolving the Product Management Process to Match Company Growth
Evolving the Product Management Process to Match Company Growth
SVPMA
 
Service Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise EnvironmentsService Testing & Virtualization in an Enterprise Environments
Service Testing & Virtualization in an Enterprise Environments
DevOps for Enterprise Systems
 
Mainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live DataMainframe Application Testing both With and Without Live Data
Mainframe Application Testing both With and Without Live Data
DevOps for Enterprise Systems
 
M3 Modernization Case Study
M3 Modernization Case StudyM3 Modernization Case Study
M3 Modernization Case Study
ADC Austin Tech
 
Ed Mayer- Getting from Good Requirements to Good Code
Ed Mayer- Getting from Good Requirements to Good CodeEd Mayer- Getting from Good Requirements to Good Code
Ed Mayer- Getting from Good Requirements to Good Code
Scott Althouse
 
3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal3 hang on_a_minute-ankur_goyal
3 hang on_a_minute-ankur_goyal
IBM
 
Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...Continuous Integration and Deployment on Rational Development and Test Enviro...
Continuous Integration and Deployment on Rational Development and Test Enviro...
DevOps for Enterprise Systems
 
Aligning the Fast & the Slow: The Reality of Multi-Speed IT
Aligning the Fast & the Slow: The Reality of Multi-Speed ITAligning the Fast & the Slow: The Reality of Multi-Speed IT
Aligning the Fast & the Slow: The Reality of Multi-Speed IT
DevOps for Enterprise Systems
 
Chess Flyer Ing General Lease (E Lease)
Chess Flyer Ing General Lease (E Lease)Chess Flyer Ing General Lease (E Lease)
Chess Flyer Ing General Lease (E Lease)
Chess iT
 
5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b5 challenges in_building_enterprise_mashups-rick_b
5 challenges in_building_enterprise_mashups-rick_b
IBM
 
Improving safety, efficiency and regulatory compliance via asset documentatio...
Improving safety, efficiency and regulatory compliance via asset documentatio...Improving safety, efficiency and regulatory compliance via asset documentatio...
Improving safety, efficiency and regulatory compliance via asset documentatio...
IBM Danmark
 
Initial Results Building a Normalized Software Database Using SRDRs
Initial Results Building a Normalized Software Database Using SRDRsInitial Results Building a Normalized Software Database Using SRDRs
Initial Results Building a Normalized Software Database Using SRDRs
gallomike
 

Viewers also liked (6)

Tech Gig Webex26.03.2012
Tech Gig Webex26.03.2012Tech Gig Webex26.03.2012
Tech Gig Webex26.03.2012
Raja Nagendra Kumar
 
Mobile Single Source Strategy
Mobile Single Source StrategyMobile Single Source Strategy
Mobile Single Source Strategy
Raja Nagendra Kumar
 
IT Services 2.0 - why?
IT Services 2.0  -  why?IT Services 2.0  -  why?
IT Services 2.0 - why?
Raja Nagendra Kumar
 
Mobile Code Optimisation Services
Mobile Code Optimisation ServicesMobile Code Optimisation Services
Mobile Code Optimisation Services
Raja Nagendra Kumar
 
TejaServices 2.0 Model
TejaServices 2.0 ModelTejaServices 2.0 Model
TejaServices 2.0 Model
Raja Nagendra Kumar
 
Eliminate 7 Mudas
Eliminate 7 MudasEliminate 7 Mudas
Eliminate 7 Mudas
Raja Nagendra Kumar
 
Ad

Similar to TejaSoft Code Audit Case Studies (20)

Incluit case studies 3.1
Incluit case studies 3.1Incluit case studies 3.1
Incluit case studies 3.1
IncluIT
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
Dashlane
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk News
ESUG
 
70% Improvement in Service and Product Delivery on Implementing DevOps
70% Improvement in Service and Product Delivery on Implementing DevOps70% Improvement in Service and Product Delivery on Implementing DevOps
70% Improvement in Service and Product Delivery on Implementing DevOps
Cygnet Infotech
 
Atul_T_Biradar_CV
Atul_T_Biradar_CVAtul_T_Biradar_CV
Atul_T_Biradar_CV
Atul Biradar
 
Infopulse presentation
Infopulse presentation Infopulse presentation
Infopulse presentation
HI-TECH_Org_Ua
 
Software Lifecycle
Software LifecycleSoftware Lifecycle
Software Lifecycle
Soumen Sarkar
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution Details
Propix Technologies
 
Banking Software Simulated proposal
Banking Software Simulated proposalBanking Software Simulated proposal
Banking Software Simulated proposal
Imran Fayyaz
 
Managed Services Overview
Managed Services OverviewManaged Services Overview
Managed Services Overview
SVAM International, Inc.
 
Deployment of Juniper Contrail in AVG Technologies
Deployment of Juniper Contrail in AVG TechnologiesDeployment of Juniper Contrail in AVG Technologies
Deployment of Juniper Contrail in AVG Technologies
MarketingArrowECS_CZ
 
Scaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel DevelopmentScaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel Development
IBM UrbanCode Products
 
Sergata Ltd. - Innovative Software Development
Sergata Ltd. - Innovative Software DevelopmentSergata Ltd. - Innovative Software Development
Sergata Ltd. - Innovative Software Development
Tsvika Kleinman
 
Application Migration & Enhancement
Application Migration & EnhancementApplication Migration & Enhancement
Application Migration & Enhancement
Gateway TechnoLabs Pvt. Ltd. (Gateway Group of Companies)
 
Microservices
MicroservicesMicroservices
Microservices
darkofabijan
 
Cabot Technology Solutions Inc
Cabot Technology Solutions IncCabot Technology Solutions Inc
Cabot Technology Solutions Inc
Venkatesh Thyagarajan
 
Web-Services.pptx
Web-Services.pptxWeb-Services.pptx
Web-Services.pptx
ssuserb86385
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs
 
Rushcode overview
Rushcode overviewRushcode overview
Rushcode overview
rushcodeharish
 
End to-End Monitoring for ITSM and DevOps
End to-End Monitoring for ITSM and DevOpsEnd to-End Monitoring for ITSM and DevOps
End to-End Monitoring for ITSM and DevOps
eG Innovations
 
Incluit case studies 3.1
Incluit case studies 3.1Incluit case studies 3.1
Incluit case studies 3.1
IncluIT
 
Continuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at DashlaneContinuous Delivery: releasing Better and Faster at Dashlane
Continuous Delivery: releasing Better and Faster at Dashlane
Dashlane
 
Cincom Smalltalk News
Cincom Smalltalk NewsCincom Smalltalk News
Cincom Smalltalk News
ESUG
 
70% Improvement in Service and Product Delivery on Implementing DevOps
70% Improvement in Service and Product Delivery on Implementing DevOps70% Improvement in Service and Product Delivery on Implementing DevOps
70% Improvement in Service and Product Delivery on Implementing DevOps
Cygnet Infotech
 
Infopulse presentation
Infopulse presentation Infopulse presentation
Infopulse presentation
HI-TECH_Org_Ua
 
Track and Trace Solution Details
Track and Trace Solution DetailsTrack and Trace Solution Details
Track and Trace Solution Details
Propix Technologies
 
Banking Software Simulated proposal
Banking Software Simulated proposalBanking Software Simulated proposal
Banking Software Simulated proposal
Imran Fayyaz
 
Deployment of Juniper Contrail in AVG Technologies
Deployment of Juniper Contrail in AVG TechnologiesDeployment of Juniper Contrail in AVG Technologies
Deployment of Juniper Contrail in AVG Technologies
MarketingArrowECS_CZ
 
Scaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel DevelopmentScaling Continuous Integration Practices to Teams with Parallel Development
Scaling Continuous Integration Practices to Teams with Parallel Development
IBM UrbanCode Products
 
Sergata Ltd. - Innovative Software Development
Sergata Ltd. - Innovative Software DevelopmentSergata Ltd. - Innovative Software Development
Sergata Ltd. - Innovative Software Development
Tsvika Kleinman
 
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
XebiaLabs
 
End to-End Monitoring for ITSM and DevOps
End to-End Monitoring for ITSM and DevOpsEnd to-End Monitoring for ITSM and DevOps
End to-End Monitoring for ITSM and DevOps
eG Innovations
 
Ad

TejaSoft Code Audit Case Studies

  • 1. Technical Debt Java Code Audit -> Fix Expertise of Tejasoft
  • 2. Agenda • Introductions • About Tejasoft • About Founder - Nagendra • Our Clients • Cost Savings for our Clients • Technology & Tools Expertise • Case Studies • Tejasoft Engagement Values • Concerted Management & Execution – Being partner to client’s product goals • Our Typical Engagement Model
  • 3. About TejaSoft Bangalore based company into ‘Specialist Product Services’ since 8 Years • Founder has worked in the past with Sun Microsystems as Portal Architect and has 2 US Patents and Nokia Asia award of S$50,000 • Team of 10, hands-on coders with sr. team having experience of close to 20 years • We stand for ‘Least Cost of Engineering Maintenance’ Our Services • Code Optimization (Clean Code Java Engineering) • Performance and Scalability Engineering • Build and Release Automation • Technology Adoption/Transformation Excellence • Architecture, Design and Code flexibility • Refactoring & Unit Testing • High Value Team Building , with Commodity Resources • People, Culture and System Transformation Expertise in elimination of Technical Debt from 11+ million lines of Java Code
  • 4. About Founder - Nagendra M.Tech from Anna University, Chennai Code Quality Architect with expertise of handling • more than 11+ million lines of java code • worked with team of 1000+ on consulting model Worked as Portal Architect at Sun Microsystems Has US patents and awards in the area of Software Optimisation Expertise in entire Java Stack In the past worked at • DRDO • LG Soft • Satyam Infoway • Sun Microsystems In the roles of Technical Manager, Product Architect, Technical Lead
  • 5. Our Clients NDS (www.nds.com) – World No:1 in SetTop Box Software Stack IRCTC, through Broadvision (www.broadvision.com) - World No:1 Railways Logix (www.logixworld.com) – One among the Top 5 Brands in US Auto Domain Software Products ZoomIN (www.zoomin.com) – India Number 1, Online Photo Prints Company Erasmic (www.erasmic.com) Nuware (www.nuware.com) Small Device (www.small-device.com is now acquired by www.digitalchocolate.com) Faces.com
  • 6. Cost Savings for the clients US $1 Million year on year to NDS (Embedded Java) • Reduced Set-Top Box EPG Footprint by 500kb i.e 30% of original size • Single Source Build Architecture for diverse client customization needs US $150k per day, extra business to IRCTC (Web and Mobile) • Built and Deployed Scalable Web Services and Payment Integration for IRCTC • Sales have grown from 6,000 tickets a day to 4 lakh tickets a day, of which 1 Lakh tickets are getting sold through our code US $750k per year to Logix Microsystems (Portal, CMS and Analytics) • Reduced the Engineering Team by 20 people • Reduced Code Size by 2 Lakh lines US $250k per year to Small Devices (Mobile) • Built a Strong Mobile team, from 3 to 70 resources with commodity resources • OOAD Porting Architecture to eliminate device specific code branching • Eventually this company got sold to US DigitalChocolate due to Quality of results
  • 7. Technology & Tools Expertise Big Data, Google App Engine, Hadoop, Cassandra, Entire Java Stack, any JavaEE, Spring, JPA, JDO, Hibernate, Portals (Liferay), CMS (Alfresco), BI Analytics (Pentaho, Jasper), Domain Work Flow & BPM (Intalio), ERP (Compiere), OptimizeIt, JProfiler, JPDA, Weblogic, Web Sphere, Struts, Guice Mobile JavaME, Android, Blackberry Ant, Maven and Gradle Build Automation JUnit, TestNG, JMock, BDD, DSL’s, JMeter, Saahi, Selenium, Load Runner, QTP Any other Java Open Source and Closed Source Technologies.. Code Metric Tools – MaintainJ, SonarJ, Restucture 101 and many more Open and Closed Source Tools
  • 9. At IRCTC Indian Railways Portal www.irctc.co.in is web interface for worlds No: 1 railway in the world (Indian Railways) • Issues • Solution • Engineering Process • Performance, Scalability and reliability • Source code was identified from 25+ issues, were not able to keep the sources • Put in place Build and Version System portal 24x7 (had several service • Code Reviews breaks) • Defect Tracking System • New feature addition was difficult • Provided • Refactoring and test automation • Web version, not supporting mobile services to their existing portal code interfaces • Design and implementation for • Difficulty in release management -- exposing the IRCTC business securely though web services Identifying the source code for the • On-site (Delhi) and Offsite model with production release clear process defined and followed. • Approach • JUnit Tests to measure Web services scalability • Owned Code & Team • Now • Modules Payment Gateway • They sell 100k+ tickets per day online Integration as opposed to stressed to sell 5000 per day. • Web Services • Mobile applications and Bank ATM’s • Code Engineering – Refactoring, Unit are depending on these web services testing Automation code to sell the Train tickets (ngpay, mChek). • Migration to New Technology Strategy & Implementation
  • 10. At Logix Logix is a top 5 Auto Domain OEM Software vendor, Has 600+ clients on SaaS model, 10+ Products and 400+ team • Issues • Solution • High Increase in Hardware needs to run • Reductions SaaS for improving performance • 15 lakh lines of code to 10 lakh lines in a year • High number of known defects • Hardware from 30 to 5 machines • Adding new client would become a big • Team from 20 people to 8 people project • Zero Production time Bugs • Overall maintenance cost reduced by 50% in a • Close to 80% product revenue re- years time ($750k) invested into maintenance, performance • Engineering & Existing clients Transformation & reliability issues Strategy was provided • Obsolete tools & technology • Technology adoption Road map for the New Version of the product was put in place • Management concerns over loss of sales • A Portal Based Architecture and Design was and giving a way for competition provided • Approach • Enable system with Enterprise Engineering Process • Observe engineering activities at engineer’s, and Tools designer’s, architect’s & manager’s level. • Object Oriented Build System (OOBS)for Continuous Deployments with minimal human intervention Have 1:1 meetings • Timely Code Metrics Collection • Design and Architecture Review of 3 of their • Live Refactoring and Unit Testing products • Clearly identify Systems Integration points • Identify Legacy Code and Comments and Automate Updates • Multi Tenancy approach at Database and Application Level
  • 11. At ABB ABB tasked KenIT to build a product (Vendor Payments Reconciliation) which collects huge business data from SAP and to allow further business work flow though web interface. This product was to be delivered in a years time by a team of 8 people • Solution • Issue • Worked with multiple teams for • Product gestation was taking long time SAP, Web, ABB teams to solve last close to 2 years and was still not out mile integration & delivery issues • High Performance and Scalability issue • Product got accepted and signed of Portal by client with in 4 months our • Client did not accept the delivery as engagement. SAP and Web Data were not matching • Product was able to scale to 100 • Approach concurrent users from previous 10 users with 3 times faster • Automate Manual Tasks response • Reduce people dependency • Enabled a culture of inter team • Account People for Objectives than trust and accountability tasks for Last Mile Results • Hand Hold team when needed • Owned Architecture and Design Decisions
  • 12. At NDS NDS is a world leader with ~40% market share in TV SetTop Box market, 3000+ employees, recently acquired by CISCO • Solution • Issues • Documented issues & observations • 5 lakh+ lines of Embedded Java Code: Had • Identified 86 structural design, coding & become complex to maintain and release architectural issues • 30+ versions of EPG code – one per • Reduce code by 70,000 lines client, 500+ people team globally • Shared findings with the NDS team & got • With a sales target of100 clients their buy-in management could not afford as many • Design/Coding teams • Common Source for multiple clients to • Approach maximize reuse • Code refactoring & unit tests • Analyzed code • Three long pending “unresolvable • Source code Mgmt & repository problems” were sorted out structure • Reduced binary foot print by 30% (2MB to • Defects in their Bug-Tracking Systems & 1.5 MB) Feature Lists • Saving of US $1 Hardware cost per box • Build Process Maturity • Cleaned up the source code repo • Reviewed Developers Challenges • Brought merges back to trunk • Eliminated unnecessary branch replication • Code Metrics – LOC, Code Complexity, and dead branches Structural Analysis
  • 13. At SD Small Devices (SD) – Mobile Space 2005 year, angel founded Startup, was focused to excel as porting house for JavaME based mobile games. • Issues • Solution • Need to build team from 3 to 100 • In 9 months the team was built to people in a year 70 people (from 3) • Need for a reliable process for • Provided ANT based porting porting across mobile platforms framework • Increase team member’s • Enabled porting by Jr. teams productivity • Increased productivity from 1 • Approach port to 4 ports a week • Provide Object Oriented Porting • Small device was acquired by US Framework MNC (Digital Chocolate) as a • Team Building Responsibility reliable porting house • Hire, Guide and Hand Hold Team • Groom 6 months to 3 years junior teams • Induce Enterprise Development training tools and process • Develop Automation Tools
  • 14. Custom Tools/Refactoring/Work Areas • Object Oriented Build Engineering • Refactoring of Most Pain areas • Re-engineering or migrate existing build • Legacy code refactoring to give first script into Custom Ant Tasks/Maven level results & evaluation on ROI Plugin or Gradle for Global Reuse • Test Automation • Automate • Tools to Identify legacy codes at build • Build functional, unit testing around time and based on certain clients legacy code and pain areas, beyond business rules what is existing • Tools to Identify process and developer • Provide feedback on refactoring's pains (manual areas) and bring out for ‘Code Simplification’ custom monitoring metrics • Tools to uncovered test automation areas • 3rd Party ‘Code Audit’ based on bug and feature patterns • Do independent code review and • Tools for Automatic metrics collection bring the key areas of ‘Code Stress’ related to misuse of existing metrics which when addressed can mean products within clients context huge ROI • Code Branches reports • Non-Intrusive/Non-Offending changes • Hardware and Software - IT Waste and IT in Culture, Process and Technology Rework reports • Our views and results always set new and non-traditional bench marks
  • 15. Learning's • NFR (Non Functional Requirements – Scalability/Performance/Reliability/Maintainability…) should not be left for Last Mile • Lack of clean Code Java Engineering/Code Quality Architect within IT roles • Enable design for features and variances instead of accommodating them as bugs • Tools & Technology are talked & hyped however lack of will and commitment to adopt • Maintain Status Quo Strategy • Good design & coding is important for product longevity • Lacking product mindset induces short term patch behavior • Unit Testing/Refactoring’s not adopted appropriately • Investment in developing tools for routine work not followed by developers • Code & Practical Engineering is followed as a process than with a purpose • Ignore obvious due to Time and Process Pressures
  • 17. Typical Engagement Model • Nagendra & Management Expert would get directly involved in the project • Enable a strong foundation & commitment for long term relation while proving in the short/medium term • Ensure delivery commitment, accountability & ownership • As design & clean code architect ensure high quality & end-end working • Hands on relationship engagement, people & project management • Eliminate typical vendor management pains like • Non productive escalations • Follow-ups on performance/skill gaps/interviews • Task based Accountability - as against Result based • Manage attrition impacts on costs/timelines/knowhow at no extra cost to clients • Ensure timely project feedbacks from/to client for effective communication
  • 18. Typical Engagement Model (cont.) • Build a Team – Augmented to the current team or Own few lakh lines of code • Build & Actively Mentor a small team with technical, soft skills and product/domain knowledge • Structure the Code Engineering aligned to the engineering releases. • Enable professional team linkages between the Automation & client’s core engineering teams with minimal handholding • Protects client’s management & engineering investment • Tool/System/Domain ramp up time 1-2 months • Allows a basis to increase additional team members for Automation or for other projects • The team/members can be transferred to client or we can use clients existing team
  • 19. Concerted Management & Execution – Being partner to client’s product goals • Account Engagement  Team Communication • Work with client’s Management to understand/align with clients business  Regular meetings for project alignment & people goals & become their trusted  Timely & effective communication to execution partner client Management, Reviews, Feedbacks • People Management  Architecture/Design/Code/Test • Hiring, Team Building, Technology,  Design/Code Quality, Audits People and Communication skills,  Engineering process to reduce IT Waste & Training on the job Rework • Product Management  Effective Tool Usage • Understand product goals  Structure Release Process • Enable team structure/alignment to  Technology Research for Biz Value meet above  Adopt best-in-class technology and • Project/Process Management framework for development, code • Understand client’s project/process management, testing management  Identify invention disclosure and • Bring best practices for effective patentable ideas for client project management