sdlc1In Development process, ideally we follow the cycles start from designing from Design perspective then Tech perspective. After design is deemed to be valid and ready to start to worked on, then we’re start doing implementation and verified by QA.

Those particular event can run parallel on different topic, but need to be follow up sequential for the same one. For instance, a feature of adding emoji for company App Chat [;-)] should be initialised by creating PDD and PTD first, then start the implementation. Yet, another feature such as feature to change company App layout can be started on design phase, even though the Emoji feature is still being implemented.

Product Design Document

On this particular phase, Product and Research Team are start documented their result of work producing the initial design of the Product

Product Technical Document

The second phase is from Development Team are start documented their proposed solution based on PDD

Implementation

After the design and solution is deemed to be enough to go, then we’ll start implementing the solution

Quality Assurance

At the end of the cycle, all implemented features must be verified first before going released to used by users

Different Perspective of SDLC

Product Perspective

sdlc2Before we start development, there are several gates that needed to be passed in order to detailed specification. On overview, the step would be

  1. Offsite Meeting, these meeting involved most if not all Heads within Mapan to discuss OKR (Objective Key Resualts) and product more valid High Level Solution of their respective division
  2. Product Fair, is particular event where Product Team is doing some presentation about what kind of product would be the main focus on the particular quarter. This event main purposes is to gather Tech resources to work on particular product they put their interest to
  3. Product Weekly Sync, there are weekly meeting where all stakeholder and developer meet to talk more about release plan and detailing out the task

Based on Release Plan and Product Specs, there are 2 workflow related to that. One is going to `Research Branch` that is handled by UX Team. The other one is `Tech Branch` that will be handled by Tech Product Team.

 

Gateway

Company wide Phase

Offsite Meeting

This main objective of this meeting is to brainstorm about the OKR Company between Heads within Mapan. This meeting is expected to give more feasible valid OKR on each division as result

Gatekeeper CEO Analyst
Cycle / Cadence Semester
Role &

Responsibility

All Heads within Mapan
Requirement Plans, Supporting Data, Company OKR
Communication Channel Direct meeting
Docs Template Company OKR
Output OKR on Division Level
Decision Maker All Heads within Mapan, each will be the Decision Maker for their respective division / department

Product Phase

Product Weekly Sync

This particular meeting is to discuss about priority and detailing specification of initiatives. All stakeholder should be prepared supporting document and data, such as, but not limited to

  • Product Workstream
  • Cycle Planning
  • Product Design Document
  • Technical Roadmap

With all those prepared, within the meeting all concern should be raised so that the pre-development final plan is produced to answer Product, Tech, UX and Business User needs

Gatekeeper Product Manager
Cycle / Cadence Weekly
Role &

Responsibility

  • Product Manager, providing backlog to be discuss
  • Tech Lead, challenge the technical solution that may arise within Sprint Planning
  • Software Quality Lead
  • Software Engineer, give technical concern related to the backlog
  • Quality Assurance
  • Software Engineer in Test
  • UX
  • Product Business Intelligence Analyst, give advise and verify database design
  • Scrum Master, facilitate the process and make sure everyone have the same opportunity to voice their opinion within the meeting
  • DevOps, give operational concern related to the backlog
Requirement Product-side Docs

  • Workstream
  • Cycle Planning
  • Product OKR
  • Product Design Docs

Tech-side Docs

  • Technical Roadmap
Communication Channel Direct Meeting
Docs Template Product Design Docs
Output
  • Release Plan
  • Product Specs
  • Product Design Docs
  • Product Technical Docs
Decision Maker Committee

Tech Branch Phase

Backlog Refinement

Backlog Refinement is the event that have specific time slot available to be used within the sprint to refined Product Backlog. The main purpose of this specific event is to review whether the next backlog already meet the Definition of Ready or not

Gatekeeper Product Manager
Cycle / Cadence At least once per 2 weeks
Role & Responsibility
  • Product Manager, to present several backlog that will be developed in the near future. Ideally for next sprint only
  • Tech Lead, help SE to give technical concern related to the backlog
  • Software Quality Lead, help QA to give quality concern related to the backlog
  • Software Engineer, to give technical concern related to the backlog
  • Quality Assurance, to give quality concern related to the backlog
  • Software Engineer in Test, to give concern related to automated testing
  • UX, to explain User Interface Design
  • Product Business Intelligence Analyst, to give concern related to data-related stuff (Possible design & architecture, data that need to be captured)
  • Scrum Master, to facilitate the event
  • DevOps, to give operational concern that might be happens after the backlog released
Requirement Product Backlog
Communication Channel Direct Communication, JIRA Board
Docs Template Product Technical Document
Output Refined Product Backlog, Product Technical Document
Decision Maker Based on majority vote at minimum 60% of attendances (Committee)

