McFadyen Solutions eBusiness Methodology
McFadyen's eBusiness methodology
provides a framework that unites the vision of our
team and ensures the flawless delivery of our services. It
focuses on four key dimensions of our business:
People
The cornerstone of
McFadyen Solutions is our technical expertise. We have built
highly efficient eBusiness teams, which deliver exceptional
value to our customers by leveraging expertise and team synergy
gained on multiple projects. These efficiencies are further
leveraged by our commitment to a set of core technologies,
namely ATG and Interwoven.
•
Strategy Consultant
Works with corporate executives to translate business
goals into implementation strategies. Supports strategic decision
making by negotiating tradeoffs between desired functionality,
timeframe, budget, and technical risk. Proposes technical
solutions and architectures, and creates high-level project
plans for the implementation.
• Project Manager
Oversees the daily schedules
and ensures timeliness and quality of the project deliverables.
Manages relationships with project stakeholders, communicates
project status and issues.
•
Technical Lead
Organizes and oversees
the work of the project team. Ensures the quality of all key
deliverables. Establishes project infrastructure and maintains
code repositories. Coordinates integration and testing efforts.
•
Architect
Responsible for technical
design of the solution and its key characteristics like performance,
security, reliability, flexibility, and ease of integration.
•
Visual Designer
Designs the visual dimension
of the solution with a focus on better user experience. Ensures
that design is appropriate for the target audience and effectively
satisfies business requirements.
•
Application Developer
Designs and develops
components of the solution including server-side code, data
repositories and databases, web pages, client-side scripts,
etc.
•
QA Specialist
Validates the quality
of the solutions delivered and that they meet the requirements
and designs specified earlier. Rational TestManager and Robot
are leveraged to automate the testing process.
Process
The process is the
crucial part of our methodology, which unites all other elements
and enables timely delivery of a high-quality product.
We believe in an intelligent
application of the Rational Unified Process (RUP) to the area
of our focus: building scalable eBusiness applications. McFadyen
has adopted the enterprise development toolset from Rational
and is committed to consistent use of Rational methods and
tools on all our projects.
While adopting the foundation
methodology and best practices from RUP, we have designed
our process to meet the specifics of our business, with special
consideration on the following factors:
- Support for solution development
on the ATG eBusiness platform and incorporation of our
extensive experience in ATG implementations;
- Ability to develop rapidly
and gain advantage from previous ATG projects;
- Integration of the process
into the customer's environment, teams, and processes;
- Support for each of our
service lines, which span the strategic, technical and creative
disciplines.
Our approach for managing client
engagements integrates business strategy, technology, and
creative design services. The process is a comprehensive method
of translating our clients' business goals into a quality
solution. It emphasizes an iterative development cycle with
multiple incremental releases to incorporate user feedback
and to keep pace with the Internet's ongoing technological
changes. Iterations are always composed of a sequence of four
phases:
• Inception
phase - specifying the end-product vision and its business
case, defining the scope of the project.
• Elaboration
phase - planning the necessary activities and required
resources; specifying the features, and designing the architecture.
• Construction
phase - building the product, evolving the vision, the
architecture, and the plans until the product is ready for
a first delivery to its users.
• Transition
phase - finishing the transition of the product to its
users, which includes manufacturing, delivering, training,
supporting, and maintaining the product until the users are
satisfied.
The way each phase is realized
on a particular client engagement depends on many factors,
including project scope and timeframe, level of understanding
of business and technical requirements, and risk tolerance.
Whether the project is a new build from the ground up, evolution
of existing system(s), or integration of applications, we
make sure that the process is optimized for the engagement.
While customizing the process, we follow two rules:
a) No phase is omitted altogether,
even if only minimal work is required to complete the phase;
b) No work is done without
purpose, without delivering client value.
Following the vision of RUP
we focus on its 6 best practices:
1. Develop iteratively to
mitigate risk early in the project
2. Effectively manage
requirements
3. Model visually to
manage complexity
4. Use component architectures
to build resilient architecture
5. Verify quality throughout
the lifecycle
6. Control changes
to software

Tools
As is the case with people,
the right tools are critical to the quality and timely delivery
of a product. Our methodology relies heavily on leading tools
to support technically complex, repetitive, labor-intensive
activities; to make sure our teams spend most of their time
delivering customer value, i.e. making decisions and incorporating
them into strategy, design, and technology.
At McFadyen Solutions we have
invested in the full enterprise set of Rational products and
are broadly using the following toolsets:
• Rational Requisite
Pro - for requirements management
• Rational Rose - for analysis, object modeling and architecture design
using UML
• Rational ClearCase - for source control and configuration management
• Rational ClearQuest - for issue tracking and management of defect resolutions
• Rational TestManager - for test management
• Rational Robot - for test execution
• Rational ProjectConsole - for an integrated overview of the project
In order to continuously improve
quality and efficiency of our work we build and leverage a
set of key intellectual assets including:
- Corporate standards
- Guidelines and best practices
- Reusable components and
templates
- Frameworks
Artifacts
The final dimension of
our methodology is the use of well-structured Artifacts. McFadyen’s
library of artifacts is extensive. The artifacts used are
based on the needs of the engagement. These include:
• Project Charter - clearly states project objectives and key stakeholders expectations.
Defines business and technical strategies, roles of the parties
and modes of communication on the project.
• Project Plan - outlines the execution path of a project by allocating
time and resources to each project activity.
• Business Requirements - elaborated view of how the new system shall accomplish business
objectives. Each business requirement gives the direction
to development and serves as criteria of acceptance.
• Functional
Requirements - description of how each feature of the
system is meant to function, interact with users and other
subsystems.
• Non-Functional
Requirements - specific requirements to system’s
performance, reliability, flexibility, maintainability, security,
etc.
• Visual Design
Specification - visual design of the solution and guidelines
for maintaining design. Includes visual characteristics like:
composition of pages, graphic elements, brand treatment, typography,
and color palette.
• Technical
Architecture Specification - identifies all functional
components of the system and how do they integrate with each
other and external systems. Defines all tiers of the application
and communication protocols between them. Maps deployment
of functional component onto hardware and network infrastructure.
Defines all key interfaces and points of integration.
• User Interface
Definition - specifies design of forms and pages for user
interaction, including navigation through the site and error
handling.
• Data Model - logical and physical database models.
• Test Plan - provides schedule for iteration builds and test execution.
Gives guidelines the types of testing to perform, such as
functionality testing, load testing, browser compatibility
security and user acceptance testing.
 |