SDLC Development Cycles

Ensuring Efficient and Effective Delivery of Quality Software

Posted by Daniel Brody on April 13, 2018 · 20 mins read

In 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

Before 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

GatekeeperCEO Analyst
Cycle / CadenceSemester
Role &
Responsibility
All Heads within Mapan
RequirementPlans, Supporting Data, Company OKR
Communication ChannelDirect meeting
Docs TemplateCompany OKR
OutputOKR on Division Level
Decision MakerAll 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

GatekeeperProduct Manager
Cycle / CadenceWeekly
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
RequirementProduct-side Docs
  • Workstream
  • Cycle Planning
  • Product OKR
  • Product Design Docs
Tech-side Docs
  • Technical Roadmap
Communication ChannelDirect Meeting
Docs TemplateProduct Design Docs
Output
  • Release Plan
  • Product Specs
  • Product Design Docs
  • Product Technical Docs
Decision MakerCommittee

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

GatekeeperProduct Manager
Cycle / CadenceAt 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
RequirementProduct Backlog
Communication ChannelDirect Communication, JIRA Board
Docs TemplateProduct Technical Document
OutputRefined Product Backlog, Product Technical Document
Decision MakerBased 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
GatekeeperSoftware Quality Lead
Cycle / Cadence2 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
RequirementProduct Technical Document, Product Backlog
Communication ChannelProduct Technical Document, Direct Meeting
Docs TemplateProduct Technical Document
Output
  • Detailed Solution
    • Software Design
    • System Architecture Adjustment
  • Scored Backlog
  • Sprint Backlog
  • Planned Task
Decision MakerScrum 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

GatekeeperScrum Team (Tech Lead, SQ Lead, Engineers, Quality Assurance)
Cycle / Cadence2 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
RequirementScored Sprint Backlog
Communication ChannelDirect communication, Jira Board, Product Technical Document
Docs TemplateProduct Technical Document
OutputSub Task per Story / Task
Decision MakerTech 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
GatekeeperTechnical Lead
Cycle / CadenceDaily
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 ChannelDirect communication, Product Team Slack Channel, Screen Hero, Jira Board
Docs TemplateProduct Technical Docs
OutputUnverified Product Increment
Decision MakerTechnical 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

GatekeeperSoftware Quality Lead
Cycle / CadenceDaily
Role &
Responsibility
Software Engineer in Test, verify Product Increment by doing automated test
Quality Assurance, verify Product Increment by doing manual test
RequirementUnverified Product Increment
Communication ChannelDirect communication, Jira Board, Product Team Slack Channel
Docs Template<any docs that need to be standardize>
OutputQuality Verified Product Increment
Decision MakerSoftware Quality Lead

UAT

Include Demo to Affected User

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

GatekeeperSoftware Quality Lead
Cycle / CadenceAt 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
RequirementQuality Verified Product Increment
Communication ChannelDirect communication, Product Team Slack Channel
Docs Template<any docs that need to be standardize>
OutputUser Verified Product Increment
Decision MakerBusiness 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

GatekeeperSoftware Quality Lead
Cycle / CadenceAt 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 ChannelDeployment Plan Docs, Direct communication, Slack channel
Docs TemplateDeployment Plan Docs
Output
  • Deployment Step
  • Release Candidate
  • Hardware Prepared
Decision MakerDevOps

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

GatekeeperProduct Manager & Business User
Cycle / CadenceAt 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 ChannelDeployment Plan Docs, Slack Channel #deployment
Docs TemplateDeployment Plan Docs
OutputReleased Features
Decision MakerSoftware 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

GatekeeperProduct Manager & Scrum Master
Cycle / Cadence2 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
RequirementReleased Features
Communication ChannelDirect Meeting
Docs Template-
OutputFeature 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

GatekeeperScrum Master
Cycle / Cadence2 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
RequirementEnd of Sprint
Communication ChannelDirect communication, Running Docs, Product Team Channel
Docs TemplateNo Template, but result must be written on sharable platform
OutputScrum Team Improvement Commitment
Decision MakerProduct 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.

GatekeeperUX Research on User Journey Mapping
Cycle / CadenceMonthly
Role &
Responsibility
  • Product Manager
  • Researcher
Requirement
  • Release Plan
  • Product Specs
  • Product Design Docs
Communication ChannelProduct Design Docs
Docs TemplateProduct Design Docs
Output
  • Product Design Docs
  • Research Backlog
Decision MakerA 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.

GatekeeperProduct Manager
Cycle / CadenceBiweekly
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 MakerScrum Team

  • SDLC Development Cycles
  • Brody, Daniel
  • August 01, 2018
  • COPYRIGHT 2022 YOM SHORE VENTURES LLC. ALL RIGHTS RESERVED.