software engineering for internet and wireless systems lavastorm's sides conformance test...

25
Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich April 28, 2003

Upload: cory-grant

Post on 31-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

Software Engineering for Internet and Wireless Systems

Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers

Sara MossJonathan Novich

April 28, 2003

Page 2: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 2 www.lavastorm-engineering.comApril 21, 2003

Agenda

eStaffing & SIDES

Case Study: Staffing E-procurement System

Lessons Learned Strategy

Business Process

Technology

Lessons Learned Drill Down: inSIDER Testing Framework

Wrap-up

Lavastorm will present lessons learned on our recent eProcurement project and demo our SIDES test facility, inSIDER

Page 3: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 3 www.lavastorm-engineering.comApril 21, 2003

eStaffing & SIDES

Page 4: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 4 www.lavastorm-engineering.comApril 21, 2003

eStaffing: eProcurement for the Staffing Industry

eStaffing is Internet-based sourcing of temporary and permanent workers from staffing companies using private online marketplace

eStaffing vs. eRecruitment

3 key players

eStaffing highly manual today

Vendor Management System (VMS) functionality is central

Many staffing firms/ enterprises subscribe to multiple staffing exchanges

Hiring companies benefit from the competitive online private marketplaces

Staffing Exchange

(Vendor)

Staffing Company

(Supplier)

Hiring Company (Client)

Staffing Exchange

Hiring Company

Hiring Company

……

Client

Staffing Exchange

Staffing Company

(Supplier)

eStaffing

eStaffing Relationships

e.g. Boeing e.g. Chimes e.g. Adecco

VMS FOVMS/ATS

VMSVMS/ATS

VMS/ATS

……

VMS

E-Procure-ment

System

SIDES

E-Procure-ment

System

“Our e-procurement project wouldn’t have been funded without SIDES”eStrategist, Major International Staffing Firm

Page 5: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 5 www.lavastorm-engineering.comApril 21, 2003

Case Study: Staffing E-procurement SystemBusiness Process

ChallengeSolution & Results

Page 6: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 6 www.lavastorm-engineering.comApril 21, 2003

Case Study: Automating the eStaffing Process

Hiring Company Staffing CompanyExchange

Staffing Exchange

Login to website. Select suppliers. Type-in staffing order.1

Front Office

Log into FO & find candidates.3Return to website, complete web form for each candidate.4Login. Review submitted

candidates. Request interviews, negotiate price, etc.

5Login & review client request.6

Respond to client request.8Login & accept candidate.9

Login. Review acceptance. 10

Confirm availability in FO.11

Front Office

Confirm candidate on website.12

Review assignment details.13 Review assignment details.13

Determine action & update FO.7

Front Office

Login to website review order. 2

Staffing Exchange

Login to website. Select suppliers. Type-in staffing order.1

Front Office

Log into FO & find candidates.3Return to website, complete web form for each candidate.4Login. Review submitted

candidates. Request interviews, negotiate price, etc.

5Login & review client request.6

Respond to client request.8Login & accept candidate.9

Login. Review acceptance. 10

Confirm availability in FO.11

Front Office

Confirm candidate on website.12

Review assignment details.13 Review assignment details.13

Determine action & update FO.7

Front Office

Login to website review order. 2

Page 7: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 7 www.lavastorm-engineering.comApril 21, 2003

Case Study: Before – The Business Challenge

Our large staffing firm interacted directly with multiple Internet-based staffing exchanges and client systems and had to continuously reenter data to/from their front office system

Front Office

Hiring Company

VMS

Hiring Company

Business Issues: Lost orders due to slow

response time Increasing number of e-

procurement orders Time wasted reentering data

from one system to the other without adding value

Sales skill set used to enter data

Training and operational costs of supported multiple web interfaces

Know multiple business processes, different business rules, & terms

Before

Hiring Company

Staffing Specialist

Staffing Exchange

Staffing Exchange

Page 8: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 8 www.lavastorm-engineering.comApril 21, 2003

Case Study: The Solution – An E-procurement System

Solution components: Extensible e-

procurement engine Replaced web interface

& translated terms into the staffing firm’s lingo

Eliminated user need to hop between systems

Deals with the different business rules, process steps, & data needs of each client/exchange

Integrated with FO & other key data sources

Utilized SIDES, both within e-procurement system & with the trading partner

Completed reqts, design & dev in 14 wks New order to new assignment Supports 1000s of users J2EE-based, 3-tier web application Web services integration used to talk to

trading partner and internal systems Integrated with 6 internal data sources

