Georgia State Presentation

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    We also define, execute, and monitor social media-based marketing campaigns.We are familiar with several frameworks and platforms based on these languages: SharePoint, Google App Engine, .Net MVC, Cake PHP, Drupel, Joomla, Struts, etc.

    Lot’s of opportunity to branch out at an agency

    These are the areas where I’m most concerned. While not ignoring any of these dimensions, we will sacrifice some capability of the dimensions in grey if we can maximize the dimensions in orange.There are three software engineering practices that are helpful in maximizing the potential for these three coding activities in orange.

    This example is Java code using the JUnit testing harness (http://en.wikipedia.org/wiki/Behavior_driven_development)Encourages reduced coupling and increased cohesion (a measure of how strongly-related and focused the various responsibilities of a software module are).Provides a foundation for regression testing within a continuous-integration process.Test-method naming conventions are always up for debate and are more of a art that science

    BDUF = “Big Design Up Front”

    Biggest problem with sequential development is the lack of flexibility in change managementOnly really necessary for high-stakes projects with narrowly-focused goals (missile guidance system, financial transaction engine, etc.)

    And participate in local meetups + user groups

    1 Favorite

    Georgia State Presentation - Presentation Transcript

    1. Aligning Business and Development Goals
      Patrick Brandt
    2. 2
      About Me
      Senior Developer and Team Lead:
      As senior developer, I’m responsible architecting and building web-based applications on the .Net platform.
      As team lead, I’m responsible for defining and articulating production strategies among various stakeholders including interdisciplinary production staff, management, and clients.
      Earned a Master’s Degree in Computer Science with a focus in Human Computer Interaction from Florida State University in 2004.
      Lead developer/Team lead for the following sites:
      RuthsChris.com
      Georgia.org
      ExploreGeorgia.org (first phase)
      GaDreamPass.com
      FoodLion.com
    3. 3
      About Enguage Digital
      Interactive Marketing agency located in Midtown Atlanta (Promenade II building across from the High Museum)
      We specialize in building applications that establish an online and mobile marketing presence for its clients.
      Our clients include several Fortune-500 companies such as UPS, Home Depot, and Coca-Cola.
      Our development capabilities include .Net, Java, PHP, Python, Flash, and Objective-C.
    4. 4
      Where It All Begins!
    5. 5
      Client Services
    6. 6
      Production Staff
    7. 7
    8. 8
      Two Types of Programmers
    9. Communication
      9
      Translates highly technical jargon into terms less technical clients and management staff can understand.
      Listens to clients or client representatives and tries to drive-out requirements.
      Spends a portion of their day corresponding by phone and email.
      Communicates with a wide array of stakeholders.
    10. Communication
      10
      Actively solicits information from other developers via online forums (also contributes solutions for other developers).
      Explains algorithms and development patterns to other developers.
      Email is a distraction, primary mode of communication is via IM and face-to-face.
      Specializes in speaking directly to developers and other technical staff.
    11. Problem Solving
      11
      • Looks first to discover how others have already solved similar problems
      • Trade Articles
      • Blogs
      • Often considers how external business factors are impacted by any solution
      • Budget
      • Timeline
      • Client Satisfaction
    12. Problem Solving
      12
      • Looks first to discover how others have already solved similar problems
      • Trade Articles
      • Blogs
      • Often considers how external business factors are impacted by any solution
      • Budget
      • Timeline
      • Client Satisfaction
      Might produce copy-cat code that is buggy and inflexible, but returns a higher profit (in the short-run)
    13. Problem Solving
      13
      • Takes initiative to solve problems in novel ways
      • More interested in how they can build a better solution than others have done in the past
      • Laser-like focus on solution elegance, stability, and performance
      • Aims for the best performing solution
      • Aims for the most flexible solution
      • Aims for most feature-rich solution
    14. Problem Solving
      14
      • Takes initiative to solve problems in novel ways
      • More interested in how they can build a better solution than others have done in the past
      • Laser-like focus on solution elegance, stability, and performance
      • Aims for the best performing solution
      • Aims for the most flexible solution
      • Aims for most feature-rich solution
      Might produce technically brilliant solutions that are outrageously over-budget and/or overly complex
    15. Extracurricular activities
      15
      • Reading and writing for fun
      • Socializing and networking
      • Coding side-projects
    16. Extracurricular activities
      16
      • Flying airplanes
      • Online gaming
      • Coding side-projects
    17. 17
      What ALL Programmers Need To Know
    18. 18
      What ALL Programmers Need To Know
    19. 19
      What ALL Programmers Need To Know
      Know the dimensions of your code
      • Brevity of code
      • Quantity of features
      • Speed of execution
      • Time spent coding
      • Robustness
      • Flexibility
    20. 20
      What ALL Programmers Need To Know
      Know the dimensions of your code
      • Brevity of code
      • Quantity of features
      • Speed of execution
      • Time spent coding
      • Robustness
      • Flexibility
    21. 21
      Domain Driven Design
    22. 22
      Domain Driven Design
    23. Test-Driven Development
      Write a Unit Test before new feature is coded (test will fail because code will not compile)
      Write minimum amount of code to get project to compile (test will fail because test conventions have not been met)
      Write minimum amount of code to ensure test will pass
      Repeat for new feature
      23
    24. Test-Driven Development
      24
    25. Development Strategies
      Waterfall (BDUF)
      Iterative
      25
    26. Waterfall
      26
    27. The Agile Manifesto
      Individuals and interactionsover processes and tools
      Working softwareover comprehensive documentation
      Customer collaborationover contract negotiation
      Responding to changeover following a plan
      27
    28. The Agile Process
      Working Software is released every few weeks.
      Development pace is constant.
      Simplicity; maximizing work not done is essential.
      Developers work consistently with customers and business managers.
      Self-organizing teams meet project needs better than orchestration.
      Discussions, decisions, and plans are made face-to-face.
      28
    29. 29
      Read Up!
    30. 30
    SlideShare Zeitgeist 2009

    + patrickbrandtpatrickbrandt Nominate

    custom

    192 views, 1 favs, 0 embeds more stats

    My presentation the Georgia State University ACM

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 192
      • 192 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories