# Why is Product Development Process Necessary?
When facing rapidly evolving customer segments and opportunities, continuously identifying sweet spots is one of the goals of a product manager, while the goal of a project manager is to ensure smooth delivery of these products, projects, and features to end users. To achieve these objectives, it is essential to establish a product development process that facilitates seamless and timely product operations, from conceptualization, design, development, to delivery. Specifically, Cymetrics breaks down the overall process into the following parts:
- Requirement process
- Design process
- Development process
# 1.Requirement Process
In addition to developing our own products, Cymetrics also provides project services such as vulnerability scanning, penetration testing, and collaborations with various parties. Whether it's projects, customer suggestions, or feedbacks from internal colleagues, they all need to go through this process. Internally, we set up a wishing pool where sales, marketing, product managers, design, engineers, and others can submit specific requirements in accordance with the established guidelines.
The original intention of establishing the wishing pool is to ensure that regardless of the role of the requester, we can see specific descriptions of requirements, expected timeline, and purpose of the request. These important pieces of information enable project managers to better understand and provide appropriate assistance more effectively, while reducing the occurrence of incomplete records and interruptions during ongoing work.
Based on observation, the requirement process can be categorized into two types: wishes or requirements, and evaluation. Requests that appear in the wishing pool will be discussed by the product team or the cybersecurity team, and preliminary responses and plans will be provided. If there are urgent matters that may affect the current development sequence, necessary discussions will be held with relevant stakeholders.
# 2.Design process
Whether the feedback is obtained from the wishing pool or proposed by the product manager, it will go through the following design process:
- [PM Spec] Before reaching out to the designer, the Product Manager needs to prepare the PRD (Product Requirement Document) including the specifications, wireframe drafts, product life cycle, etc.
- [UX Design] Before designer starts desig the actual graphics, there will be a meeting to discuss and clarify the requirements from the Product Manager. After meeting, wireframe design will commence. Once the initial version of the wireframe is completed, another meeting will be held with the Product Manager to confirm the accuracy of the overall design. If any discrepancies are identified, they will be revised and discussed in meetings repeatedly until the entire design is confirmed to be accurate, and only then can it proceed to the next stage. At this point, the finalized wireframe design will be outputted.
- [Wireframe Kickoff] After obtaining the finalized wireframe design, discussions will be held with the engineering team to assess the feasibility, difficulty, and receive feedback on the implementation of the process.
- [Mockup Design] After wireframe confirmation, the next step is the design of mockups, which will base on feedbacks provided by engineers to refine the design with more detailed elements.
- [Mockup Kickoff 1] After completion of mockup design, designer will once again hold discussions with Product Manager to confirm the design aligns with Product Manager's expectations. The main principle of mockup design is to not impact the overall process. Then, a temporary version of the mockup will be generated.
- [Usability Test] With the temporary version of the mockup, it is possible to start planning for the Prototype needed for Usability Testing. Having a Prototype can help users have a more intuitive experience and provide feedbacks during the testing process. Conducting usability testing before entering the development phase is a cost-effective approach that can prevent the development of features that may result in poor user experience or features that are not needed by users. Usability testing is typically conducted at least once, with the option to conduct a second round if necessary or if time permits. However, some features may not require this step.
- [Mockup Kickoff 2] After the completion of usability testing, the final mockup design will be carried out. The output at this stage will be the final version of the mockup, which includes refined and polished visual elements.
- [Sprint Grooming] The final version of the mockup will then proceed to Sprint Grooming, where discussions will be held regarding the specifications and mockups to be implemented in the next sprint. Any necessary adjustments of the mockup at this stage are expected to be minor.
- [Done] Once the final adjustments of the mockup are confirmed to be accurate, designer will export to Zeplin. With this step completed, the design process is finished, and the work of the designer comes to a close.
# 3.Development process
After the design process is completed, the development process will be scheduled according to the timeline. At this point, roughly half of the product development process has been completed, and it will be handed over to the engineers to actually develop the product.
- [Functional Specs] Product Manager will update the previously written PRD with the final version of the mockup. If there is no corresponding Epic for the PRD, Product Manager will create a new Epic as a place to store the PRD. Product Manager will also check if the related mockup is available on Zeplin and if there is a corresponding i18n (internationalization) reference. At this point, temporary versions of PRD, DRD, and i18n will be output and ready.
- [Sprint Grooming] The prepared PRD will be discussed in Sprint Grooming with the engineering manager and the engineering team. The main purpose of the meeting is to introduce the specific features to be implemented in the next sprint, so Product Manager will present each PRD and facilitate discussions. At this point, the final version of the PRD (after discussions with the engineers) will be output.
- [Sprint Planning] Before entering the sprint, engineers will be asked to create tasks based on each PRD and provide time estimates for completing these tasks. Sometimes, not all tasks can be completed within a single sprint, so Sprint Planning plays a crucial role in discussing the priority of implementation.
- [Dev] Then, the development process for the sprint, which lasts for two weeks, will begin.
- [QA/PM Testing] Once the development is completed and the code is merged, the results will be uploaded to the testing environment. At this stage, Quality Assurance engineers/Product Manager will conduct relevant tests. QA will compare the results with PRD/DRD in the testing environment, and if there are any inconsistencies, they will raise bug tickets for the engineers to fix.
- [Security Testing] After resolving the bug tickets, the assistance of information security personnel will be sought to conduct security testing on the development results. This is to ensure that even with the introduction of new features or versions, consistent security measures are maintained.
- [Done] Indeed, going through all the above steps is necessary to complete the development process and make the product accessible to users.
After completing the processes of the three stages, we will monitor and track user feedback, and promptly incorporate it into product design and planning.
# Commonly Challenges faced during the product development process.
Ideally, we would hope that all products could smoothly go through the aforementioned processes. However, reality is often different, and this is the biggest challenge for project managers - how to effectively handle and mitigate unknown variables. Plans cannot always keep up with changes, and during actual execution, adjustments in prioritization, skipping certain steps, or even canceling projects may be necessary due to unforeseen trends, resource constraints, and practical considerations (e.g., slower-than-expected development speed of a previous product). The occurrence of these unforeseen challenges tests the project manager's ability to coordinate resources, adjust schedules, and respond flexibly.
After reading all of the above, we believe that readers have a better understanding of the product development cycle. The creation of a product involves planning, execution, implementation, launch, and monitoring processes, all of which require the efforts and dedication of many people. Each product is important to us and is highly valued. Therefore, all decisions need to go through multiple levels of communication and consensus-building.
# About Cymetrics
Cymetrics is a company that specializes in cybersecurity services. In addition to developing our own products, we also provide services such as vulnerability scanning, penetration testing, and special projects. Our services extend to various industries, including manufacturing, e-commerce, and semiconductor IC, among others. Expanding into overseas markets is also one of our goals, and we were fortunate to have established partnerships in Southeast Asia last year. While I am not a professional investor, it sounds like Cymetrics has achieved impressive results. Please feel free to learn more about us at https://cymetrics.io.
- Practical Applications and Challenges of OpenAI Embeddings and Retrieval-Augmented Generation
- Spring4shell - a new critical RCE vulnerability found in Java Spring Framework
- Sensitive Data Disclosure in WordPress Plugin Amelia < 1.0.49
- Story of critical security flaws I found in Glints
- BSides Ahmedabad CTF 2021 - entrance