Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
A Case Study from SATYAM

PRODUCTIVITY GAINS USING OPEN
SOURCE SOFTWARE
                                1
OPEN SOURCE – MARKET GROWTH
    Linux


         Linux server revenue exceeded $1.6 billion in quarterly factory revenue ...
PREDICTIONS FOR OPEN SOURCE
                                         Forester Research (Nov 05)
Gartner Report
    By 2008...
OPEN SOURCE ADOPTION AROUND THE
WORLD
 • May 28 2005 – Munich city council           • Brazil has announced a three-year p...
OPEN SOURCE BUSINESS
Model         What it means                                  Who's doing it   Advantages for CIOs    ...
JBOSS
    Application Development expertise

    on the JBoss Enterprise Middleware
    System (JEMS™)
         JBoss App...
OPEN SOURCE SOFTWARE
Subversion                          Spring Framework
 • Free and Open Source SCM /       • Java EE fr...
OPEN SOURCE SOFTWARE

MySQL / PostgreSQL                         Linux
    Free and Open Source database              Comp...
9




„INDUS‟ DEVELOPMENT STACK
                                                                                          ...
CONTINUOUS INTEGRATION REPORT

        Build status /




                         Checkstyle report




                 ...
CODE REVIEW / CODE COVERAGE


  Checkstyle Report

                        IDE integration
                      (error hi...
PERFORMANCE TESTING - JMETER
                                    Simulate 10
                                  Concurrent ...
JAVA APP. PROFILING – NETBEANS PROFILER

                            Entry point
                                         ...
AUTOMATED FUNCTIONAL TESTING
    New breed of Open Source tools available

    Innovative approach to Web-Testing

     ...
CASE STUDY – EUROPE CLIENT
    Large Scale e-commerce site for Automotive /

    Electronics co.
      Extensive use of t...
EUROPE CLIENT – CONTD.
    Requirements documented in Confluence (Wiki)


    User Stories (Tasks) created in JIRA and es...
WORKING MODEL - ONSITE & OFFSHORE
 Onsite                                                                       Offshore

...
AGILE DEVELOPMENT WITH “LIGHTWEIGHT” JAVA EE

                                                     Delete all previous bui...
19




WORK PACKAGE TEMPLATE (CONFLUENCE)
                    Confluence (Wiki)
                  

                   W...
20




JIRA USED FOR USER STORIES /TASK TRACKING
BENEFITS / FINDINGS
    Benefits

        Greater control and transparency for the client
    
        Agility / Product...
Satyam

THANK YOU

            22
Upcoming SlideShare
Loading in …5
×

Productivity Gains Using Open Source products

1,550 views

Published on

Presented at the Software Engineering Conference 2007, Bangalore on the subject of “Productivity Gains Using Open Source products”. This presentation is available also at the website http://www.bcic.org.in/notifications/BCIC-BSPIN/Mr. Madhusudan Rao, Satyam.ppt

Published in: Technology
  • Login to see the comments

Productivity Gains Using Open Source products

  1. 1. A Case Study from SATYAM PRODUCTIVITY GAINS USING OPEN SOURCE SOFTWARE 1
  2. 2. OPEN SOURCE – MARKET GROWTH Linux  Linux server revenue exceeded $1.6 billion in quarterly factory revenue in 2Q05  Linux servers represented 12.7% of overall quarterly server revenue  Linux server revenues continue to increase market-share, gaining on M$  Firefox  13.4% market share as of Mar„07, next to IE  Crossed the 200 million mark in downloads  MySQL  Open Source database software is used highly among developers  MySQL is leading the way with 44% Open Source database deployment  Gained 25% market share in overall database usage  2
  3. 3. PREDICTIONS FOR OPEN SOURCE Forester Research (Nov 05) Gartner Report By 2008, open source will compete  with closed source in every infrastructure market. By 2010, 75 percent of  mainstream IT shops will have a formal open source acquisition policy in place. By 2010, mainstream IT shops will  consider open source for 80 percent of their infrastructure software needs. By 2010, mainstream IT shops will  consider open source for 25 percent of their business software needs. 3
  4. 4. OPEN SOURCE ADOPTION AROUND THE WORLD • May 28 2005 – Munich city council • Brazil has announced a three-year plan to approved a proposal for $35.7 million switch 80 per cent of its government from SuSE and IBM. systems to Linux Japan, China and South Korea have • More than 40 percent of organizations in created Asianux – an Asian Linux support Ireland use some form of open-source consortium – to form an accessible version software in 2006. of Linux. • The city of Mannheim planned to • MySQL got a five-year contract with the US complete the first phase of its migration General Services Administration for to Linux government customers. • India‟s largest public sector bodies: The Consortium of Chinese software BSNL; Indian Railways; South Asian companies called the Beijing Software Industry Productivity Centre (BSIPC) is now Petrochem; IDBI Bank; Central Bank of promoting Beijing as not merely the capital India; and the Department of Treasury, of China but also “Asia‟s Linux Capital”. Government of West Bengal are running on Linux. 4
  5. 5. OPEN SOURCE BUSINESS Model What it means Who's doing it Advantages for CIOs Startup challenges Difficult to build businesses because switching costs are low, as are barriers toentry. You pay only for support, not software. CIOs will always favor large, established vendors over startups unless the startups also control code The cost to switch development. Open Source Compiere providers is relatively low + (ERP), JBoss, Companies sell support and services because the source code is Unless the software is complex or mission-critical, around open-source software. available to anyone. CIOs may choose to support it themselves. Service Red Hat CIOs may not need the There's ample motivation to make the open-source proprietary stuff, but if they product inferior to the proprietary package, do they'll already have transforming the open source into trial software. acquired deep experience Sourcefire with the open-source If that happens, there may be a backlash among (security), An open-source code base with proprietary product before buying the open-source developers and users wanting to see add-ons. add-ons. all the code. Mixed SugarCRM Companies offer a proprietary license for their open-source software so that users Open Source The open-source software Sales of the proprietary version are limited mostly can modify the software and redistribute it + has all the features of the to those companies that want to redistribute it as without having to make the code changes MySQL Sleepycat Buy Off proprietary version. part of their ownhardware or software packages. available to the public. Exadel, Barriers to entry are low, brand differentiation is Navica, difficult, lack of ownership of open-source projects Open Source Companies assemble various open-source + software packages into integrated units that Simplifies open-source SourceLabs, limits the influence of the company in the integration and support. SpikeSource development of the code. Aggregation are easier for CIOs to consume. Open Source Hardware makers use open source as the It's difficult to differentiate on hardware alone, + foundation for the software that runs their especially when CIOs are looking to standardize Cisco, Digium, Netezza Lower prices on hardware. Hardware machines. their infrastructures. 5
  6. 6. JBOSS Application Development expertise  on the JBoss Enterprise Middleware System (JEMS™) JBoss Application Server  JBoss jBPM  JBoss Portal  JBoss Cache  Tomcat  Hibernate  Under partnership, will have access  to JBoss technical support and resources Huge opportunity in migration of Java  EE applications WebLogic  JBoss  WebSphere  JBoss  6
  7. 7. OPEN SOURCE SOFTWARE Subversion Spring Framework • Free and Open Source SCM / • Java EE framework now at version control tool critical mass in terms of adoption • Significant cost savings & • Consistent framework and efficiencies compared with VSS infrastructure support for all architectural layers of the Java • Excellent support for EE stack distributed teams • Improves productivity, • Faster and more efficient than promotes good design principles VSS or CVS • Reduces boilerplate / • Plugins available for .NET as “plumbing” code significantly well as Java EE IDEs 7
  8. 8. OPEN SOURCE SOFTWARE MySQL / PostgreSQL Linux Free and Open Source database Complements the Open Source   alternatives development tools initiative Proven scalability and volume /  Focus on Ubuntu / Debian, Fedora,  capacity SuSE, Solaris Can replace commercial  Ideal for development / test and  equivalents during development integration servers Especially for Java EE projects  Scales better for large teams  Opportunities in terms of  Smoother transition to Linux / Unix  migration projects production environments …  MySQL  …  PostgreSQL  8
  9. 9. 9 „INDUS‟ DEVELOPMENT STACK Completely Open Source  Agile best practices Server  Version Control Subversion Continuous Integration  Test Driven Dev. Continuous  CruiseControl Integration Java build Best Practices  IDE Neutral  Ant Based  Workstation Subversion Client TortoiseSVN / Subclipse Maven 2  CheckStyle Coding Standards Code Coverage EMMA Unit Testing JUnit Ant + Maven2 Build Scripting Eclipse / NetBeans Tool Name Used For URL IDE Subversion Version Control Server http://subversion.tigris.org/ CruiseControl Continuous Integration http://cruisecontrol.sourceforge.net/ TortoiseSVN Version Control Client http://tortoisesvn.tigris.org/ NetBeans Performance JMeter Subclipse Version Control Client (Eclipse Plugin) http://subclipse.tigris.org/ Profiler Checkstyle Java Coding Standards Checker http://checkstyle.sourceforge.net/ Validation EMMA Java Code Coverage http://emma.sourceforge.net/ JUnit Java Unit Testing http://www.junit.org/ Profiling Load Testing Ant Java Build Scripting http://ant.apache.org/ Maven Java Dependency Management http://maven.apache.org/ Eclipse Java IDE http://www.eclipse.org/ NetBeans Java IDE http://www.netbeans.org/ Automated JMeter Load Testing http://jakarta.apache.org/jmeter/ Selenium NetBeans Profiler Java Profiling http://profiler.netbeans.org/ Functional Testing
  10. 10. CONTINUOUS INTEGRATION REPORT Build status / Checkstyle report Errors / warnings Unit Test Results Version Control update history 10
  11. 11. CODE REVIEW / CODE COVERAGE Checkstyle Report IDE integration (error highlighted) “Covered” lines (blue) Not Covered (red) 11
  12. 12. PERFORMANCE TESTING - JMETER Simulate 10 Concurrent users Loop entire test 20 times results exported to Excel for analysis 12
  13. 13. JAVA APP. PROFILING – NETBEANS PROFILER Entry point Time in milliseconds (JSP form submit) (sortable) Business “façade” Interface method Spring AOP (Transaction Interceptor) DAO method Example Comparison Analysis between two Data Access frameworks 13
  14. 14. AUTOMATED FUNCTIONAL TESTING New breed of Open Source tools available  Innovative approach to Web-Testing  Tests run within a real browser  Selenium ( http://www.openqa.org/selenium )  Javascript based  Cross-browser support  Test script recording possible to some extent  Watir ( http://wtr.rubyforge.org )  Ruby based  Flexible  Only IE support at the moment  14
  15. 15. CASE STUDY – EUROPE CLIENT Large Scale e-commerce site for Automotive /  Electronics co. Extensive use of the Spring Framework   Extensive use of Open Source  Spring JDBC, JBoss Cache, Custom Tag Libraries Dev Environment  Tomcat   Subversion  CruiseControl  JIRA (Issue Tracking, Task Tracking)  Confluence (Wiki, Requirements, Work Package Definition)  Google Talk  VPN / Common Network 15
  16. 16. EUROPE CLIENT – CONTD. Requirements documented in Confluence (Wiki)  User Stories (Tasks) created in JIRA and estimated  Tasks assigned to developers  Developer updates effort in JIRA on daily basis  JIRA excel exports used for tracking  Key resources from Satyam / Client travel during milestones  Continuous communication using Google Talk  Reduced dependence on formal tele-conferences  4 – 6 week “sprints”  Stand-Up Meetings  User Demos  16
  17. 17. WORKING MODEL - ONSITE & OFFSHORE Onsite Offshore Business Analyst Satyam Developer 3-7 Developers Technical Lead Developer Satyam Satyam Coordinator Lead Developer Developer Satyam Software Delivery Satyam Project Manager Manager Business Analyst Tester 17
  18. 18. AGILE DEVELOPMENT WITH “LIGHTWEIGHT” JAVA EE Delete all previous build Spring clean artifacts / database files  from file system No need of container  JUnit support classes Compile all code and unit  compile tests POJOs inherently easy to test  Boot a fresh instance of the db-start Hibernate HSQLDB database server  Completely abstracts DB  Connect to the database HSQLDB can be used for  and forward-generate the db-create testing schema from the mapping files using Hibernate. Unit tests can assume that  DB exists, no mocks reqd. test Run unit-tests. db-stop Shutdown database. Generate Reports reports 18
  19. 19. 19 WORK PACKAGE TEMPLATE (CONFLUENCE) Confluence (Wiki)   Web Based  Simple Status Reporting  No frills, but effective
  20. 20. 20 JIRA USED FOR USER STORIES /TASK TRACKING
  21. 21. BENEFITS / FINDINGS Benefits  Greater control and transparency for the client  Agility / Productivity / Quality  Test Driven Development pay-off  Learning's  Architecture matters, e.g. POJOs  No need to go “all the way” with XP  Borrowing a few key best Agile practices sufficient - for a start  Practices such as “pair programming” can work, but optional  Continuous Integration should be highest priority  No need for 100% unit test code coverage  Reach a point of diminishing returns  Radical new approaches to functional test automation  21
  22. 22. Satyam THANK YOU 22

×