Aligning Business and Development GoalsPatrick Brandt
2About MeSenior 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.comGeorgia.orgExploreGeorgia.org (first phase)GaDreamPass.comFoodLion.com
3About Enguage DigitalInteractive 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.
4Where It All Begins!
5Client Services
6Production Staff
7
8Two Types of Programmers
Communication9Translates 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.
Communication10Actively 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.
Problem Solving11Looks 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 SatisfactionProblem Solving12Looks 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 SatisfactionMight produce copy-cat code that is buggy and inflexible, but returns a higher profit (in the short-run)
Problem Solving13Takes 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 solutionProblem Solving14Takes initiative to solve problems in novel ways
More interested in how they can build a better solution than others have done in the past

Georgia State Presentation

  • 1.
    Aligning Business andDevelopment GoalsPatrick Brandt
  • 2.
    2About MeSenior Developerand 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.comGeorgia.orgExploreGeorgia.org (first phase)GaDreamPass.comFoodLion.com
  • 3.
    3About Enguage DigitalInteractiveMarketing 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.
  • 5.
  • 6.
  • 7.
  • 8.
    8Two Types ofProgrammers
  • 9.
    Communication9Translates highly technicaljargon 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.
    Communication10Actively solicits informationfrom 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 Solving11Looks firstto discover how others have already solved similar problems
  • 12.
  • 13.
  • 14.
    Often considers howexternal business factors are impacted by any solution
  • 15.
  • 16.
  • 17.
    Client SatisfactionProblem Solving12Looksfirst to discover how others have already solved similar problems
  • 18.
  • 19.
  • 20.
    Often considers howexternal business factors are impacted by any solution
  • 21.
  • 22.
  • 23.
    Client SatisfactionMight producecopy-cat code that is buggy and inflexible, but returns a higher profit (in the short-run)
  • 24.
    Problem Solving13Takes initiativeto solve problems in novel ways
  • 25.
    More interested inhow they can build a better solution than others have done in the past
  • 26.
    Laser-like focus onsolution elegance, stability, and performance
  • 27.
    Aims for thebest performing solution
  • 28.
    Aims for themost flexible solution
  • 29.
    Aims for mostfeature-rich solutionProblem Solving14Takes initiative to solve problems in novel ways
  • 30.
    More interested inhow they can build a better solution than others have done in the past

Editor's Notes

  • #4 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.
  • #8 Lot’s of opportunity to branch out at an agency
  • #21 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.
  • #25 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
  • #26 BDUF = “Big Design Up Front”
  • #27 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.)
  • #30 And participate in local meetups + user groups