Workshop: Improving Software Development through Automation with TeamCity, December 8th and 9th, 2014

What’s in it for you

  • Decrease the turn around time to deliver software to customers.
  • Eliminate error prone, mundane, manual releases.
  • Find out about problems before you release.
  • Have more confidence.
  • Establish a repeatable, self documenting process.
  • Provide better accountability when software is released without all the red tape.
  • Monitor the standards everyone agrees are necessary for success.
  • Have a framework to put safety nets in place.
  • Lower barriers to further improvement.
  • Jump start learning about TeamCity.

Eventbrite - Workshop: Improving Software Development through Automation

Agenda

Day 1 – December 8th

  • How to approach improvement
    • Assessing where you are now. Establishing a plan to improve. Prioritizing improvements. Dealing with perfection paralysis. The politics of change. How to establish buy in. Measuring success. After action reviews.
  • Break
  • Starting with the command line
    • Mapping your current process. The tools of the trade (build, test, packaging, database migrations, deployment, configuration management, version control, automation, artifact repositories). Practice replacing manual actions with automation. Sharing and collaborating on scripts.
  • Lunch break
  • Getting feedback now, not when you release
    • The role of feedback. Forms of feedback. Mapping the types of feedback you rely upon. Identifying new feedback opportunities. When you need feedback. Getting feedback from the command line. Automating feedback with TeamCity. Getting feedback every time your application is changed.
  • Break
  • The power of automated releases
    • How automated releases will revolutionize your work. Practice with automated release of code, database and application configuration. Establish a framework for further improvement. Tools to simplify and create a robust process.
  • Setting up TeamCity on your own machine
    • Identify an application that would benefit from what you’ve learned today. Create a plan to apply automation to your application. You will act on it the following day.

Day 2 – December 9th

  • Applied automation and feedback
    • Apply automation to the application you identified from Day 1. At a minimum, automate the compilation and packaging of your application with TeamCity on every check in. Gather feedback about problems. You’ll be given scenarios to run through with your application. Individual and team feedback. Group showcase.
  • Break
  • The highest degree of accountability
    • How automation is the best answer to compliance, regulation, auditing and documenting change. Identifying what you need to know. How to capture it in TeamCity. How to make it available to those who need to know. How to build a reliable history of every version of your application. The impact on development, testing and supporting your applications. Self documenting processes.
  • Lunch break
  • Confidence in safety nets
    • Safety nets to boost confidence and provide fast feedback. Feedback from automated testing, code inspection, monitoring standards, strangling technical debt, vetting database migrations, post deployment verification and other forms of automated feedback.
    • You’ll apply automated testing to your application, automate the tests in TeamCity and see first hand how to get test feedback every time you change your application. New to unit testing? You’ll write and automate your first test of your own application. No better way to see how testing can improve confidence in what you do.
  • Break
  • Work on your improvements
    • Continue to apply automation to your application. Suggestions include customizing what is audited for accountability, additional safety nets, or automating the release of your software into a testing environment.
    • Individual and team feedback. Group showcase.
  • A culture of continual improvement
    • Discuss challenges you will face going forward and how to tackle them. Revisit your plan for improvement. Add new possibilities. Establish priorities. Establish your own approach to improvements. Individual and team feedback.
    • (Optional) schedule follow up sessions to propel your future investments.

What you need to bring with

  • A laptop for the hands on portion of the workshop (Mac or Windows)
  • An application/system you would like to apply these techniques to. I want you to walk away with an actual improvement, but I’ll leave the specifics up to you. You’ll have several opportunities within the workshop to apply these techniques and get feedback specific to your desired improvements. Refer back to the improvements in the What’s in it for you section for what you might want to work on.

Case studies / past articles – a sampling of what this workshop will contain

Options

Location

The workshop will run for two days December 8th to 9th, 2014 in New York City at:

Fitch Learning
55 Broad Street
3rd floor
New York, NY 10004