Implementing An Internal Software Development Project In A Technology Consulting Firm (aka EATING YOUR OWN DOGFOOD!)


 Part One

 “The task of the software development team is to engineer the illusion of simplicity” – Grady Booch

At Pinnacle, we are blessed with a population of senior technologists well versed in a multitude of modern development languages, approaches, frameworks, tools, apps and processes. Each of these elements are honed daily in the various customer environments we are actively engaged in. From time to time, we ask members of the organization to contribute to internal efforts that make life easier for all parties. We are currently in the midst of one of those times.

Like any project we perform for customers, we work with the team to understand the requirement and disseminate information and access pertinent to what we are looking to achieve. The next step is where it gets interesting. We tend to have options that more traditional businesses may not in choosing the technologies in which to construct our solution. We have partnerships with certain technology providers that minimizes our investment costs. And we have strong opinions on the most viable technology stack to use to solve this problem. In a recent LinkedIn post (, I wrote that one reason technology has gotten harder is due to Continue reading

Takeaways from The Phoenix Project

Pinnacle’s Business Developer Manager, Jeff Noffsinger, wrote a fantastic review of the book The Phoenix Project. Here is his book report on LinkedIn: 9 Takeaways from The Phoenix Project

The Phoenix Project has been on my to-read list for awhile and now I’m even more intrigued. It tells the story of a fictional IT shop with real-world problems. Jeff’s article identifies 9 takeaways from the protagonist’s journey that are applicable to almost any IT organization Continue reading

Batch Process Best Practices

Writing production ready batch processes is not typically viewed as the glamorous side of software development. It’s often grouped with acceptance testing and documentation as tasks to be avoided during the development process. However, solid batch production code will perform well, handle disruptions well, and allow staff to enjoy their time outside of office hours. Additionally, software enhancements and system upgrades can be applied much more safely knowing that the production batch processes are stable.

No matter what the language, tool or platform, the following guidelines must be considered when writing safe production batch processes.
Continue reading