The process knowledge was configured in the e-procurement system, leaving the staffing specialist to focus on value-adding sales activities

Front Office

Hiring Company

VMS

Hiring Company

After

Hiring Company

Staffing Specialist

Staffing Exchange

Staffing Exchange

Custom E-Procurement

System

Page 9: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 9 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned:Strategy, Process, Technology

Root Cause Analysis: On Time, On Scope, On Quality

Refactored after each demowhich made us for efficient going forward, let us ramp-up after meeting the milestone, and made the code more maintainable

Planned aheadEach team member

identified and verbalized risks and issues(even if

they were in someone else’s area) so that they

could be managed

We focused on success, we all wanted to succeed, & did everything within our control to make it happen

Committed to the other team members

Practiced our demo & presentation beforehand & had back-up plans

Client-facing team & the development team

Vacations/time off after each demo

Good design documentation

Team members verbalized there needs (e.g. time off) & their hot buttons so others could be responsive

Efficiency

Used new development tools

Bugzilla

New machinesCode generation tools?

Eclipse

Motivation

Demo Focus

Established good demo scope & dates at project start

Focused on demos from Day 1

Didn’t have enough time to rebuild code, so couldn’t build demo-ware

Payments tied to demos

Risk Management

On-time delivery of software that met business

objectives without sacrificing quality

Very small teamKnew what each other were doing

Roles were clear

Each person knew their role & agreed their code-level interface

Developers sat next to each other

Knew RHI could be an important client to

LE

Felt responsible for proving LE

capability to them

Believed our success was

important to our company

Knew RHI could be an important client to

LE

Felt responsible for proving LE

capability to them

Believed our success was

important to our company

Got help at the end

Resources didn’t get poached or swapped

Client

No HoldupsEveryone focused on

working at 100%Couldn’t lose a day in the

scheduleAimed to avoid rework

Each team member verbalized if there was a potential for a hold-

up or reworkTeam members could switch roles to help out

Worked together to remove potential holdups

Prioritized tasks when any team member requested

Team

Made a real effort to be done early

Faked our own due dates Let ourselves be late on our own due dates, but kept pushing for the client date

Prioritize work based on client perceived value

IT team very experienced

Willing to cut scope when asked

Helped out whenever an issue

was raised

Technology & business-owners

actively involved

Dual project & technology management

Everyone put in the same level of effort

Each person had the skill & experience to

be successful in their role

We made an effort to get along, listened to

each other and treated each other

with respect

Made an effort to learn from each

other

Gently coached &

guided us on RHI

processes

Very good understanding of the development process

Trusted each other to fulfill their responsibilities, i.e. no micro-management

Client buyers attended demos

Page 10: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 10 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned – Strategic Market ForceseProcurement players have conflicting goals when it comes to integration and this can seriously impact project success

Hiring companies have been passively driving eStaffing. Hiring companies require their staffing suppliers to utilize specific exchanges, making suppliers a captive exchange trading partner

Neutral 3rd parties or not, exchanges are client-focused. Understandably, staffing exchanges are focused on having the strongest client list since they get a % of hours worked

HR-XML interfaces are not high priority for Exchanges. However, Exchanges tend to remain client rather than supplier focused & have not to prioritized the build-out of HR-XML interfaces

eStaffing projects are critical to Staffing Firms since they have an increasing impact on costs and revenues.

Page 11: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 11 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned – Strategic Market ForceseProcurement players have conflicting goals when it comes to integration and this can seriously impact project success

Exchanges are client-focused. Understandably, staffing exchanges are focused on having the strongest client list since they get a % of hours worked

Hiring companies have been passively driving eStaffing. Hiring companies require their staffing suppliers to utilize specific exchanges, making suppliers a captive exchange trading partner

HR sourcing management is increasingly important. As they become more interested in the management of HR sourcing, Hiring Companies are starting to see the importance of SIDES

HR-XML interfaces are not high priority for Exchanges. However, Exchanges tend to remain client rather than supplier focused & have not to prioritized the build-out of HR-XML interfaces

eStaffing projects are critical to Staffing Firms since they have an increasing impact on profits.

There are two Bs in B2B

Lesson #1: It’s not easy to find a SIDES integration partner

Lesson #2: All parties seem to believe that another party should foot the bill for the interface – make sure the business case doesn’t make this assumption

Lesson #3: Industry buzz on VMS providers to offer a SIDES “API”may impact market forces

Page 12: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 12 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned – Business Process