Sprint Planning

Sprint Planning is the initial meeting that actually discuss about what to commit within the Sprint. Within this particular meeting, there will be technical discussion on how to achieve the goal. This meeting is one of the Scrum Ceremony that will be facilitate by Scrum Master

Before Sprint Planning on the start of each Sprint, several section of the PTD must be completed first in order to get more understanding about the anything that should be consider when planning for solution. This includes

  • Safety Requirements
  • Software Quality Attributes

Some of sections in PTD also need to be fill out during or right after Sprint Planning, such as

  • Security Requirements
  • Business Rules
Gatekeeper Software Quality Lead
Cycle / Cadence 2 weeks
Role &

Responsibility

  • Product Manager, providing backlog to be discuss
  • Tech Lead, challenge the technical solution that may arise within Sprint Planning
  • Software Quality Lead
  • Software Engineer, give technical concern related to the backlog
  • Quality Assurance
  • Software Engineer in Test
  • UX
  • Product Business Intelligence Analyst, give advise and verify database design
  • Scrum Master, facilitate the process and make sure everyone have the same opportunity to voice their opinion within the meeting
  • DevOps, give operational concern related to the backlog
Requirement Product Technical Document, Product Backlog
Communication Channel Product Technical Document, Direct Meeting
Docs Template Product Technical Document
Output
  • Detailed Solution
    • Software Design
    • System Architecture Adjustment
  • Scored Backlog
  • Sprint Backlog
  • Planned Task
Decision Maker Scrum Team (Tech Lead, SQ Lead, Engineers, Quality Assurance)

Task Planning

In Task Planning, all Software Engineer, Quality Assurance, SEiT and DevOps define their detail task that needed to achieve all the stories. Each detail task, or we usually call sub task, should be small enough to be finished within a day timeframe. The main purpose for this event is to define the smallest chunk to do, so that we can get the clear task list to do to achieve specific story or task.

PTD also need to be updated on Task Breakdown section

Gatekeeper Scrum Team (Tech Lead, SQ Lead, Engineers, Quality Assurance)
Cycle / Cadence 2 weeks
Role &

Responsibility

  • Tech Lead, help SE to breakdown story / task into several development-related sub task
  • Software Quality Lead, help QA to breakdown story /  task into several testing-related sub task
  • Software Engineer, breakdown story / task into several development-related sub task
  • Quality Assurance, breakdown story /  task into several testing-related sub task
  • Software Engineer in Test, breakdown story /  task into several automated testing-related sub task
Requirement Scored Sprint Backlog
Communication Channel Direct communication, Jira Board, Product Technical Document
Docs Template Product Technical Document
Output Sub Task per Story / Task
Decision Maker Tech Lead, Software Quality Lead

Development

This step is the where coding happens, which will include several process

  • Create Unit Test
  • Business Logic Implementation
  • Code Standard Review

Within Development, it’s also necessary to update the Product Technical Document as the development goes. The section that must be filled or updated within Development phase are, but not limited to

  • Design and Implementation Constraints
  • User Documentation
  • Hardware Interfaces
  • Software Interfaces
  • Communications Interfaces
  • System Features
Gatekeeper Technical Lead
Cycle / Cadence Daily
Role &

Responsibility

  • Software Engineer, doing the coding including unit testing and other best practice to implement
  • Software Engineer in Test, create test script to automate testing according to requirements
  • DevOps, start preparing for deployment and do preparation related to Ops
  • Product Business Intelligence Analyst, making sure the solution provide the proper data structure & architecture
Requirement
  • Prioritised Sprint Backlog
  • Detailed SubTask
Communication Channel Direct communication, Product Team Slack Channel, Screen Hero, Jira Board
Docs Template Product Technical Docs
Output Unverified Product Increment
Decision Maker Technical Lead, Software Architect

Testing

This step is when the Quality Assurance make sure that the unverified product increment is actually meet the specification and quality standard

Gatekeeper Software Quality Lead
Cycle / Cadence Daily
Role &

Responsibility

Software Engineer in Test, verify Product Increment by doing automated test

Quality Assurance, verify Product Increment by doing manual test

Requirement Unverified Product Increment
Communication Channel Direct communication, Jira Board, Product Team Slack Channel
Docs Template <any docs that need to be standardize>
Output Quality Verified Product Increment
Decision Maker Software Quality Lead

UAT

Include Demo to Affected User

This step is to enable user verification to the actual feature developed by the team

Gatekeeper Software Quality Lead
Cycle / Cadence At least once per 2 weeks
Role &

Responsibility

  • Product Manager, to facilitate the process
  • Business User, to verify the feature is fits with the requirements
  • Quality Assurance
