Your SlideShare is downloading. ×
20070921 Uni Softwareengineering
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

20070921 Uni Softwareengineering


Published on

This is a talk I've given a few times at my alma mater, the University of Northern Iowa (UNI).

This is a talk I've given a few times at my alma mater, the University of Northern Iowa (UNI).

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Transcript

    • 1.
        • For the University of Northern Iowa
        • Presented by Tony Bibbs
        • April 18, 2008
      Software Development: Building Better Idiots
    • 2. About me
      • BS in Computer Science from UNI in 1997
      • Ex-Wrastler. No, seriously.
      • Software Engineer at Rockwell International
      • 11 years doing Software Consulting
      • Worked at 2 start-ups. One died.
      • Official Nerd-Herder
      • Managed popular CMS for over four years
      • Give a variety of tech-talks like this one.
      • Huge open source fan
      • Self-declared internet junkie.
    • 3. “ Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning. Fantasy Author Rick Cook:
    • 4. Evolution of the Software at ITE
      • In 2002 there was no software development process.
      • Project Management wasn't a formal competency.
      • Didn't know how to effective do business analysis
      • Testing? What's that?
      • Work environment was hostile.
      • Project failure was the norm.
      • Too much Not-Invented-Here (NIH) Syndrome
    • 5. Software Development Goals
      • Suck Less
      • Commoditize Software Delivery
      • Develop talent into Alpha Geeks
      • Build Better Idiots
    • 6. Goal #1: Suck Less
      • Get some first round draft picks (someday you?)‏
      • Find any software development methodology
      • Support the SDLC with sound project management.
      • Trash fringe technologies (ColdFusion)‏
      • Develop real competencies (PHP, Java, .NET)‏
      • Actually have fun for a change.
    • 7. Joel “Joel on Software” Spolsky:
      • “ Beware of Methodologies. They are a great way to bring everyone up to a dismal, but passable, level of performance, but at the same time, they are aggravating to more talented people who chafe at the restrictions that are placed on them.”
    • 8. The AEGS SDLC
      • SDLC Goals:
      • Follow Industry Standards
      • Remain consistent with DAS-ITE Customer Service model
      • Balance speed of delivery with quality
      • Remain flexible to business needs
      • Make decisions as a team (consensus)‏
    • 9. SDLC at a Glance
    • 10. Real Project with Full Analysis
      • Use Cases
      • Process flows
      • ERD
    • 11. Goal #2: Commoditize Software Delivery
      • Software should be a simple commodity like cars.
      • Building software works like building cars
      • Software Frameworks are the automotive assembly line.
      • A good framework allows good developers to focus on innovation and it makes bad developers tolerable.
    • 12. Goals for all AEGS frameworks
      • Minimize the significance of the programming language. PHP, C, Java, C# are all nooses waiting for their next victim.
      • Leverage in-house talent by making frameworks consistent across all core competencies
      • Automate low-level tasks (creating files, doing builds, running tests)‏. Continuous Integration!
      • Focus on innovating the business solution
    • 13. Key Framework Components
      • Model-View-Controller (MVC) – Cleanly separates visual components (views) from business logic (models). Encourages reuse.
      • Object Relational Mapper (ORM) – Reduce the amount of SQL written by over 75%.
      • Unit Testing with tools like nUnit, PHPUnit and nUnit.
      • Moving towards continuous integration.
    • 14. Goal #3: Develop Alpha Geeks
      • In software we can do more with less. 3 alpha geeks can produce more quality code than 2x subpar counterparts.
      • The lazier the better.
      • Collaboration is key. Twitter, IRC, IM, wikis, email, blogs you name it we use it.
      • Encourage individuals to master something. GIS, mapping, AJAX, EJB, etc.
      • From a team perspective, cover all the angles: PM, BA, Architect, Frontend Engineer, Backend Engineer, Testers.
    • 15. PM Process at a Glance
    • 16. Goal #4: Build Better Idiots
      • This is where we sit today organizationally.
      • Sound software is being delivered but initial quality is suspect (thanks to better idiots).
      • Working to establish a formal software test competency.
        • Unit, System and Integration testing.
    • 17. SDLC Success Stories
      • Iowa Sex Offender Register
      • Iowa School Alerts
      • FARMS
      • Enterprise A&A (ITE),
      • ePayment (ITE)‏
      • Health Facilities (DIA)‏
    • 18. Programming Resources
      • Design Patterns
      • Model-View-Controller (MVC) Pattern
      • Object Relational Mapping (ORM)‏
      • PHP
      • Apache Web Server
      • MySQL RDBMS
      • Linux Operating System
      • Enterprise Architect (UML Tool)‏
    • 19. Becoming an Alpha Geek
      • RTFM
      • Learn Linux!
      • Contribute to an open source project.
      • Master Google Searching:
        • [-inurl:(htm|html|php) intitle:”index of” +”last modified” +”parent directory” +description +size +(”paris_hilton.wmv”|”paris_hilton.avi”)]
      • Learn to love mailing lists and user groups
      • Develop your soft skills.
      • Blog. Tell the world what you're geekin' out on.
      • Give talks. Tons of respectable geek conferences.
    • 20. Questions?
      • Possible Ideas:
      • What I'd do different if I could do college over again?
      • Start-ups
      • Engineering vs. Consulting
      • Government vs Private Sector
      • Examples of Successful Nerdy UNI Grads
        • Chris Pirillo
        • Tim Perdue
        • Dave Weis
    • 21. Contacting Me
      • [email_address]
      • Twitter:
      • Facebook
      • LinkedIn
      • 515.554.8046