b. Describe the business purpose of the new system.
ePlan's purpose is to allow clients to manage their fleet 24/7/365 in a secure and easy-to-use environment.
c. Describe the features of the new system.
Full fleet management can be performed including reporting, accessing images of important documents, ordering vehicles, vehicle comparisons, managing driver information, personal settings and other management functions.
d. Explain the functions of the new system.
ePlan allows clients to manage their fleet in a way that is consistent with their own organizational business model. Access roles can be set up to allow clients to give specific viewing and/or editing rights to specific users. There are also security settings which allow users the ability to access specific information based on their user identity settings.
e. Who were the internal sponsors of the project? Which officials or groups were opposed to developing the application? Why?
The electronic solution received full support from the operations and executive management teams because it allows the client and LeasePlan, as their provider, to further develop a strong business relationship. It also allows clients to maximize their fleet's capabilities and cost structures.
There was some opposition from internal groups that didn’t clearly understand ePlan and the value it could bring to clients.
f. Were users of the system involved in the project during the planning and development phases? If so, how?
We have internal users [employees within our own company] and external users [our clients] who use ePlan. The development of ePlan is under a continuous development cycle with direct input from our clients and prospects so that LeasePlan is continually working to meet the needs of the market.
For example, if a client has an idea to further enhance a particular functionality within ePlan, LeasePlan has a team that reviews the request and then looks at how that request might affect all clients. LeasePlan then contacts other clients who have participated in past projects for development, to verify agreement or disagreement with the proposed request.
In most cases, LeasePlan proceeds forward with the request for enhancement. The client submitting the idea becomes a part of the development team and assists in testing the new enhancement. Once testing is validated, LeasePlan verifies the functionality of the new enhancement with the client as well as internal testers. Once those are complete and the client signs off on the enhancement, LeasePlan introduces the change to all clients utilizing ePlan.
g. What were the greatest challenges in completing this project? How were they overcome?
Since ePlan is a continuous development process, there are times when challenges occur with implementing recommended enhancements. When those challenges are identified, the LeasePlan team responsible for managing development takes the issue to the appropriate areas of the business or the client for further clarification or information. Communication is critical to address challenges and/or acquire the tools necessary to resolve the issue (hardware-related tools, for example.)
h. Were the goals changed as the project progressed? If so, what were the changes and why were they made?
Overall, ePlan's goals at the strategic level have not changed. The tactical objectives have changed from time to time to better align the product with client and market feedback. LeasePlan is always working to meet our clients’ changing needs.
E-business Application Development
Describe how productivity tools or techniques were used in the project.
ePlan employs the Rational Unified Process in software development which uses a disciplined approach to assigning tasks and responsibilities to the development team. It uses industry "best practices" in every aspect of software development - from the inception of requirements, to analysis and design, implementation, testing and deployment.
New functional requirements are being managed by LeasePlan’s Business Excellence group, comprising of a project chairperson, business analysts, and IT personnel. This ensures every requirement of the product meets a specific business need. The requirements are further organized as cases for greater completeness and consistency. They also provide a better understanding of the importance of a requirement from a user's perspective. All requirements are documented using the LeasePlan Business Requirement Template in Microsoft Word format.
Once functional requirements are reviewed and approved, high-level analysis and designs are created to ensure seamless integration with the current system architecture. Development iterations are defined, whereas each iteration will undergo detail analysis and design, implementation, integrations, test and deployment.
Each iteration is further divided into smaller development activities, enabling the project manager to assign these activities to developers for parallel development and ease of integration, making it faster process to complete. These granularities also enable the project manager to select specific subsets of completed and tested changes to be integrated with the existing application, therefore, accommodating re-prioritization of changes as they occur in the business.
Rational XDE is used to generate UML analysis and design models. WebSphere Application Development Studio, an Eclipsed-based IDE, is used to develop codes, while using CheckStyle plug-in to ensure all development codes conform to the LeasePlan defined coding standards.
ANT is used to deploy the application to the Developer Integration Test Server, the QA Server, Client Test Server and Production Server.
b. Were testing tools used during development?
JUnit and LoadRunner are the tools used for testing. LoadRunner is used for acceptance, full regression, and load test of a build while in QA. Results from these tests are saved for benchmarking and comparisons with previous builds.
If so, when were they used?
Before, during and after the development.
Was the testing cost-effective?
c. Was a formal or informal software development life-cycle methodology employed? If yes, please describe it.
- Rational Unified Process
- Extreme Programming
- CheckStyle to enforce Coding Standards
- Code Reviews
How did the team respond to those challenges?
LeasePlan understands that challenges are inevitable due to new technologies being incomplete and constantly being patched, so we factor that into ePlan’s development. We are able to replace dependencies on specific technology with others that are compatible.
LeasePlan also developed in-house solutions although they may have been considered "lacking" because we were aware that major vendors such as Sun, IBM and Microsoft were racing to provide upgraded solutions such as Servlets, JSPs, etc. We were able to create temporary solutions that were similar in architecture but didn’t disrupt the system. When solutions were available from those vendors, we were able to quickly discard and replace what we had built without much impact to ePlan’s functionality. The ePlan team was always prepared for changes – they were factored into everything that was developed. With the help of ongoing training and research, the ePlan team was able to stay abreast with where the industry was going, making it easier to incorporate new and better technologies in the future.
c. Describe the overall system architecture.
ePlan is an n-Tier Architecture comprised of the Client Tier, Presentation Tier, Business Tier and Resource Tier.
The Business Tier comprises of Business Service Managers acting as session facades encapsulating business logics and interactions with the Resource Tier.
The Resource Tier comprises of the local and remote RDBMS, programs, and services.
- Presentation Tier, MVC-2, JSPs, Tag libraries
- Business Tier, EJB Session Facades
- Persistent Tier, XSQL
- Service Locator
- Employ Best Practices Iterative
a. What was the size of the development team?
When ePlan was first developed, the team consisted of a project manager, three Web designers, an architect, five developers, two OAs, a database administrator and a team of Legacy developers.
Today, the project team consists of a project manager, business analysts, four developers, an architect, ePlan trainers and OAs, a team of legacy developers and database administrators.