1 of 37

Slide Notes

DownloadGo Live

Copy of Copy of The Software Development Lifecycle

From Idea to Software Product

PRESENTATION OUTLINE

INTRODUCTION TO SOFTWARE DEVELOPMENT

Photo by CoCreatr

We provide software development and training services to individuals and businesses in emerging and underserved markets. We are very passionate about bridging the digital and software development skills gaps in our communities and promoting digital inclusion. iBez owns Handy-Jacks, www.handy-jacks.com which connects homeowners with vetted, skill assessed, and competence graded handymen, tradespeople & technicians in their neighbourhoods, and Lets-Share, www.lets-share.com a secure online platform from where verified accommodation seekers can safely find spare bedrooms to rent in a flat or house share. Lets-Share is due to be launched in Q4, 2018. We are members of the Institute of Software Practitioners of Nigeria (ISPON), the Nigeria Internet Registration Association (NiRA), are ISO9001 qualified and listed as one of the top 250 SMEs in Nigeria in 2018. For more information about who we are and what we do, visit www.ibez.com.ng.

What is
Software Development?

There is an incorrect perception that Software Development is just 'Coding'

Creating a software product or application e.g., a website, database, mobile app or enterprise application etc. usually starts off as an idea, need or requirement before it becomes an actual, physical or tangible product.

Photo by duncan

Software Development is the process of planning, creating, testing and deploying a website, database, mobile app, enterprise application etc.

Photo by duncan

The Software Development Lifecycle

  • The SDLC is the process or phases involved in the invention or creation of an information system / software product.
  • It is the sequence of activities that software developers follow to create a software product.
  • It is called a Life cycle because it has a beginning and an end.
Photo by ahmetusal

THE SDLC

& career SPECIALISATIONS in each phase
Photo by cod_gabriel

Planning

Photo by tim caynes

Planning starts with an Initial Idea, Need or Requirement. This needs to be carefully thought through and planned out before it can be developed into a website, database or software application.

Photo by tim caynes

Planning for software projects

  • Process – What, When, How, Duration, Feasibility, Resources, Budget
  • Tools – Project Planning Software e.g., MS Project
  • Output – Project Plan, Schedule
  • Who does this? – A Project Manager, A Business Analyst
Photo by tim caynes

Project Management

  • The people who supervise a software development project from the planning stages through implementation sometimes are called Information Technology (IT) Project Managers. They monitor the project's progress to ensure that it meets deadlines, standards, and cost targets.

business Analysis

Photo by notfrancois

Business Analysis is Requirements Gathering, Collection of facts that describes how the user currently works and what they require

Photo by notfrancois

HOW Analysis IS DONE

  • Interview the client to find out how they plan to use the software
  • Process - Questions, Research, Interviews, Observation, Questionnaire
  • Tools – Questionnaires, Abacus, SWOT
  • Output – BRD, Acceptance Criteria
  • Who does this? – A Business Analyst, A Tester
Photo by notfrancois

A BUSINESS ANALYST

  • A business analyst takes responsibility for talking to the business users of the computer system to understand their needs. Instead of producing plans, the business analyst produces 'requirements' which clearly state the business needs and align with business processes.

System Design

Photo by geishaboy500

Translating, mapping out and documenting the blue-print of the desired system based on the BRD.

It is creating the visual layout, screens, logic, system architecture, process flow and business rules.

Photo by geishaboy500

HOW TO Design SYSTEMS

  • Process: Identify the core functionality that users need, alternative flows and those that are unrelated to the functions of the software, such as security & performance needs. Add business rules and logic.
  • Tools: UML
  • Output: FSD, Architecture Doc, Wireframes
  • Who does this: System Designer, System Architect, Graphic Designer, UI/UX Designer, Website Designer
Photo by geishaboy500

A SYSTEM DESIGNER

  • As a systems designer, you will visually design new IT solutions, modify, enhance or adapt existing systems and integrate new features or improvements, all with the aim of improving business efficiency and productivity.

Coding

Translating the design from the technical documents into machine readable language.
Also involves configuration, integration, and database development

Coding

  • Write machine language e.g., C#, Lavarel
  • Tools – WordPress, Notepad++, Google Web Toolkit
  • Output – Source Code
  • Who does this? – Coder or Programmer, Database Developer, Website Designer

Testing and QA

Photo by Peet Sneekes

Testing is about checking the beta product or code for errors, bugs, defects to verify that it works according to what was requested, the acceptance criteria, and conforms to performance & regulatory standards.
There are various types of tests – Unit, System, Integration, UAT, Penetration, Vulnerability, Agile, Sanity, Regression etc.

Photo by Peet Sneekes

HOW TO Test SOFTWARE

  • Process: Create a test plan, scenarios & then scripts from the BRD and FSD. Go through the system using the test scripts. If the program does not work as expected, it is sent back to the coders to fix the problems or improve the program.
  • Tools: Quick Test Pro, QA Complete
  • Output: Test Results, Product
  • Who does this? – A Tester, A Business Analyst, A support analyst
Photo by Peet Sneekes

A Software Tester

  • As a software tester, you are involved in the quality assurance stage of software development and deployment. You'll conduct automated and manual tests to ensure the software created by developers is fit for purpose.

IMPLEMENTATION

Photo by CeeKay's Pix

IMPLEMENTATION

  • Implementation of Product, Deployment
  • Tools - Plutora Release Manager
  • Output - Actual Product
  • Who does this - Implementation or Release Manager
Photo by CeeKay's Pix

Maintenance and Support

  • Who does this? – Support Analyst, DBA, SysteTechnology constantly evolves, along with the underlying trends on how they are used so this needs to be monitored constantly to guarantee that the application retains its original design, functionality and to keep it functioning at a high level.
    m Administrator

Untitled Slide

An Application Support Consultant

  • An Application Support Consultant provides technical support to customers. They carry out trouble shooting, maintenance, updates, modifications, training, software testing, bug fixing, technical documentation, etc. They are technical in nature, but enjoy interacting with people.

We have gone through the various software development phases and career options within them to enable you expand your horizon and choose what area you will like to grow your career in.

Career SPECIALISATION IN Software Development

  • Business Analyst, System Analyst, System / Technical Architect, Coder / Programmer, Test / QA Analyst Graphic Designer, Website Designer Database Administrator, Support Analyst, Development Manager, Project Manager, Content Developer, / Software Publisher / Technical Writer, UI/UX Developer, Release Manager, System Administrator, Product Manager, Data Analyst, IT Consultant, IT Sales,
Photo by Joye~

CORE AREAS OF NEED IN NIGERIA

  • Business Analysis
  • System Design
  • Software Testing
  • Application Support
  • Software Project Management
  • Data / Database Management
  • Data Analytics

Follow ON courses

  • Website Dev Masterclass
  • • Database Dev Masterclass
  • Business Analysis Masterclass
  • System Design Using UML Masterclass
  • System Testing Masterclass
  • Software Project Management Masterclass

ANY QUESTIONS?