Increasing Proficiency of Business Analyst Professionals
A Case for Online Agile
Software Development Process
Discover how a new collaborative solution
with unique online software code generation
capabilities can help you win software
modernization projects more easily
CONTENTS
BUSINESS CONTEXT
3
SOFTWARE MODERNIZATION USING
CONVENTIONAL METHODS
4
OVERCOMING THE TOP THREE CHALLENGES
OF SOFTWARE DEVELOPMENT
6
CHALLENGE #1:
SPEED OF APPLICATION DEVELOPMENT
7
CHALLENGE #2:
TEAM COMMUNICATION
9
CHALLENGE #3:
INFRASTRUCTURE DEVELOPMENT
11
SOFTWARE MODERNIZATION USING
A NEW ONLINE AGILE APPROACH
12
XI-FACTORY AT WORK IN THE
HEALTH CARE BUSINESS SECTOR
16
CONCLUSION
20
AZUR
/
whit
e paper
BUSINESS CONTEXT
There may be no IT challenge more compelling for today’s
businesses than cloud computing.
The shift to the cloud is
inevitable
, and most organizations will move toward a mix
of private (in-house) and public (remote) clouds. To build
a comprehensive cloud-based offering, organizations
need to quickly develop new cloud-based software and
modernize any software based on older technologies and
hardware that continues to provide core services.
The industry is currently overflowing with millions of such applications that are reaching the end of their life cycle. Many old desktop applications, for example, are built from a variety of generic technologies, such as client-server applications, spreadsheets, and database management systems. These legacy applications, like other intangible assets, are hard to emulate by competitors, which is why they represent key differentiators and a source of competitive advantage. Typically, a significant investment in intellectual capital has been made in legacy systems over time.
Another reason for modernizing these systems stems from the fact that desktop applications are prone to growth and increasing complexity over time. An application that started as a simple low-scale prototype can grow to a critical business application that supports tens and sometime hundreds of users!
To stay current with business needs, legacy applications must be quickly recycled into a modern format.
Moreover, many corporations recognize the need to renew legacy mainframe applications in order to provide a Web interface and improve interconnections with customers and partners.
However, new software development and software modernization projects are taking too many analysis, design, development and QA cycles. Poor time-to-market combined with prohibitive development costs are slowing down most organizations.
In this rapidly changing situation,
there are great opportunities for business analyst professionals who can propose efficient modernization solutions at a fraction of the initial development cost. Business analysts need to prepare themselves to adapt successfully to a rapidly changing business environment.
Is there a way to greatly
reduce these business pains
in order to leverage the
cloud’s efficiencies—from
both an economic and
operational perspective?
AZUR
/
whit
e paper
SOFTWARE
MODERNIZATION
USING CONVENTIONAL
METHODS
Once organizations get a feel for which legacy software
needs to be modernized, they must evaluate the most
cost-effective methods for doing this. Traditionally, there
are three strategies for introducing distributed-object
concepts into existing legacy software systems:
I.
Start from scratch: Redevelop the business
applications. This approach frees developers
from any consideration of existing systems.
However, every function must be implemented
and tested in a new language and a new
environment, which is expensive and
time consuming.
II.
The reengineering approach: Engineers convert
the programs of existing systems to
object-oriented programs, and distribute objects
appropriately. This approach is promising since
it is not necessary to implement functionalities
that already exist. However, code conversion
is not easy.
AZUR
/
whit
e paper
III.
Wrap components of the existing systems
and invoke them from the distributed
object-oriented environment: Wrapping is a method of
encapsulation that provides clients with modern
interfaces for accessing server applications or
components. This approach is recommended for
large mainframe legacy systems; in the case of a
20-million line system, it’s impossible to rewrite all
the code manually without making mistakes. And
even just a few mistakes can have a large effect
on your organization’s business operations.
When all is said and done, various conventional methods and techniques can be used to renew a system, but in many cases these approaches rely on costly manual development operations.As for outsourcing IT services to lower development cost, studies show that although it looks affordable, it’s not easy to have multifaceted software built thousands of miles away. Outsourcing is great when the level of service complexity is low, which is not the case for the development of complex data management software.
Cost savings achieved from outsourcing software development and testing can be more than offset by the business cost of frustrated customers and users due to poor quality software and delayed projects.
Nearshoring IT services, however, offers the following benefits: fewer time zone differences, geographical proximity, and more cultural/language similarities but still it’s not enough because of higher service costs.
AZUR
/
whit
e paper
3
OVERCOMING THE TOP
THREE CHALLENGES
OF SOFTWARE
DEVELOPMENT
When developing software, it’s necessary to take
into account the basic phases of development:
»
»
requirements gathering,
»
»
analysis and design of possible solutions,
»
»
development of the application,
»
»
testing and quality assurance,
»
»
deployment, and
»
»
application maintenance.
While these steps are a fundamental part of any software development process, organizations have come to realize that a focus on any single model (e.g., “waterfall development”) can lead to a number of challenges. We’ll discuss these challenges, as well as approaches to overcoming them.
AZUR
/
whit
e paper
CHALLENGE #1:
SPEED OF APPLICATION
DEVELOPMENT
Time is crucial in a software development project,
because of the continuous evolution of the way
organizations do business, collaborate within other
organizations and customers, and modify internal
business processes. These organizations are relying
more and more on network-based technologies (from
local to wide-area networks), and Web-based applications
have taken over traditional client-server programs due
to the fact that they are easier to deploy, as well as
being portable, thin, and flexible.
However, developing faster and better applications is still a pain point for organizations that have not been able to speed the development process and that suffer lags between requirements and application functionality.
Boosting the speed of development requires more than just adding
resources to the project and distributing workloads over the team. It also requires the right methodology for providing means and tools to achieve the rapid development and quality assurance. “Agile” development methodologies can leverage high-quality Web applications, while achieving smaller goals quickly— typically, every two or three weeks, which eases frustration among team members and shows results quicker.
As an incremental development model, an agile methodology enables development of Web applications that can evolve and scale without compromising performance and execution of the project. It also provides the means to deploy incremental phases with less effort than with traditional development approaches. And as an adaptive method, an agile model also provides the means to adapt to changing conditions. Bear in mind, however, that software development projects often rely on a hybrid approach rather than adhering to a single orthodoxy. A pragmatic approach can make use of elements from both agile and waterfall models. For example, you may adopt various components of the agile model:
AZUR
/
whit
e paper
enforcing regular collaboration with stakeholders
(users and project team) throughout the entire
software development life cycle,
adapting to changing conditions and requirements,
enabling quick responses by detecting points
of success and failure early, and
increasing the likelihood of customer satisfaction by
obtaining feedback on the software early and frequently.
At the same time, you may also adopt some approaches that are characteristic of waterfall development:All team members (whether senior developers or
not) have a strong, complete understanding of the
requirements from the beginning of the process. This
offsets some risk if the departure of some team members
leads to the necessity of adding new team members.
Estimations on deliverables and budgets are more
precisely calculable, which provides the client with
a firmer time frame and cost for their project.
AZUR
/
whit
e paper
CHALLENGE #2:
TEAM COMMUNICATION
Communication among team members is essential
at all stages of the development process, in order to
communicate objectives and requirements as well as
to conduct project management and testing activities.
It’s vital to ensure that all team members and stakeholders have the proper tools and rules to promote communication of requirements, milestones, and achievements. This is especially important with projects that involve a large number of team
members or projects that have an extensive impact over multiple business areas within the organization.
This said, lack of communication is a frequent and significant pain point, and can result in project delays caused by slow transmission of objectives, misleading communication of priorities, lack of ability to maintain development process quality, failure to meet requirements, or simply outright failure to produce a product with the required functionality, features, and quality standards.
AZUR
/
whit
e paper
You can improve communication and collaboration from two different angles:
I.
Ensure the proper framework and methodology,
which an agile development model can enhance
(as opposed to different teams for each phase
communicating through the documentation,
modeling, etc., of the previous phase).
This approach involves
a
.
precise definition of roles and functions,
b
.
a culture of cooperation, and
c
.
a defined product development strategy.
II.
Use the proper mechanisms and tools to
promote collaboration strategies:
a
.
share information at all stages of
the development process,
b
.
encourage team interaction in real
time or near–real time, and
c
.
manage user groups and
development groups.
Collaboration means more than chit-chat between team members. It means sharing knowledge, contributing to development, and communicating results—especially testing and quality assurance—as well as promoting commitment to (and agreement on) common goals.
AZUR
/
whit
e paper
CHALLENGE #3:
INFRASTRUCTURE
DEVELOPMENT
In traditional development projects, setting the
right infrastructure means creating all the necessary
environments—development, testing, and production—
to deploy the Web application. Over time, defining these
platforms has proven to be challenging, followed often
by failure to deploy into the right environment. This is
especially true for Web application development, for
which data volumes and functionality complexity can
change radically and rapidly.
There are a few characteristics of successful platforms for Web application development. Here’s what you should look for:
Scalability, to grow and expand according
to new requirements
Flexibility, for reconfiguration and change
in the face of new operational conditions
Security, to ensure that all application assets (data,
software, and hardware) are free of security threats
Reliability, in order to maintain performance standards
as well as to deliver low or no downtime if possible
Ease of maintenance, to ensure that changes in
features do not represent an excessive drag of
effort, time, and money
Nowadays, many organizations are turning their attention toward cloud computing platforms, and exploring the possibilities for deploying Web applications on a cloud
computing platform to lower infrastructure costs.
Tying resources to a cloud structure enables an organization to use a third-party organization (i.e., resources are located outside the organization, in a public cloud) or business department (i.e., resources can reside inside the organization, in a private cloud) to provide them with the right type of computing service required, whether it be an application, storage space, or computing process capabilities.
AZUR
/
whit
e paper
AZUR Group is now introducing to a wider audience XI-Factory (www.xifactory.com) for business analyst professionals. XI-Factory has been designed to support an online agile process. The agile software development methodology is based on iterative and incremental development, where requirements and solutions evolve through collaboration between cross-functional teams located anywhere in the world. This methodology is well suited for distributed software development, especially across many time zones. A new approach to software modernization thus relies on the
increase efficiency of business analyst
professionals using a distributed and
automated Agile software development process,further strengthened by a new class of online technology innovations. The main advantage is that customer teams of subject matter and IT experts are getting involved with our teams of IT experts trough a unique collaborative process to maximise communication. Using XI-Factory, all involved teams can much better synchronize their efforts by securely designing and validating online software requirements, data models, functional models, analysis documents, prototypes, and much more…
SOFTWARE
MODERNIZATION
USING A NEW ONLINE
AGILE APPROACH
At AZUR Group, and over a ten years period, we have
found that to reduce software development cost and
deliver high quality software quickly; we needed to
provide our business analysts with an expert online
collaborative solution to support our IT services.
AZUR
/
whit
e paper
This approach optimizes the process of creating affordable solutions from existing systems (or new business needs), and provides the following organizational benefits:
Accelerated time to market
Assured software compliance and quality
Increased customer satisfaction
Improved visibility and alignment across the entire team
Reduced project costs and risks
Business analysts use XI-Factory’s online collaborative processes combined with
automatic software code generation capabilities to help organizations quickly
develop the software solutions at a cost they can afford. With XI-Factory’s major online features, business analysts can:
Design software data and functionality models
Write software analysis artefacts
Connect worldwide with other business analysts,
project stakeholders and staff
Automatically generate working software prototypes
business users can try online
Assign software reviews of prototypes, requirements,
and change requests
Receive feedback in a standardized format
Manage the review process with a progress dashboard
Automatically generate software source code, at each
construction iteration, for the development team
XI-Factory thus combines the features of enterprise requirements management software with the ease of use and collaboration benefits of a web-based application. It helps business analysts write and manage software use cases, requirements, change requests, and test scenarios with test steps.
AZUR
/
whit
e paper
That said, it’s no secret that designing software models can be one of the most challenging parts of a new software development project. It’s difficult for business stakeholders to concisely describe exactly what they want in such a way that the end product will be exactly what they envisioned. XI-Factory helps business analysts design entity-relationship models and normalized data models using hierarchical representations. It also provides a library of predefined
software model templates per industry and business function, which allows business analysts to jump-start their work. Moreover, feature and data models can be copied into another solution to accelerate their work. And to bring these models alive, business analysts can use XI-Factory unique online software code generator
to instantly generate working software prototypes to facilitate stakeholder’s comprehension of these models by trying the envisioned applications online from anywhere.
XI-Factory implements and automates a Model Driven Architecture (MDA) approach to ease the automated migration of legacy business software into new sets of modern technologies and cloud-based platforms. In our experience with numerous prior customer projects, XI-Factory can quickly and iteratively generate 40% to 90% of the software source code (N-Tier architecture: Silverlight, WPF, or HTML5/jQuery; .NET, DBMS code, and tables), depending on the level of complexity of the software being built. And because of XI-Factory high level of productivity, we are able to compete against overseas
outsourcing economics.
XI-Factory can quickly and iteratively
generate 40% to 90% of the software
source code (N-Tier architecture:
Silverlight, WPF, or HTML5/jQuery; .NET,
DBMS code, and tables), depending on the
level of complexity of the software being
built. And because of XI-Factory high level
of productivity, we are able to compete
against overseas outsourcing economics.
AZUR
/
whit
e paper
Here are some of the most common development and integration scenarios for XI-Factory:
New software development and desktop legacy system
modernization projects. Organizations can use all the
code generated by XI-Factory, with the option of using a
programming language conversion tool to convert some
business rules from the old system to the new one.
Organizations can also use parts of the code generated
by XI-Factory combined with a middleware Web
service linking a modern user interface with the existing
customer object-oriented framework and database.
For mainframe legacy system modernization projects,
organizations can adopt an incremental migration
strategy based on the reengineering of the user interface
using XI-Factory and the wrapping of legacy programs.
A middleware Web service links the new Silverlight or
HTML5 user interface to the wrapped legacy system.
XI-Factory delivery process is relying on the Microsoft Windows Azure Platform
to provide software releases in development, testing and production phases. XI-Factory enhances and is built on the following technologies:
Visual Studio 2010, 2012
SQL Server 2005, 2008 R2, 2012, SQL Azure
Windows Azure Platform
.NET 4.0, 4.5
Silverlight 5.0, WPF, HTML5, JQuery
Windows 8 (C#,XAML)
Windows Server 2003, 2008 R2, 2012
Team Foundation Server 2010, 2012
SharePoint 2010, 2012
AZUR
/
whit
e paper
The MUHC is one of the world’s foremost academic health centers. Building on the tradition of medical leadership of its founding hospitals, the MUHC provides exceptional multidisciplinary patient-centric care. The MUHC is affiliated to the Royal Victoria Hospital and several other hospitals in Montreal.
Primatabase Concept Company is expert in the IT medical field and selected AZUR Group to help build a major data management software integrated with a new mobile application. In addition, a Kuwaiti
partner is highly interested in the medical knowledge of the Royal Victoria Hospital Cardiac Surgery Division. All the project’s stakeholders have decided to unite their efforts to modernize the current MUHC software and database in order to obtain and share the same quality indicators. At the end of the project, the final version of the software will be deployed on the RVH private cloud and on the Windows Azure public cloud to allow some Kuwait physicians to access it securely worldwide.
XI-FACTORY AT WORK
IN THE HEALTH CARE
BUSINESS SECTOR
AZUR Group, Primatabase Concept, and the McGill
University Health Centre (MUHC) cardiac surgery
division are proud to announce the development of a
rich Internet application for the
management of cardiac
surgery information at the Royal Victoria Hospital (RVH)
.
AZUR
/
whit
e paper
XI-Factory Design Interface for Business Analyst Professionals
AZUR
/
whit
e paper
Number of business processes 3
Number of Web applications 10
Number of screens 63 Number of fields 603 Number of actions 123 Number of relational tables 41
39 linked tables automatically generated with XI-Factory 2 tables manually added
Number of stored procedures 177 Number of reports 7
Total number of lines of software code 30,254 lines (100%)
Total number of lines of code automatically generated with XI-Factory 25,687 lines (85.5%)
Total number of lines of code manually added 4,387 lines (14.5%) Calculation details of the number of lines of code:
Presentation layer:
Total number: 12,707 lines
Number of C# lines of code generated: 10,908 lines (85.85%) Number of C# lines of code manually added: 1,799 lines (14.15%) Business layer:
Total number: 6,656lines
Number of C# lines of code generated: 4,682 lines (70.34%) Number of C# lines of code manually added: 1,974 lines (29.66%) Data access layer:
Total number: 10,891 lines
Number of SQL lines of code generated: 10,277 lines (94.36%) Number of SQL lines of code manually added: 614 lines (5.64%)
AZUR GROUP EFFORTS – RVH CARDIAC SURGERY SOFTWARE – AGILE SOFTWARE DEVELOPMENT METRICS
Project 8 iterations (650h.) Management 65 hours (10%) Analysis 130 hours (20%) Design 32.5 hours (5%) Development 253.5 hours (39%) Deployment 32.5 hours (5%) Test 130 hours (20%) Training 6.5 hours (1%)
AZUR
/
whit
e paper
Business analysts can prepare themselves to adapt successfully to a more rapidly changing business environment by embracing new
technology. Increase your speed.
Greater opportunities come to individuals that can respond quickly. Customers value speed in providing services and delivering orders and are sometimes willing to pay extra for a quick response.
Business analysts who are fast and flexible generally reduce costs by minimizing their consumed time on a project. As a business analysis
CONCLUSION
Organizational change is not optional to keep pace
with business. All organizations, at one time or another,
face essential modifications to some aspect of their
business. Major analysts firms are stating that public
and private spending in cloud computing will increase
exponentially over the next few years, resulting in an
available jobs boost of million positions worldwide.
There is an explosion in both the use of cloud
computing and the demand for people to assist
in the mass migration to cloud.
professional, you need to continuously review how you can reduce the time spent on work, either in increments or in quantum leaps. Always look for breakthroughs that will allow you to get more done faster and with fewer people. With this white paper, we are
proposing a new and unique way to build software for private and public clouds. We encourage business analyst professionals to try XI-Factory’s Online Agile Software Development Process and see how it can greatly improve your ability to propose and win modernization projects more easily.
AZUR Group Inc. 465 Saint-Jean Street Suite 400
Montreal (Quebec) H2Y 2R6 Canada
The AZUR Group mission is to offer a competitive nearshoring business model by optimizing its online agile software development process to develop secure, high-performance, robust, and affordable software for medium and large companies in North America.
With over 10 years of development mandates, support and application integration, the AZUR Group has developed a cost-effective process that allows creating solutions that meet today’s requirements and that grow with your business. Since 2000, we have built and deployed hundreds of web applications in a timely and cost-effective manner. We control complexity and take pride in delivering secure and reliable solutions with efficiency and accuracy.
Our team of highly skilled business analysts,
software engineers, designers, developers and
database experts make your projects come
to life using cutting edge technology and the
industry’s highest standards.
XI-Factory incorporates the AZUR Group’s knowledge and expertise acquired over 10 years in R&D efforts and customers projects.
Contact us today for a free assessment of how XI-Factory can fit your business needs.
Ask for a free training webinar!
We look FoRWARd To HeARIng FRoM you!
T: +1 514 281-0061 [email protected] www.azurgroup.ca