T-76.4115 Iteration Demo Hermes Team PP Iteration 24.10.2006.
T-76.4115 Better Code Faster - Next Generation Java Continuous Integration Environment
-
Upload
yanisin-vargas -
Category
Documents
-
view
21 -
download
1
description
Transcript of 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)
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.
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...
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.
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.
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.