Document the process flow first. Understand and document your detailed business process as early as possible, because this is what you will be automating

Know the details of the process to ensure success. Just accept that you’re going to have to know the nitty-gritty details of both your process and that of your business partner

Design one process per interface. The process is unique across each supplier, exchange, hiring company supply chain. The process is complex, and you’ll be implementing it many times!

Trace data from the UI to the XML messages. From business process to XML and HTML, you should be able to lift up the hood and trace features and data from the user interface through the XML message content. audit

eStaffing is all about implementing an extremely detailed process as an HR-XML interface

Page 13: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 13 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned – Business Process

Document the process flow first. Understand and document your detailed business process as early as possible, because this is what you will be automating

Know the details of the process to ensure success. Just accept that you’re going to have to know the nitty-gritty details of both your process and that of your business partner

Design one process per interface. The process is unique across each supplier, exchange, hiring company supply chain. The process is complex, and you’ll be implementing it many times!

Trace data from the UI to the XML messages. From business process to XML and HTML, you should be able to lift up the hood and trace features and data from the user interface through the XML message content. audit

eStaffing is all about implementing an extremely detailed process as an HR-XML interface

The devil is in the process detail

Lesson #4: Document the eStaffing process and understand unique steps & rules across each supplier, exchange, client combination

Lesson #5: Trace the features & data from the user interface through the XML message

Page 14: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 14 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned – Process-Driven Technology

Creative License. Don’t expect SIDES activity diagrams to do more than get you started. “The activity diagrams are a summary of staffing processes. They do not include all of the actions or schemas but only those central to understanding the process.”

Let the business process drive your interface. Align your technology terminology with the business terminology. Keep a glossary of each others’ terms. Don’t speculate as to what’s needed.

Start early on your data mappings. Document dependencies between the systems under discussion (intra-party and extra-party). Build scenarios from the beginning of real XML documents and their side effects on your systems.

Iterate early and often. Push the data through your stylesheets and scripts as you discover more about the system.

Plan for daily interface meetings. Prepare your team for long conversations about issues large and small and document the conversations.

Let the business process and terminology drive the technology

Page 15: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 15 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned – Process-Driven Technology

Creative License. Don’t expect SIDES activity diagrams to do more than get you started. “The activity diagrams are a summary of staffing processes. They do not include all of the actions or schemas but only those central to understanding the process.”

Let the business process drive your interface. Align your technology terminology with the business terminology. Keep a glossary of each others’ terms. Don’t speculate as to what’s needed.

Start early on your data mappings. Document dependencies between the systems under discussion (intra-party and extra-party). Build scenarios from the beginning of real XML documents and their side effects on your systems.

Iterate early and often. Push the data through your stylesheets and scripts as you discover more about the system.

Plan for daily interface meetings. Prepare your team for long conversations about issues large and small and document the conversations.

Let the business process and terminology drive the technology

Let the process drive the design

Lesson #6: Let the business process drive system development including terminology and messages

Lesson #7: Iterate data mappings with your trading partner and start the process early

Page 16: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 16 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned – Testing Framework

Not all parties will be ready to test at the same time. Coordinating design, testing & delivery across so many players & moving parts adds a high-level of project & technology risk, which a test facility helps to minimize

Maintain testing independence. Values alone & various other competing initiatives are going to make project life hard & you’ll want to work independently once the is complete

Offline testing is an important test capability. One of the trading partners may already have most of their XML interface in place. Wouldn’t it be easier to test with a harness rather than your partner’s site?

Increase debugging efficiency by minimizing cross-company bug management. You’ll want to debug before opening a cross-company bug report. Having a test facility will enable you to test changes to trading partner interfaces and changes to your e-procurement system more easily

You’re not going to be developing and testing at the same pace as your trading partners

Page 17: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 17 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned – Testing Framework

Not all parties will be ready to test at the same time. Coordinating design, testing and delivery across so many players and moving parts adds a high-level of project and technology risk, which a test facility helps to minimize

Maintain testing independence. Values alone and various other competing initiatives are going to make life hard and you’ll want to work independently once design work with the trading partner is complete

Offline testing is an important test capability. One of the trading partners may already have most of their XML interface in place. Wouldn’t it be easier to test with a harness rather than your partner’s site?

Increase debugging efficiency by minimizing cross-company bug management. You’ll want to debug before opening a cross-company bug report. Having a test facility will enable you to test changes to trading partner interfaces and changes to your e-procurement system more easily

You’re not going to be developing and testing at the same pace as your trading partners

