View
1.206
Download
1
Category
Tags:
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