Requirement Quality Verified Product Increment
Communication Channel Direct communication, Product Team Slack Channel
Docs Template <any docs that need to be standardize>
Output User Verified Product Increment
Decision Maker Business User, Product Manager

Release Preparation (Tech & Product)

This step purpose is to preparing build of specific release. This particular build should be verified by DevOps first before it’s considering ready to deploy

Gatekeeper Software Quality Lead
Cycle / Cadence At least once per 2 weeks
Role &

Responsibility

  • SE, to prepare Deployment Step
  • QA, to verify Deployment Step, Test Release Candidate
  • Infra, Hardware Preparation
  • DevOps, to prepare Deployment Script, Coordinate Hardware Preparation
Requirement
  • User Verified Product Increment
  • Confirmation from Product Manager to Release specific feature
Communication Channel Deployment Plan Docs, Direct communication, Slack channel
Docs Template Deployment Plan Docs
Output
  • Deployment Step
  • Release Candidate
  • Hardware Prepared
Decision Maker DevOps

Release (Tech & Product)

This step is when deployment happens. Currently deployment is handled by Software Engineer with Quality Assurance help to verify. Currently we’re going to cloud, so this step’s definition might be vary according to how we deploy

Gatekeeper Product Manager & Business User
Cycle / Cadence At least once per 2 weeks
Role &

Responsibility

  • DevOps, ensure the deployment process executed properly
  • IT Infrastructure, support DevOps to do deployment
Requirement
  • Deployment Step
  • Release Candidate
  • Hardware Prepared
Communication Channel Deployment Plan Docs, Slack Channel #deployment
Docs Template Deployment Plan Docs
Output Released Features
Decision Maker Software Quality Lead

Demo

Demo is done during specific event to publish the works of the latest release to anyone that related and interested to know more

Gatekeeper Product Manager & Scrum Master
Cycle / Cadence 2 weeks
Role &

Responsibility

  • Business User, attend to have more knowledge about released feature
  • Product Manager, arrange the event
  • Software Engineer, prepare the feature to be presented
  • Quality Assurance, prepare the feature to be presented
  • Scrum Master (optional), facilitate if needed
Requirement Released Features
Communication Channel Direct Meeting
Docs Template
Output Feature Release Understanding
Decision Maker

Retrospective

The event is conduct in the end of the sprint to look back and ask what works and not works in the previous sprint. Based on that, the team will make improvement commitment together and will be implemented on the next sprint in terms of improving process or product

Gatekeeper Scrum Master
Cycle / Cadence 2 weeks
Role &

Responsibility

  • Product Manager, give concern to and get feedback from Scrum Team
  • Tech Lead, give concern and discuss what next
  • Software Quality Lead, give concern and discuss what next
  • Software Engineer, give concern and discuss what next
  • Quality Assurance, give concern and discuss what next
  • Software Engineer in Test, give concern and discuss what next
  • UX, give concern and discuss what next
  • Product Business Intelligence Analyst, give concern and discuss what next
  • Scrum Master, facilitate the Retrospective and make sure every concern is followed up
  • DevOps, give concern and discuss what next
Requirement End of Sprint
Communication Channel Direct communication, Running Docs, Product Team Channel
Docs Template No Template, but result must be written on sharable platform
Output Scrum Team Improvement Commitment
Decision Maker Product Team, facilitates by Scrum Master

UX Branch Phase

Research Prioritization

A user journey is a series of steps which represent a scenario in which a user might interact with the solution we are designing. They can be used for 2 main things

  1. Demonstrating the way users currently interact with the service / website / product
  2. Demonstrating the way users could interact with the service / website / product.

Among others, the map usually consists of the user’s action steps, the emotion, the pain point and the channel.

Gatekeeper UX Research on User Journey Mapping
Cycle / Cadence Monthly
Role &

Responsibility

  • Product Manager
  • Researcher
Requirement
  • Release Plan
  • Product Specs
  • Product Design Docs
Communication Channel Product Design Docs
Docs Template Product Design Docs
Output
  • Product Design Docs
  • Research Backlog
Decision Maker A Product committee consists of Product and UX lead

Research Sprint Planning

UX design process is a series of solution development from research, (visual) design, prototype, test to deliverable measurement.

Gatekeeper Product Manager
Cycle / Cadence Biweekly
Role &

Responsibility

  • Product Manager
  • UX Designer
Requirement
  • Product Design Docs
  • Research Report
Communication Channel
  • Product Design Docs
Docs Template
  • Product Technical Document
  • Product Design Docs
Output
  • Product Technical Docs
  • Product Design Docs
Decision Maker Scrum Team

Posted by dbrody