You are browsing the archive for 2008 October.

AAJUG Meeting October 28, 2008: "Turning Brown Fields Green" Using New Engineering

October 27, 2008 in AAJUG Meetings, events

Pillar Technologies speaks to us on:
“Turning Brown Fields Green” Using New Engineering.

Date: Tuesday, October 28th, 2008
Time: 6:30 PM – 9:30 PM EDT

Note: If you plan to attend, please RSVP to:
rsvp@data-masters.com
Open Networking starts at 6:30 PM.

Pizza and Soft Drinks will be served!

Note: We will have giveaways such as T-Shirts, Pens, Books, etc. from Sun Microsystems.

Also, attendees will have a chance to win a free license of one of the JetBrains products:

a. IntelliJ IDEA Personal License
b. ReSharper Personal License
c. TeamCity Build Agent (for our Continuous Integration and Build Server)
d. Ruby IDE Personal License (not named yet, but we?re working on that.

Meeting Location:
Washtenaw Community College, WCC BE270

Meeting Location and Map:


Washtenaw Community College, WCC BE 270

PRESENTATION:
=============
Product Demo: Verde to Generate Automated Tests

Overview:

At Pillar label any code without an automated test as Legacy Code
because it is hard to change . The industry has been good at innovating
solutions, like Agile Methodologies and Unit Testing Tools that reduce
the fear of change for new development. What about the millions of lines
of existing Legacy Code? This presentation will review this problem in
detail and demonstrate Pillar’s tool, Verde, that records and generates
these automated tests for Legacy Java code.

The following is an overview of some of the planned presentation
materials

Why should I Care?

Time:  The time to market for a system without a test driven approach
usually increases with each release.

Cost:  Legacy Code (code without tests) is more costly to enhance and
requires more time & requires more senior resources

Quality:  Without tests you are likely to create regression defects that
are costly to identify and fix.

What stops our teams from just writing tests themselves?

1. Often teams do not value writing tests because there is so much code
without tests there is little immediate value to them.
2. Creating tests after the fact on existing code is really hard
3. Code may not be designed to be testable
4. Developers do not know all the ways a method is used.
5. Setting up test data is complicated.
6. We have too much existing code and not enough time or $ to go back
and create tests now.

Discussion: Three Step Process to accelerate adoption

1. Quality and Testability Assessment
2. Test Factoring: Making Legacy Code “Agile Ready”
3. Supporting TDD Skill Development

What we measure

Code Quality: we use typical static analysis tools to assess the code
quality
Code Testability: we evaluate the complexity involved in writing tests
against legacy code. Including:
Test Coverage, Cyclomatic Complexity, and  Injectability / Mockability
We provide an detailed actionable report that provides;
Data analysis and results and (most importantly) specific
recommendations concerning proactive and opportunistic activities
necessary to improve the testability of the code.

Test Factoring: Making Legacy Code “Agile Ready”

If necessary we start with the basics
Get Code in Version Control
Format code to “House Style”
Get Build Automated
Get Running on CI
Create Characterization Tests for Critical Functionality

Traditional Approach

Create tests as you touch code.  If you need to modify code: First write
tests around the code, Second refactor the code to support the new
feature or correct a defect

While the test harness will not cover 100% of the code it is the best
way to prioritize your investment in Unit Tests to the code that changes
most often, that has the most issues

Pillar’s Approach:  Functional Tests turn into Characterization Tests

1.  Inject recorders into the application to record method calls in and
out of targeted portions of the application.
2. Exercise the application using current functional test scripts
(automated or manual) in order to record data at the method interface
level.
3. Use Coverage analysis and data comparisons to review recorded data
for the unique set of calls to be used as unit tests and mocks
4. Generate and register tests and mock objects with the Continuous
Integration Server.
5. Leverage these tests as part of the check in process so going forward
broken components will be identified as soon as possible

Required Support

1. You need to teach your people to get enduring value!
2. Ensure they know the importance of Continuous Integration
3. Teach them how to handle broken tests and builds
4. Teach them to support and maintain test harnesses
5. Teach and Mentor the team on Test First Development techniques

Presenter BIO:
===========

Matt VanVleet
Mr. VanVleet joined Pillar in 2005 as Vice President of Fulfillment for
the Ohio Valley Region after years of notable accomplishments. He holds
a Bachelor of Science Degree in Management Information Systems from Ohio
University. Matt has developed a testing practice focused on functional
test automation and application performance management. Matt founded a
company, Solstice Software that wrote Automated Unit and Integration
Testing Products and continues to push the envelope of what is possible
with test automation. Within Pillar he is one of the key innovators
around our approach, Speed To Value (s2v), focusing on the critical
areas of project management practices, requirements management, and test
driven development. Due to Matt’s skills and experience, he has
developed Pillar’s Practice Management model that maximizes the impact
of productivity by enforcing those proven concepts and training.

Chris Beale
Chris has over 20 years of experience in Information Technology and
holds Bachelor Degrees in both Electrical Engineering and Computer
Engineering from Oakland University.  During his career, he has held a
wide range of roles including Senior Software Engineer at NASA’s
Engineering Design Laboratory, Chief Architect for Digital Manufacturing
at Dassault/Delmia, and Vice President of Application Development for
ranal.com.  Chris joined Pillar in 2002 as Engagement Manager for
GM/Onstar and was promoted to Director of Regional Operations for Great
Lakes in 2003.  In 2004 he assumed responsibility as Corporate Head of
Fulfillment where he is responsible for company-wide Speed-to-Value
(S2V) consulting including practice definitions and development,
consultative sales, offer design, engagement management, and consulting
service delivery. Chris’ success in this role is measured by meeting
revenue and profitability goals for S2V-related business in addition to
the level of delight maintained across Pillar’s customer base.

Thanks for supporting your local JUG!!

AAJUG

To be notified of future AAJUG events, please sign up for our mailing list at www.aajug.org

Avatar of drron

by drron

Senior Technical Java Consultant

October 21, 2008 in Jobs

SENIOR TECHNICAL JAVA CONSULTANT (FULL TIME ROLE, OFFICE FROM HOME) Travel to client sites 20-40%. Company will transfer H1.

CLIENT OVERVIEW: Our Growing Software Client has experienced significant growth over the last 3 years and is the largest provider of performance management software and services for the Global 2000. The suite of products allows its customers to manage all types of contracts – from real estate to equipment leases – in one central repository. This is a “high impact” opportunity in which you can leverage your experience in a more entrepreneurial, and dynamic environment. The compensation package includes Base, aggressive 4-quadrant bonus program and Options.

Additionally, the company was recognized as Software Developer of the Year. and was named to the Deloitte & Touche Technology Fast 50 list for the last six consecutive years for achieving outstanding revenue growth.

SENIOR TECHNICAL CONSULTANT-JOB SUMMARY: The Senior Technical Consultant is responsible for the technical evaluation, design, coding, testing, and documentation of complex enterprise performance management solutions delivered by company’s Professional Services department to its Fortune 500 customer base. This involves review of functional requirements gathered by Project Managers and Consultants, creation of technical specifications, development of specification use cases and acting as a liaison between the Client and Professional Services team. The Technical Consultant will also support the implementation project by troubleshooting system configuration, product installation and other technical issues both internally and for clients. They may also provide presales technical support.

ESSENTIAL DUTIES AND RESPONSIBILITIES: Translates functional specifications created by Project Managers and Consultants into technical specifications to be used by Developers (onshore or offshore). Works with Project Managers and Consultants to address technical gaps in the functional specifications. Participates in customization design sessions with the Technical Services Manager. Meets regularly with assigned to the project to get periodic task updates on customization work and clarify questions. May be responsible for development effort. Prepares use cases/test scenarios for development project. Supports customization testing. Maintains a working knowledge of all company’s-supported products and technologies. Works with Clients to troubleshoot and resolve technical problems.

QUALIFICATIONS AND REQUIREMENTS: Strong database skills in Oracle and/or SQL Server. Strong working knowledge of J2EE, JAVA and JSP. Exposure to XML, web services and services-orientated architectures. Proficiency in Linux, UNIX and Windows server environments. Proficient in Citrix, Terminal Server, FTP and Telnet applications. Experience working with Business Objects report writer/tools is a plus. Experience in writing technical documentation. Strong verbal and written communication skills. Good team player with ability to work both within a team and independently. Ability to make sound decisions based on customer needs and technical knowledge Undergraduate degree in related discipline (required; Engineering/CS degree preferred) Ability to travel on short notice.

If you are interested, please send an updated resume to marc.francone@ori-global.com