top of page
Search

IT System Design for Dummies

Michal S

Updated: Jan 10



Let’s say you have already a vision, you are about to write a job proposal to find the right programmer. Now, what will be super important for you, is to explain all processes that can have a place in your system to people you are about to hire. This is why you need proper IT System Design


Man writing on whiteboard outlining workflow strategy with delay timelines for abandoned cart. Dressed in a patterned shirt, focused mood. Probably planning IT system design
Photo by Campaign Creators on Unsplash

Business Process Model Notation (BPMN) diagrams will come in place. As the name indicate it helps you to model a process that exist in your system, organization, family, the variety of situations we can cover with BPMN is unlimited because this framework is not limited to any specific problem domain.

What tool you should use ? If you like desktop applications I recommend drawio which I was using by myself for many years although recently I am more keen to miro which provide better real-time functionalities. I think miro has a free plan too, where you can have a project and invite to the project a guest so you still pay for one seat only.


Silhouette of a signpost labeled "IT System Design" against a vibrant pink and blue sunset sky, evoking a serene and contemplative mood. The scene symbolizes guidance and decision-making in the context of IT system design, set against the backdrop of a peaceful, inspiring evening sky.
Photo by Javier Allegue Barros on Unsplash

Ok so you want to create Client Relationship Management (CRM) system, I would start with the representation of the process which make your system unique, for this demonstration we will try to model a process of lead management. Bellow you can see simple BMPN diagram which represents management of leads collection process.


Flowchart illustrating the process for adding a lead source in the context of IT system design: options include form filling, LinkedIn observing, and website scraping. The flowchart concludes with the creation of a "New Source," showcasing a systematic approach to lead generation tailored to IT system design.
https://miro.com/app/board/uXjVLXhg8jw=/

Based on above diagram we would like to get leads which completed the linkedin lead gen form or typeform survey. We have first question, do we need to cover this process in our system or can we use external tool ? Another question is, what is happening with such a lead when it lands in our system ? If we only want to have a record of the lead and know how it landed in our database we could use platforms like make or pipedream. Although if we would like to start selling our system as a saas platform, maybe we need to cover this process by our self ?

Integration with linkedin is not that hard, we need to register a dedicated webhook endpoint on which linkedin sends information about completed lead gen forms and than we can do whatever we want with this data in our system.

The second leads collection source we need is scrapping of websites, as well there are good external systems that allow you to scrape data like zyte or crawlbase. When it goes about scraping, the question is always about type of websites and apps we want to scrape as this will impact the scraping logic. Additionally there may different leads you want to get, sometimes official emails to businesses for our marketing activities, sometimes direct emails to people. That’s why this process need more work, we need to define all possible data sources for websites and apps. Keep in mind that websites have many protection mechanisms which external providers from this problem domain already solved. One more note, user interface for websites and apps may change over time, if we cover the scraping logic fully on our side this data source collection may break time to time due to that.


Abandoned industrial warehouse with colorful stained-glass windows, rusty beams, and a fisheye effect, representing the complexity of IT system design. The eerie and desolate mood mirrors the challenges and decay that can occur in outdated or poorly maintained systems. The setting evokes a sense of transformation and potential for innovation.
Photo by Edgar Chaparro on Unsplash

As you can see this process can be done by anybody, BPMN is not so hard to grasp. It will help you to find weak points in your system use cases. It will make your idea easier to understand for programmers which will result with better quotes, better estimations and money spent on your system unique value only.



16 views
bottom of page