Charles HusemannPrincipal I Consultant at Cardinal SolutionsChapter 10:Systems Development
Speaker BackgroundGraduated from Miami in 1995 (I am old)~ 15 Years of IT Consulting experienceWorked with OPERS, STRS, Cigna, Liebert, Frank RussellSoftware design and developmentBusiness AnalysisProject ManagementSalesMicrosoft 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 requirementsSpiraling costsLack of scheduleEnd system will not meet requirements
Software Development Lifecycle (SDLC)Different types but common stepsSteps:Definition:  Establish scope and goals of the project. Analysis:  What are we doingDesign: How are we doing itImplementation: Build ItSupport: Maintain and enhance system
System DefinitionWhy do you need the system?Business need/law changeReturn on InvestmentDefine high level goals for thesystemFeasibility of the systemTechnicalOrganizationalStaffingSchedule
Analysis/DesignMost important part of the processDescribe how the system should work in detailGather and document requirementsConvert business requirements intotechnical requirementsLots of meetings
Analysis/Design (continued)What users help provideSubject Matter Expertise User Interface (UX)Process Flow/Business logicTransformed into:Hardware specsDatabase designsCode specifications
Class Participation TimeGather requirements for an address entry screen
ImplementationSoftware and database guys do their workTestingSystemIntegrationUser AcceptancePush code into production
Maintenance Bug fixesEnhancements and featuresThings pushed out of development cycleNew scope items found in developmentNew features suggested by users after system was in place
Software Development Problems Estimating is a crap shoot at bestAll estimates are liesGathering good requirements is hardTechnology and business changes during projectManaging scope and expectations
Waterfall SDLC
Some can be solved with newer methodologiesSeveral iterations instead of one long projectConstant user involvementWorking system over project documentationCheck out the Agile manifesto for more details
Iterative SDLC
Two Project ToolsIron TriangleMythical Man Month
Iron TriangleScopeResources (Cost)Schedule
Mythical Man MonthBrook’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 scienceSoftware development is a partnership Give and take between the sides but the more you communicate your needs the better things work outWorks best when both sides follow Wheaton's Law
Questions?Contact Information:(Available for career questions/children’s parties) chusemann@cardinalsolutions.comchusemann@gmail.comwww.charleshusemann.comTwitter.com: @chusemann
Kanban (Lean)

SLDC Presentation

  • 1.
    Charles HusemannPrincipal IConsultant at Cardinal SolutionsChapter 10:Systems Development
  • 2.
    Speaker BackgroundGraduated fromMiami in 1995 (I am old)~ 15 Years of IT Consulting experienceWorked with OPERS, STRS, Cigna, Liebert, Frank RussellSoftware design and developmentBusiness AnalysisProject ManagementSalesMicrosoft Xbox MVP
  • 3.
    Overview(I can seemy house from here)
  • 4.
    So you wantto build some software?(We're from IT and we're here to help)
  • 5.
    What is SystemDevelopment?Process of designing, building, and maintaining a system that delivers value to a business
  • 6.
    That sounds hard. Can't I just throw a bunch of programmers in a room and have them code stuff?
  • 7.
    Not so much:Garbagein, garbage out
  • 8.
    Why is thisbad?Coders go wild without requirementsSpiraling costsLack of scheduleEnd system will not meet requirements
  • 9.
    Software Development Lifecycle(SDLC)Different types but common stepsSteps:Definition: Establish scope and goals of the project. Analysis: What are we doingDesign: How are we doing itImplementation: Build ItSupport: Maintain and enhance system
  • 10.
    System DefinitionWhy doyou need the system?Business need/law changeReturn on InvestmentDefine high level goals for thesystemFeasibility of the systemTechnicalOrganizationalStaffingSchedule
  • 11.
    Analysis/DesignMost important partof the processDescribe how the system should work in detailGather and document requirementsConvert business requirements intotechnical requirementsLots of meetings
  • 12.
    Analysis/Design (continued)What usershelp provideSubject Matter Expertise User Interface (UX)Process Flow/Business logicTransformed into:Hardware specsDatabase designsCode specifications
  • 13.
    Class Participation TimeGatherrequirements for an address entry screen
  • 14.
    ImplementationSoftware and databaseguys do their workTestingSystemIntegrationUser AcceptancePush code into production
  • 15.
    Maintenance Bug fixesEnhancementsand featuresThings pushed out of development cycleNew scope items found in developmentNew features suggested by users after system was in place
  • 16.
    Software Development ProblemsEstimating is a crap shoot at bestAll estimates are liesGathering good requirements is hardTechnology and business changes during projectManaging scope and expectations
  • 17.
  • 18.
    Some can besolved with newer methodologiesSeveral iterations instead of one long projectConstant user involvementWorking system over project documentationCheck out the Agile manifesto for more details
  • 19.
  • 20.
    Two Project ToolsIronTriangleMythical Man Month
  • 21.
  • 22.
    Mythical Man MonthBrook’sLaw – Adding more people makes the project worse“Nine women can’t have a baby in one month”
  • 23.
    Final notes:Creating systemsis as much of an art as it is a scienceSoftware development is a partnership Give and take between the sides but the more you communicate your needs the better things work outWorks best when both sides follow Wheaton's Law
  • 24.
    Questions?Contact Information:(Available forcareer questions/children’s parties) chusemann@cardinalsolutions.comchusemann@gmail.comwww.charleshusemann.comTwitter.com: @chusemann
  • 25.

Editor's Notes

  • #3 Just as a heads up that these slides will be available online on my blog if you don’t want to write everything downI also apologize ahead of time as sometimes I will speak very quickly, if I start to become incoherent please let me know If you have questions at any time please let me know
  • #4 We are here today to talk about how software gets developed and what the role of the business user is in the process. I’m going to cover why you need a SDLC, the steps behind it, the problem areas of modern SDLC’s and how you can get around them
  • #5 So you want to build some software, well we’re here to talk about how good software gets developedSadly I know this guy and about 10 people like them.
  • #7  - Not so much, you can but Garbage in, Garbage out  - You need a process, some kind of software development life cycle
  • #8 Well you could but more than likely you wouldn’t get anything positive out of it
  • #12 Add McConnel chart in here
  • #15 Pictures of Nerds working – maybe ship gallery of slaves