Win friends and influence people with a test facility

Lesson #8: You’ll need to convince business oriented team members that a test facility is important, but it’ll be worth it

Lesson #9: Don’t wait until development is complete to start testing – start testing as early as possible

Page 18: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 18 www.lavastorm-engineering.comApril 21, 2003

Lessons Learned Drill Down: inSIDER Testing Framework

Page 19: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 19 www.lavastorm-engineering.comApril 21, 2003

Drill Down: InSIDER BackgroundInSIDER was originally driven by technologists, but the business need quickly emerged

Command line tool needed for developers to validate system functionality

InSIDER 0.1

Web-based tool used to send new orders to our system to kick-off the eStaffing process

InSIDER 0.2

Extended our system to include the ability for the user to change the data being sent in the XML, a much truer use case

Our trading partner wasn’t ready to test with us, so we streamlined the tool to support black box testing

Became our customer acceptance test tool

InSIDER 1.0

Developed next generation of the tool now that its users (product designer, HR-XML modelers, dev, QA, & Joe) uses were better understood

InSIDER 2.0

Page 20: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 20 www.lavastorm-engineering.comApril 21, 2003

Drill Down: The Complications of B2B Testing

Staffing Exchange

(Vendor)

Staffing Company

(Supplier)

Hiring Company

(Client)

Staffing Exchange

Staffing Exchange

Hiring Company

Hiring Company

Emulation points

A SIDES test facility can be used to minimize the project and technical risk of building interfaces with trading partners

Test facility characteristics:

Configurable – Establish a generic framework to support the various business processes

Extensible – Accommodate the need to adapt to a changing business environment, e.g. update processes, business rules

Transparent – Provide a mechanism to validate the contents of each SIDES-based message

Easy to Use – Create a user interface that is web accessible and intuitive for business and technical users

Open Source Components

eStaffing Emulation Points

Page 21: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 21 www.lavastorm-engineering.comApril 21, 2003

Drill Down: inSIDER High-Level Architecture

inSIDER Staffing

Exchange

inSIDER Staffing Company

Exchange Config

StaffingConfig

inSIDER Technologies: Built in XML, XHTML, &

XSLT

Client side: IE 6.0+ Forms Player 0.9.3.6 – open

source IE plug-in for posting back/forth in XML

Server side: Tomcat or an application

Servlet container Apache Ant 1.5.1 Apache Axis 1.1 Java Virtual Machine 1.4.1

inSIDER 2.0 was developed by Lavastorm to test trading partner functionality using open source technology

Note: While InSIDER can emulate hiring companies, for the sake of simplicity, we will only be demonstrating a 2-party relationship in our demo.

Page 22: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 22 www.lavastorm-engineering.comApril 21, 2003

Demo

Page 23: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 23 www.lavastorm-engineering.comApril 21, 2003

Servlet Container (Tomcat)

Drill Down: InSIDER Architecture

Processing Engine

(Ant)

Web Services

Framework (Axis)

Object Store

(Database or Flat File)

Message Store

(Database or Flat File)

User Interface

(XHTML, XSL,

XForms)

The inSIDER architecture cleanly separates object & container and execution & formatting

Page 24: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 24 www.lavastorm-engineering.comApril 21, 2003

Drill Down: Testing Framework Next Steps…

Given a configured InSIDER to our trading partner on day 1

Started meaningful trading partner conversations on day 3

Focused on processes and real data to validate expected results (and the acceptance test) with all parties involved

Completed all design and worked through most of the kinks before kicking-off system development

Completed white box & black box testing more efficiently

When we consider how much our project could have benefited from InSIDER, there is no question that it will be a more integral part of our next eStaffing project. We could have…

Recognize that every stakeholder involved in designing, developing or testing an e-procurement system will need

this type of tool.

We wonder if there is any way to extend the SIDES standard to include these concepts and capabilities?

Page 25: Software Engineering for Internet and Wireless Systems Lavastorm's SIDES Conformance Test Facility: Lessons for SIDES Implementers Sara Moss Jonathan Novich

© 2003 Lavastorm Engineering Confidential Page 25 www.lavastorm-engineering.comApril 21, 2003

Thanks!

Feel free to contact us:

[email protected]

[email protected]

eStaffing article

http://www.hr.com/HRcom/index.cfm/114/6B7190B9-DD31-4840-B10AC3EB84DA1E87?ost=rcFeature

OR on our website

OR email us!

We’ll be around through Wednesday, and would love to talk with you directly to learn about your HR-XML implementation, projects, and experiences