Recently I've been assigned to a new project to start with designing and visualizing business processes. Unfortunately I just can't wrap my head around this one, I understand what the client wants but I don't understand how to translate it to a proper design what technically spoken makes sense.
The planning I came up with thus far is:
- Extract the use cases from the briefing.
- Design a use case diagram for those use cases.
- Write all use case specifications.
- Map the domain of the system in a Domain model.
- Translate the Domain model to an Entity Relation diagram.
- Design a Sequence and/or Component diagrams for all complex use cases.
- Design a Class Diagram.
- Design a Deployment and/or Package diagram when necessary.
- Design the Wire frames.
Of course I will start off with sketching all documents before finalizing a particular one. But before I start designing this project I've to make sure that there is some kind of check what shows that I'm on the right path. I know there are stakeholders and developers who can help me verify the designs when I realized them or can ask questions to but there is actually no one I know who can help me starting of right.
Let me explain some of the context I'm challenged with, to help you understand and to perhaps clarify the scenario I'm talking about:
- The project is actually already in development, although I'm not in favor of that decision.
- The project should be separated in multiple systems. Which are partly accessible through the gateway pattern. Currently there is one of those systems in development. What I understand is that there are multiple Enterprise Applications (Billing software, CMS, API.. with maybe even more later on).
- The target audience is huge and thus the software must be capable to perform smoothly when 1000 or more users are using it at the same time. To ease the development of that part the decision already has been made to host our software with Amazon their web services, to outsource processes what have to perform smooth under certain circumstances.
- The application what is being developed right now had to be build already because of strict deadlines and the short amount of time. I spoke with the lead developer who told me that there are a lot of "micro services" which have certain jobs or fulfill the requirements of a particular feature. However because there is no software design and also no clear view of what is going to be added or changed in the future, the developer decided to maintain a rather flat and simple structure.
- The documentation what has been written right now I would rather call a giant list of features/requirements or a briefing.
- Also I think it's quiet important to note that the system should be capable of analyzing a wide variety of data generated by the system and perhaps also external systems what eventually will be used for marketing purposes. Therefor I have to map the data processing processes to enhance e.g. data warehousing.
Well a conclusion would be nice now :) don't you think?
Almost everything I know about this project is explained above except the domain and business process (because of a NDA). But how do I know/validate or am I on the right track? Did I inquire enough information or do you have any tips or feedback? Please let me know.