ArtsAutosBooksBusinessEducationEntertainmentFamilyFashionFoodGamesGenderHealthHolidaysHomeHubPagesPersonal FinancePetsPoliticsReligionSportsTechnologyTravel

The Software Development Life Cycle

Updated on November 6, 2013
Source

From children under the age of 10 to senior citizens over 100, thanks to trends such as smartphones, tablets, and social media networks the average person interacts with an amazing amount of software for hours a day.

The key to creating software experiences that result in such widespread user adoption and engagement rests with the processes, strategies and methodologies used to develop.According to Technopedia, the Software Development Lifecycle (SDLC) is a process followed by a development team within a software organization that defines tasks performed at each step in the software creation process.

It is a structure and a framework that consists of a detailed methodology describing how to create, maintain, enhance and replace specific software. The lifecycle defines a plan for improving software quality as well as the overall development process.

Though SDLC or SDL is classified as a Software Development Lifecycle, it often gets confused with another SDLC, System Development Lifecycle. The System Development Lifecycle is a superset of the software life cycle and is a much broader aspect of the development phase covering both software and hardware requirements.

The SDLC is also often confused with the Project Life Cycle (PLC) which is comprised of the initiation of project planning as well as management of execution and delivery. The SDLC falls in the execution part of the broader PLC.

Source

Requirements Gathering and Analysis

This is the analysis and requirements gathering phase of the project and the most important part of software development. There can be many iterations of this phase however the most important types of analysis can be boiled down to three areas.

The first being environmental analysis where functions, processes and data models are analyzed. Second is the client-level environmental analysis which focuses on the functions and processes at the client side. The third component encompasses application level analysis and is considered to be the most detailed.

During this phase an initial assessment of the project is conducted and a feasibility study is carried out (often a sub-stage called Feasibility Analysis) by the most experienced software professionals in the organization.

A detailed blueprint is then outlined for all developers, designers, project managers and testers involved with the project. This stage involves extensive research with input from both the organization and its client.

Source

Design

The next step is the design phase that describes how the proposed solution (identified in the analysis phase) should be designed. System analysts convert the data model agreed upon in the analysis phase into a logical design. This occurs by breaking the information into logical chunks and then converting it into a physical design solution that is specific to and stored in the system’s technical environment.

Visual design also occurs in this stage. Aligning functional requirements with a pleasing and intuitive interface design is critical to the success of the application. Form and function must align perfectly for a truly impactful design.

Source

Development

The goal of the development phase in the software development life cycle is to implement and translate the vision of the design phase in the best possible manner. In this phase a team of programmers configure and develop code for software in accordance with what is agreed upon and finalized.

Each developer is assigned his separate development tasks such as developing, compiling and refining codes, creating databases, or preparing testing environments among others. Along with the development stage user documentation and creation of user procedure manuals are usually carried out in parallel.

The subsequent stages of integration, testing, maintenance, evaluation and enhancements will go smoother if optimal development processes are followed. If not, the client faces an expanded scope and increased budget.

Source

Maintenance and Evaluation

The maintenance phase of the software development life cycle describes tasks to maintain and evaluate the software systems in a production environment. Application support services and the operations teams are responsible for providing on-going support and maintenance of developed products and the related documentation.

Even though all the stages in an SDLC are independent not every project will have all the phases sequentially executed. According to Wikipedia, depending upon the size and complexity of the project phases in an SDLC may be combined or may overlap.

Source

In the end, the structure of an SDLC can adapt according to the nuances of each client and individual software project. But the importance of taking a structured, methodical, and feedback driven approach is crucial to creating software that is accepted by stakeholders and widely adopted by the targeted user base.

The Role of Leadership in Software Development

Self-Organization: The Secret Sauce for Software Development

working

This website uses cookies

As a user in the EEA, your approval is needed on a few things. To provide a better website experience, hubpages.com uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at: https://corp.maven.io/privacy-policy

Show Details
Necessary
HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
LoginThis is necessary to sign in to the HubPages Service.
Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
AkismetThis is used to detect comment spam. (Privacy Policy)
HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the googleapis.com or gstatic.com domains, for performance and efficiency reasons. (Privacy Policy)
Features
Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
MavenThis supports the Maven widget and search functionality. (Privacy Policy)
Marketing
Google AdSenseThis is an ad network. (Privacy Policy)
Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
Index ExchangeThis is an ad network. (Privacy Policy)
SovrnThis is an ad network. (Privacy Policy)
Facebook AdsThis is an ad network. (Privacy Policy)
Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
AppNexusThis is an ad network. (Privacy Policy)
OpenxThis is an ad network. (Privacy Policy)
Rubicon ProjectThis is an ad network. (Privacy Policy)
TripleLiftThis is an ad network. (Privacy Policy)
Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
Statistics
Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
ClickscoThis is a data management platform studying reader behavior (Privacy Policy)