I am now privileged to work with an amazing team of software developers and have aligned everyone FINALLY successfully in an organization that works extremely well, and we are finally getting replicated results across all project fronts. This is really a great achievement for us due to the fact that I had to basically release/fire about 15 people since February 2005, and hire 13 new people within a year. In the next few paragraphs I will go over the first three steps in turning around a very bad situation, into an amazingly good situation.... In future posts I will go into detail on each of these areas further. In this Part 1 of 3, I will go over:
- Hire Passionate People
- Future State
- Set Goals
We had a 400 million dollar a year company to support with revenue growing astronomically year after year. Our sales are currently growing 20% year after year! What goes on behind in the scenes in a company like that? We are shipping over 400 orders a day, with some orders exceeding over 400 items. That's a lot of product people!
We use lean manufacturing principles on the shop floor, and have been able to achieve 99.9% on time shipments, year after year for the last two years. However, our systems were crashing all the time. We were running an old ERP system running Progress and Syteline, with a custom bolted on application. The team working at the time was definitely far from stealer. As changes were made, change logs, no testing, no development server, no integration testing, nothing. When I joined in 2004 my goal was to create an awesome custom asp.net content management solution and web site, however I soon realized that my job would change when I heard constant "Please close down your computers, all systems will be down for 15 minutes.". Our New Web Site launched (www.price-hvac.com), and it was a great success! Complete content managed solution, newsletter sign ups, on-line feedback system, video upload capabilities, a small search engine, and an amazingly fast response time for the users. By the way, yes we will be soon selling all of these components for others to use!
So back to the manufacturing side. Step one if you want to turn around a team that is basically the joke of the company? Make MASSIVE personal changes. I became the Business Systems and Software Development Manager, and took over a team of 15 developers. Hmmm.. all developers... no analysts? no testers... no maintenance team? NOT GOOD! I honestly didn't have to fire one person... they all quite on there own when I started enforcing standards, change logs, stand up meetings daily, pairs programming, source control. I hired like crazy... what did I look for when I hired? honestly I looked for people that I knew other consulting companies would be jealous of.... and would never think to hire. I hired Masters, PhD students, also people with only high school. I hired... PEOPLE WITH PASSION! It was a great experience. I post coming in the next few weeks will explain the hiring process that i followed.
Having people that were so passionate, they would come in at 7:30 some days.. and work till 6pm.. I found if I stayed late at work, trying to solve issues, then, they would feel maybe forced at first to stay... but later enjoyed staying! All these guys now love spending time together! We now have Great Developers, Great Architects, Great Testing Team, Great Maintenance team!
So now a year later, old team all gone, new team has taken over... that is step one that's right... HIRE AMAZINGLY PASSIONATE PEOPLE!
Next step? FIGURE OUT WHERE YOU STAND.. CURRENT STATE.... on this we spent a significant amount of time. Travelled to our plants in Atlanta and Phoenix to see first hand where the issues were. The firewalls out of date, our ISDN lines no longer cutting it, new servers needed, Progress software needing massive enhancements, some software out of date! It was not a pretty current state for us at all. This step seems so obvious, yet very few people seem to take the time to do a really good job on figuring out where things are at. And I'm not talking about just doing some simple checks and technical ping tests and so forth. I'm talking about getting out and talking to the users... set up meetings with all departments.. present your findings to them, things missing? yes... go back and get it right! You need a complete A - Z mapping of all your issues!
Next.. SET YOUR NEW STATE... where do you want to be... WHAT IS THE END GAME.. THE END STATE.. THE END GOAL. You need to create a document that explains exactly where you want to be in complete detail. To give you a quick example, our current state document WITHOUT appendices and additional supplementary documentation was some 40 pages long. Our FUTURE STATE, was over 60 pages long. If I were to add in the total documents we did for future state including appendixes you would be looking at over 300 pages. Your goals, like in life, if you want to have any hope in achieving them, have to be CRYSTAL clear! in detail as much as possible.
So there you have it the first three steps. They seem simple, but they are what we did, and it worked amazingly well. I should mention quickly the one overriding discipline you need to excel at is EXECUTION. If you fail at that, you wont get any of these steps done... you will constantly think about doing them, plan, but never do them. Trust me, its hard to allow and enable people to leave that have managed a old software product for 15 years, and being confident that you and your team can do it better within a month. But without the EXECUTION, the PASSION, and the GOALS... you wont do it, and will forever be stuck in phase 0... dreaming about what could be, to scared to move forward.