• No results found

A Case for Online Agile Software Development Process. White Paper

N/A
N/A
Protected

Academic year: 2021

Share "A Case for Online Agile Software Development Process. White Paper"

Copied!
20
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)

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

(3)

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?

(4)

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.

(5)

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.

(6)

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.

(7)

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:

(8)

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.

(9)

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.

(10)

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.

(11)

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.

(12)

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.

(13)

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.

(14)

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.

(15)

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

(16)

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)

.

(17)

AZUR

/

whit

e paper

XI-Factory Design Interface for Business Analyst Professionals

(18)

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%)

(19)

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.

(20)

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

References

Related documents