T-76.4115 Better Code Faster - Next Generation Java Continuous Integration Environment

6
1 © Nokia Siemens Networks Presentation / Author / Date For internal use T-76.4115 Better Code Faster - Next Generation Java Continuous Integration Environment Nokia Siemens Networks Hannu Kokko ([email protected] 050 486 8110)

description

T-76.4115 Better Code Faster - Next Generation Java Continuous Integration Environment. Nokia Siemens Networks Hannu Kokko ( [email protected] 050 486 8110). Introduction. - PowerPoint PPT Presentation

Transcript of T-76.4115 Better Code Faster - Next Generation Java Continuous Integration Environment

Page 1: T-76.4115  Better Code Faster - Next Generation Java Continuous Integration Environment

1 © Nokia Siemens Networks Presentation / Author / DateFor internal use

T-76.4115 Better Code Faster - Next Generation Java Continuous Integration Environment

Nokia Siemens Networks

Hannu Kokko ([email protected] 050 486 8110)

Page 2: T-76.4115  Better Code Faster - Next Generation Java Continuous Integration Environment

For internal use2 © Nokia Siemens Networks OES Middleware induction plan

Introduction

OSS Middleware business line in Nokia Siemens Networks is building next generation network management software platform .

- Largest agile & iterative development project in Finland - several countries, several teams in each country- One of the largest Java projects in Finland, if not the largest

•Increase code quality and productivity by exploring and integrating simple, state of the art tooling to our working environment and daily practices

– provide proof of concepts or ready solutions

Challenge• With large codebases the information can be overwhelming and hard to get

– tools must be automatic and non-intrusive, very easy to use- integrate the information from different tools in an innovative way to provide insights

that a single tool can not. - Provide just the needed information continually – information presented in a form that would be quickly usable by the stakeholder

- Stakeholders: developers, architects and R&D management.

Page 3: T-76.4115  Better Code Faster - Next Generation Java Continuous Integration Environment

For internal use3 © Nokia Siemens Networks OES Middleware induction plan

Project goals

Outcome is to Increase code quality and productivity by exploring and integrating simple, state of the art tooling to our continuous integration environment

– provide proof of concepts or ready solutions

Investigate which would be the most needed enhancements from stakeholders (developers and management).

Some examples of possible needs: • what would be the most practical ways to do static analysis continuously

– what kind of static analysis and code metrics would be best to do – what tools to use (open source, commercial) – how to integrate the information from possibly several tools to continuous integration

environment and provide feedback quickly enough – how to filter information and show it over time

• how to help developer find the most likely spots to refactor or improve his code or his unit tests – for example: integrate information from coverage analysis, junit test information, complexity

analysis to provide guidance for developer – verifying the quality of unit tests

• how to help architects & R&D Management to find ways to pinpoint refactoring needs globally in codebase

– for example: find duplication, areas of complexity, architectural rule violations...

Page 4: T-76.4115  Better Code Faster - Next Generation Java Continuous Integration Environment

For internal use4 © Nokia Siemens Networks OES Middleware induction plan

Tools and technology

• Eclipse • For continuous integration environment an existing environment consisting of

– Maven / Subversion / Bamboo / Cobertura would be used and enhanced. – Runtime environment is Linux. – Development can be done also on Windows or Macs as long as end result runs on

Windows and Linux environment. • For enhancement of the environment both open source and commercial tools

compatible and integrated to previous can be considered. – Possible open source and commercial tools to consider: findbugs, pmd, Clover, JTest,

Lattix, Macker ... • Integration of the features to the continuous integration environment could be

done for example as Maven plugins and Bamboo plugins. • Documentation of the results could be done in a wiki format and as Microsoft

Word documents.

Page 5: T-76.4115  Better Code Faster - Next Generation Java Continuous Integration Environment

For internal use5 © Nokia Siemens Networks OES Middleware induction plan

Skills

•The team should have enough Java and XML development skills and familiarity with java open source tooling to be able to provide proof of concepts or finished code to the target environment or in a form that could be integrated to the target environment. •Familiarity with agile & iterative development is a plus. •Familiarity with Maven for some members in the team is a plus.

•Development team is international so communication in english in both written

and verbal form is needed.

Page 6: T-76.4115  Better Code Faster - Next Generation Java Continuous Integration Environment

For internal use6 © Nokia Siemens Networks OES Middleware induction plan

Project where you get to (at least)

-interview software developers and R&D management about their needs in continuous integration of software

-Build product backlog by interviewing subject matter experts – not everything is ready made for you, you have flexibility in requirements

-Balance the product backlog against your capability to deliver

-learn to integrate software

-explore best ways to analyze, use and present information from build systems and version control

-develop your skills in understanding code & properties of large systems

-learn to use Maven & other tools within context of complex systems

-build Maven and Bamboo plugins with Java

-study tools to integrate

Project which is quantified as above expectations

by customer will get team members a personal Nokia N95 after project.