03BUILD DEVELOPMENT PROCESS
A. Forming the development process in accordance with the identified requirements and interests of stakeholders. The main frameworks are:
- Scrum is used for the active development phase of medium and large projects, or small projects from where the client does not have clear 100% insight into. It is also used during the final phases of broad functionalities in ready-made projects
- Kanban is used during the support and optimization phase of an already developed project
- Waterfall is used for small projects (up to 2-3 months) or blocks of functionality in ready-made projects with 100% vision from the client and the team
B. Calculating the number of project teams in case a project needs more than 20 project participants.
C. Forming process configuration.
- Discussing the necessary roles of the project participants. The list of roles and their main responsibilities are:
- forming of the high-level goals and objectives, providing the budget, management of project size and time, approving the task scope. This role is often performed on the client side.
- forming and control of the process, control of agreements, management of the budget provided by a Product Owner, team coordination, reporting to and supporting of the Product Owner, solving organizational issues and risk management.
- detailing of the goals provided by the Product Owner, development of the requirements, project analysis, analysis of competitors' technical solutions, consult the Product Owner, development of project documentation, management of the project scope, is required to give explanations to the team.
- development of system architecture, high-level decomposition, stack choice, ready-made solutions and basic tool choice, analysis of the system’s technical component, technical risk management, technical consulting for the Product Owner, Business Analyst and Team Lead.
- development of project user experience, user experience analysis, prototyping, arrangement of UX test plans, development of basic UI requirements.
- development of project design, development of style guide, development of the UI toolkit, page wireframe detailing, development of animations and adaptive views.
- configuration of development processes, coordination of the development team, technical decomposition, task distribution, code review, solving of complex and difficult situations during development and development of key system modules.
- estimation and implementation of development tasks, that includes; the writing of Unit and integration tests and working with documentation.
- configuration of used tools, configuration of all environment types (includes production), creation of CI and CD processes, support testing process (includes auto tests), platform work control and monitoring and configuration of third-party systems.
- testing process configuration, verification of build quality before uploading to demo or production environments,
testing plan development, QA team coordination, detection of bugs in design and specification, development of key testing documentation types, system security testing.
- manual testing, feature aspect testing, regression testing, system security testing, load testing, bug reports, development of test cases and checklists, improvement suggestions.
- auto, e2e, api and load test estimations and implementation.
D. Forming of work format:
- Points of getting approvals from the client’s team.
- The client's role in processes (it's usually the Product Owner) - The client is considered as a team member and a process participant by the team.
- Product Owner involvement into meetings:
a. intro meeting (optional) b. daily meeting (optional) c. meeting with Business Analyst d. planning - if the client cannot attend the meeting, the project manager agrees upon the scope e. retrospective (optional) f. demo
- Reporting points. The more the Product Owner is involved in the project, there will be fewer mistakes caused by inconsistency. Written reports are given every day by default and meetings with the project manager are set up whenever it's possible.
- Work format synchronisation with Business Analyst.
- Demo formats and time synchronisation with Product Owner.
- Configuration of the list and volume of necessary internal meetings.
- Definition of Done' creation.
E. Configuration the technological processes and interactions between roles. It is based on the company's overall process which is optimized for the current project while taking into account the requirements of team size.>
- Configuration of work result handover format internally within the team:
- Developers' testing processes:
- Git flow - by default feature branch:
a. branch flow - naming, releases etc. b. automation of code analysis c. code review d. pull request
- QA flow - includes testing from the designer:
a. smoke testing b. aspect testing c. designer review d. regression testing: manual autotest e. release candidate testing: manual autotest