Month: June 2014

Making open source projects accessible with Vagrant

There are a plethora of fantastic projects online to learn from, and to start from, when developing software. Google just released a new Web Starter Kit; a set of tools and a template for building user interfaces that look great on all types of devices. Bootstrap, a project that’s been around much longer, provides a set of templates to make…

Adopting Continuous Integration

Back in March, I had the opportunity to talk with the .NET Developers Association in Redmond, WA about adopting continuous integration.

Fortunately my camera captured the conceptual portion, but decided enough was enough after 30 minutes. I’ve talked about continuous integration many times. This time I rebooted the talk with a focus on using objectives and value to drive the patterns and practices we apply as we adopt continuous integration. Otherwise, it’s easy to get lost in the sea of possibilities. I hope these principles help you pragmatically adopt and/or evolve a continuous integration practice for the software you support.

TDD isn’t the problem

Lately, there’s been a thread of discussion that centers on the question “Is TDD dead?” TDD isn’t dead, nor is it the problem. TDD is a practice, a tool. It’s like a hammer. We can use TDD to build something marvelous, and we can use it to build something horrible. Unfortunately, TDD gets a bad rap because many have been…

Proudly learned elsewhere

Not invented here explains the mystery of why organizations re-invent what has already been done well by others. Sometimes it’s a tribal thing, if we didn’t make it: it could be dangerous, we could become dependent, or it won’t fit our needs. Most of the time these fears are irrational. Sometimes it’s a matter of cost. Many people ignore options…

Value is a universal language

Antonino and Ana share a small, one bedroom apartment in New York City. In the corner of their living room, they share a desk that serves as an office. One Saturday, Ana lamented the desire for a shelving system to organize the cacophony of office equipment scattered around one end of the couch. Antonino, about to leave for an arduous…

Simplifying the delivery of software

New frameworks and tools are continuously being created to improve how we develop software. I’m always in search of ways to simplify the delivery of software. Simplifying delivery pays dividends in the ability to release and receive feedback quickly. I published a feature article in MSDN magazine about how to do this within the .NET ecosystem. Although the article dives…

What’s your impact?

Pick a project you’ve worked on recently, something substantial. What impact has it had on your customer(s)? What about the impact on your customer’s customer(s)? What was the intangible impact? What was the financial impact? What decisions were you able to make to maximize the intangible impact? What decisions were you able to make to maximize the financial impact? What…

Maximize Outcomes by Establishing a Release Driven Workflow, Upfront

First appeared on JetBrains TeamCity Blog. What if you never had to worry about another software release? What if you had confidence in frequently delivering valuable software? What would it be like to establish this before you ever write the first line of code? Find out how focusing on outcomes and working backward to establish a release driven workflow, upfront,…