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

1,276
views

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,276
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
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]
      • http://www.tonybibbs.com
      • Twitter: http://twitter.com/tonybibbs
      • Facebook
      • LinkedIn
      • 515.554.8046