In a couple of articles I want to try the approach that we used during learning in SET University program. Because this is how you learn,right? Doing same things again and again.
So first of all lets try to understand WHY this software need to be created? What are drivers and goals for business that it can achieve with this piece of fine crafted software.
Every piece of software have a purpose(that's what I tell to myself every morning). For games it's experience and entertainment, for browser - it's an instrument to browse internet in more convenient way. So if we want to sell our software, we need to know what are the business value of this product? What problems it will fix? Or maybe it can optimize processes that client already have. Or like Ukrainian Diia, introduce transparency and efficiency in government - citizen relationship.
Business driver is major task that fulfill business needs. According to Corporate finance institute:"Business drivers are the key inputs and activities that drive the operational and financial results of a business. Common examples of business drivers are salespeople, number of stores, website traffic, number and price of products sold, units of production, etc."
I spent whole day thinking about this topic. I guess we can say, that if bakery would be big - it would use some heavy enterprise software. But our client is small to middle. He is growing, and it becomes harder and harder to manage all the things in exel. (Same story with kids. Don't manage them through exel.) So first business driver we found is Growth.
Second one. Financial efficiency. You invest into software and expect that it will end up as revenue somehow in the future. Our software will help manage kitchen, that may be help to not hire another manager. It can allow to integrate with delivery services that will lead to more sales. So let's call it Cost.
Usually during the call, or in RFQ description you may understand Goals and Objectives. But I'm sitting alone in the room, so I guess I will just show you how I see this tree.
Our next step would be to revisit Trello and define functional and non-functional requirements for the system in question. And most important, we need to define key non-functional requirements, that we should keep in mind during preparing architecture.