3M
Nov 2009 to Sep 2010
Consultant: 11 months
Roles: Architect, Senior Software Engineer, Team Lead
Technologies: Adobe ColdFusion, Oracle
Overview
3M is a technology company that manufactures industrial, safety, and consumer products.
Project
3M needed greater insight into their global supply chains and logistics. Not for the movement of goods, but for planning and plant (factory) utilization.
For example, a specialized machine exists in Chicago and Singapore. What is the schedule and utilization of each machine? Is it better to send material to Singapore for processing instead of waiting for availability in Chicago?
The system was a combination of supply chains (materials and processes), scheduling (existing and future workloads), and finances (equipment and shipping costs).
Challenges
Work with the existing development team to "undo" 5 years of development. The project was under constant development with no end in sight. The further development progressed, the further out deliverables were.
The project required integrating dozens of systems, each one had it's own interface, format, and security requirements.
The client wanted to migrate away from Adobe ColdFusion due to a lack of developers in the marketplace.
Activities
Designed a system using a PHP framework. Only to find out that the development team was dead set against moving off of Adobe ColdFusion. Changed the architecture back to ColdFusion and reused maybe 10% of the code that had been previously developed.
Built a minimum viable product (MVP) in about 3 months. The original audience was a few dozen users - mainly users of 3M's internal supply chain and logistics systems.
The site is used by thousands of employees to analyze, monitor, and understand global supply chains and logistics.
Architect a broad-based, flexible solution that accommodates a "modular" approach for adding functionality as the business reconfigures and changes global supply chains.
Results
As the Architect, built a modular system, which enabled the development team to de-couple processes and deliver functionality independent of each other. This approach made it easier to update functionality and it sped up delivery.
As a Senior Software Engineer, I built a consumer-friendly web site instead of a system that looked like a mainframe interface exposed via the web.
As the Team Lead, the development team took 3rd place in 3M's yearly innovation awards. The award competes with new products, patents, manufacturing innovations, and business process optimizations across all of 3M.