I work at a newly found software house as an operations manager. I am currently assigned with developing a project lifecycle framework from getting the client requirements to sign off. Constraint is that we are supposed to provide time estimates in the statement of work which is done in the pre-discovery phase.
These are the phases of the project in our company:
- Pre-Discovery (getting requirements to providing the statement of work)
- Discovery for UI/UX (getting user flows to developing models and user stories and user personas
- UI/UX (develop figma or XD design)
- Testing of UI/UX (perform various types of tests like A/B etc on the design)
- Discovery for development (responsible for team allocation to completely planning sprints)
- Development (use agile methodology and sprints to perform the development)
- Staging (test the entire app) (also, the development is done using test driven development so this process is optional)
- Sign off
My goal in this question is to provide a time schedule to my client with minimum probability of overrun and stress to my developers
For a project with UI/UX developed, that is not a problem but consider a project without UI/UX. I only have either the SRS document that only tells me the details of what the client wants. This does not seem to be enough to build a PERT diagram because I would not know what leads to the other. It is only after UI/UX I can decide the PERT diagram for my project. So my question is, how to develop a PERT model before the UI?
Also, for individual components I could not find a proper way to understand how to estimate optimistic, pessimistic, and realistic time estimates. For instance a "rich text editor with mathematical equations". Since none of my team mates ever developed such a component, how to estimate time for such a component?
Possible Solutions
for Q1) I can share the requirements with developer and UI/UX professional so they can build flowcharts and hence estimate the components they would use for each process to develop and set a rule that they should stick to those components during design phase. And simply calculate times for each without a PERT model. But then how do i estimate testing time and whatnot.
for Q2) I can build a planning phase where each developer can develop a plan on how would they develop the component.
Side note: I am not a project manager but I was given the task because its a pretty small organization and I opted for a management position after developing apps. Although i have a background in mathematics and economics so I am well versed with network flow diagrams etc.