SLDC Presentation

Preview:

DESCRIPTION

A High level overview of the software development lifecycle

Citation preview

Charles HusemannPrincipal I Consultant at Cardinal Solutions

Chapter 10:Systems Development

Speaker Background

• Graduated from Miami in 1995 (I am old)• ~ 15 Years of IT Consulting experience– Worked with OPERS, STRS, Cigna, Liebert, Frank

Russell– Software design and development– Business Analysis– Project Management– Sales

• Microsoft Xbox MVP

Overview

(I can see my house from here)

So you want to build some software?

(We're from IT and we're here to help)

What is System Development?

Process of designing, building, and maintaining a system that delivers value to a business

That sounds hard. Can't I just throw a bunch of programmers in a room and have them code

stuff?

Not so much:Garbage in, garbage out

Why is this bad?

• Coders go wild without requirements• Spiraling costs• Lack of schedule• End system will not meet requirements

Software Development Lifecycle (SDLC)

• Different types but common steps• Steps:– Definition: Establish scope and goals of the

project. – Analysis: What are we doing– Design: How are we doing it– Implementation: Build It– Support: Maintain and enhance system

System Definition

• Why do you need the system?– Business need/law change– Return on Investment

• Define high level goals for thesystem

• Feasibility of the system– Technical– Organizational– Staffing– Schedule

Analysis/Design

• Most important part of the process• Describe how the system should work in detail• Gather and document requirements• Convert business requirements into

technical requirements• Lots of meetings

Analysis/Design (continued)

• What users help provide– Subject Matter Expertise – User Interface (UX)– Process Flow/Business logic

• Transformed into:– Hardware specs– Database designs– Code specifications

Class Participation Time

• Gather requirements for an address entry screen

Implementation

• Software and database guys do their work• Testing– System– Integration– User Acceptance

• Push code into production

Maintenance

• Bug fixes• Enhancements and features– Things pushed out of development cycle– New scope items found in development– New features suggested by users after system was

in place

Software Development Problems

• Estimating is a crap shoot at best– All estimates are lies

• Gathering good requirements is hard• Technology and business changes

during project• Managing scope and

expectations

Waterfall SDLC

Some can be solved with newer methodologies

• Several iterations instead of one long project• Constant user involvement• Working system over project documentation• Check out the Agile manifesto for more details

Iterative SDLC

Two Project Tools

• Iron Triangle• Mythical Man Month

Iron Triangle

Reso

urce

s (Co

st)

Schedule

Scope

Mythical Man Month

• Brook’s Law – Adding more people makes the project worse

• “Nine women can’t have a baby in one month”

Final notes:

• Creating systems is as much of an art as it is a science

• Software development is a partnership – Give and take between the sides but the more you

communicate your needs the better things work out

– Works best when both sides follow Wheaton's Law

Questions?

Contact Information:(Available for career questions/children’s parties)

chusemann@cardinalsolutions.comchusemann@gmail.com

www.charleshusemann.comTwitter.com: @chusemann

Kanban (Lean)

Recommended