LifeCycle Solutions - Home Friday, November 21, 2008
 
Contact Us Today!
TEL: (601) 914-2906
FAX: (866) 229-7401
E-mail sales@lifecycle

Office Location
640 Lakeland East Drive
Suite A
Jackson, MS 39232      

Mailing Address
4209 Lakeland Drive, #215
Jackson, MS 39232

NEW TO SOFTWARE DEVELOPMENT?

While many of our customers have a great deal of experience with the processes involved in developing a customized software solution, we often work with businesses who are embarking on their first software development project.  To those customers, the prospect of creating a new application can often be daunting.  We make it our goal to communicate openly, and often, with all of our customers to be sure that they are always comfortable with what's going on with their project.  If the process of developing custom software is new to you, please read below for an overview.

The Development Lifecycle
In the software industry, we refer to the phases of a software project as its lifecycle.  The key to a successful development project is understanding the clear distinction between each of the phases and how they relate to each other (this concept is so important that we named our company after it!).

The lifecycle of a software application can be divided into the following phases:

Discovery
The discovery phase of a software development project focuses on determining the customer's needs and formulating a plan for meeting those needs.  During the discovery phase, our staff will communicate with the customer through meetings, e-mail correspondence and personnel interviews to better understand the scope of the project.  It is during this phase that project feasibility will be assessed and a plan for moving into the design phase will be formulated.  At the completion of the discovery phase, the customer will receive a non-technical Vision/Scope document that outlines our understanding of the work to be completed; this document gives the customer assurance that we understand their business objectives and serves as a framework for the other phases of the project.

Design
When the discovery phase is complete, our staff will begin the design phase of the project.  The focus of the design phase is taking the business objectives outlined in the discovery phase and mapping them to a technical solution.  During this phase, our software architects will develop a "blueprint" of the project.  The customer will be active in this phase by helping to guide our architects to be sure that our approach meets their needs and expectations.  The customer will be asked to provide feedback on various design elements, including working and "paper" prototypes, data models, etc. 

The software development process is iterative by nature -- when new requirements are revealed in phases following the discovery phase, the development team must cycle back through the previous phases and determine how the new discovery affects the overall project.  We ask customers to be very hands-on in the discovery phase in order to help us identify all project requirements as early as possible.  This approach helps us to keep costs down and deliver projects on time.


Production
When a design specification has been completed, our staff will begin implementation.  It is during this phase that code is written, databases are designed, servers are configured, etc.  Like the other phases in the lifecycle, production is an iterative process.  If new discoveries are made in production, the previous phases must be revisited to determine the impact of the discovery.  Production also includes "unit testing" -- we test pieces of the project independently from the other pieces to help isolate flaws early in the process.  At the end of the production process, we perform "system testing" to ensure that the pieces function together properly.

Deployment
The deployment phase of the development lifecycle involves "user acceptance" testing, deployment configuration, and finally, product rollout.  "User acceptance" testing is a final "buy-in" process that customers are asked to perform to ensure that the software works as expected before it is released.  Deployment configuration is also performed during this phase -- deployment configuration involves installing the new software in its final, production environment.  When the customer is satisifed that the product is release-worthy and the deployment configuration is performed, the first version of the software may be released.

Maintenance
One of the most frequently overlooked areas by organizations new to the concept of custom software development is the role that ongoing maintenance plays in the life of software.  There will inevitably be problems that must be fixed, new features that must be added, and changes and enhancements requested by users of the system.  Over the lifespan of an application, the majority of the cost of ownership of the system is spent on system maintenance and enhancements. 

Retirement
As they say, "nothing lasts forever."  At some point, all applications reach a stage in which their usefulness has expired, either due to changing business environments or changes in the technology landscape.  We strive to treat all projects as building blocks, so that the maintenance phase of their lifecycle can be maximized to produce the longest lifespan possible.  When it's time for our customers to retire an application, we'll be right there with them, able to help guide them to a new solution that provides even more value to their business.

Privacy Policy | Legal Notices
© 2006 LifeCycle Solutions, LLC | All Rights Reserved