From the Foundation Up
by Dan Kaminsky
When I was first asked to blog for Incite Design my first thought was “What do I know about being an architect?” As the Co-Founder of homeadnet.com my role is to help plan, design and oversee the development of our Real Estate network. By definition, an Architect is a person trained and licensed to plan, design, and oversee the construction of buildings. Wait a minute. I think there may be some parallels here. I can work with this.
The Road from Ideas
When building anything, from a physical product to a digital platform, the thought that goes into the process before any construction begins is so critical. It all starts with an idea. An idea is simply inspiration. Without an execution strategy, however, an idea can be an exciting thought that fades away like a daydream. Or it may inspire further ideas. Planning is the first step of taking an idea and bringing it into the physical (or virtual) world. In the planning stages you evaluate how you can translate an idea into something that will actually work. You can assess and evaluate your requirements and translate that into a roadmap. When you need to buy milk you automatically know what road to take to get to the store. That comes from experience or an evolved strategy. The process of building homes and software may be a little more complex than buying milk but the idea is the same. You need to know how to get from point A to point B. The process of design starts with inspiration but is followed by a well executed blueprint.
Much like designing physical buildings, software is comprised of many different parts that have to connect and work together to make up the whole. If one component is out of place it can jeopardize the stability of the entire structure. During the early stages of software design it is critical to identify the goals and targets of the platform and then construct the roadmap from there. Think about the system you use for email. It is something most take for granted as a very simplistic tool. However, try and break it down into it’s components. There are tons of functions and features like buttons and pull down menus, spell-checker, timestamps, sorting, signatures, colours, attachments….the list goes on. Each function has it’s place in the system. And each feature was designed to integrate into the whole experience. So in the end, when you need to send an email all you have to think about is what you need to do. Not how you need to do it. That is good software design. Much like architecture, success of software design is creating a complete experience. A creative and clever assembly of numerous parts into something that is beautiful, infinitely useful and unforgettable.
So in taking a single module like email imagine the logistics involved in creating a complete platform like homeadnet.com. The platform has email and all it’s many functions. It also has web content management, design tools, blogging, social network connectivity, property listings management, SEO, notifications, video, images and so much more. Plus there are a ton of admin tools running in the background making sure all of these functions are working properly, monitoring the growth and stability of the network, tracking activity, reporting errors, providing communication to it’s users and so on. It is a wide assortment of functions and features that have to work together harmoniously. Many of these functions need to talk directly to each other. Many have very specific, unique roles to play. However, they all work together with one single goal in mind: To create a useful and memorable experience for it’s users. This doesn’t happen by accident. With a clear idea in place and a blueprint drawn up we can now take that first shovel and break ground.
It’s showtime! So to speak. There are interesting parallels you can form between physical architecture and software architecture. Both start out in the virtual world where you can design, test different strategies, build models, revise and redo. However, come construction time I think we can safely say the two branch apart. It is at this point I can honestly say software developers can learn a lot from builders of physical structures. In software development, for the most part, errors are less costly. The ability to shape and redo is still possible. When building physical structures you are pretty much committing to the things you build. So you better make sure it’s right the first time. Architects plan and work hard to make sure they do get it right the first time. So when the construction crews enter the scene they know exactly what they need to do and the architects are there to make sure it happens. Once software developers start building their platform they have a head start. They are still in the virtual world and can often carry tests and experiments forward into final constructed components. However, the ideals from physical construction are very applicable to software development. The fact that you can easily reshape and change things can be dangerous. It can cause a development team to lose focus and wander on to roads not originally planned. It is very tempting to jump onto new ideas before you have completed scheduled tasks. Remember, a lot of thought was put into the blueprint in the first place. And creative inspiration can happen everyday. So, in software development we can log ongoing ideas into a Future Features document and only implement new functions that will truly complement the process not take it off course. The need to stay focused is critical to meeting milestones and delivering a product on schedule. This is where we can learn a lot from our physical builder brotherhood. We need to commit to things we planned to build and maintain efficiency throughout the whole process. Us digital guys can easily get sidetracked so the tried and true process of physical construction has its place in software development.
The Whole Trip
In the end, I think there are a lot of similarities between architects and software developers. We both need to know how to translate a good idea into a process. We both have to be extremely knowledgeable and detailed. Building strong foundations is critical to both processes. And interconnecting endless components into something that will be judged as single entity provides us both with the greatest challenge. Being able to design and then travel down the same road is why we do what we do. So the next time you send an email or walk through a door look around you. There is a lot more to that experience than you may think.
Dan Kaminsky is a 20 year veteran of the Broadcast and Digital Media Industry. His business has evolved into an integrated media company delivering video, web and social media solutions. Contributing his integrated media experience, Dan partnered with a talented founding team to develop and launch homeadnet.com, a Real Estate Network delivering comprehensive online marketing tools for Realtors. You can contact him at firstname.lastname@example.org[xyz-ihs snippet=”FiveSecrets”]