How Planbox manages its product development lifecycle

One of the great things about being a customer at Planbox is knowing that we use our own products all day to accomplish our own work. Why is this so great? There are several reasons, all of which help make building new features a collaborative and rewarding experience. First, by using our own products we have direct experience not only with how those products work internally but also how our users experience them. Second, there is greater transparency, and faster, more direct exchange of information. We don't only say that our customers are our business partners, many of them are actually involved in helping us improve what we offer and to make better investments. With great communication, there are more opportunities to give and receive feedback. This leads to more innovation because of the increased number of opportunities for ideas to cross-pollinate. The third is prioritization. When we work in concert with our users, it’s easier to see the clear path forward because our users are very vocal and direct in their feedback.

Customer Advisory Board (CAB)


If you are part of our customer advisory board then you have a unique opportunity to participate in the features that we plan on creating/improving within the Planbox idea development and work management platform. You should expect a notification from us 4 to 6 weeks before the beginning of every calendar quarter. We will share our quarterly priorities and planned deliverables. Your voice is important, we consider your feedback and may adjust our development if your comments are received 3 weeks before the calendar quarter beings.

Quarterly Process

  • Priorities are released to the CAB within 6 weeks prior to the beginning of the  calendar  quarter.
  • Feedback must be received 3 weeks prior to the beginning of the new calendar quarter.
  • Priorities are set within 3 weeks of the beginning of the quarter - scope change (specially adding something new) is resisted as much as possible once a sprint begins - from this point on, only major issues such as a change request due to a root cause analysis (RCA) may cause a change in priorities.
  • When month 1 of the calendar quarter begins, the priorities are now locked for the month and executed according to plan.
  • In the following months (2 and 3) of the calendar quarter, the priorities are revised, locked and executed 1 week before the calendar month begins.
Notes:
  • Planbox re-prioritizes usually each calendar month but sends a list to the CAB only a calendar quarter basis.
  • Planbox employs an Agile development methodology, therefore most of our planning efforts go into planning the next iteration (week, month, quarter) and we are constantly adjusting our plans and priorities based on all feedback and market changes
  • Long term product roadmaps tend to be high level goals that are incrementally and iterative-ly mapped into quarterly deliverables
  • Please contact your Planbox account executive or our professional services team it you are interested in joining Planbox CAB.

Feature Development Process Overview

Feedback


Listening to our users is the only way to guarantee that we create a product or service that you actually want to use. Customer feedback is a necessary step in the product development process to ensure that any improvements we invest in actually address a specific pain point. To create an amazing user experience, we constantly ask our users what improvements they need and use their insight to create develop our action plan.

Design/Analysis


The output of the design phase is the system requirements specification. The system specification is a set of blueprints that we follow when developing according to user stories and feedback. The majority of the communication you may receive from us during the design phase may be questions to verify certain aspects of your feedback or user story.

Technical Review


Technical review is conducted by the company's CTO or a senior software architect to address the feature's feasibility, complexity, implications of adding the feature on the overall system in terms of performance/reliability and scalability, comment what testing would be required, any data structure changes, if any. any new 3rd party components or tools are needed to implement or support this feature. This pre-development review also considers any security and data integrity implications of the new feature.

Customer Review


We occasionally share user stories and technical documents for our CAB members to review. This can be in the form of a prototype, display mock-ups or functional specifications. 

Development


The development phase is where the Planbox dev team magic happens. As much as possible, we do our best not to interrupt or side track our developers when they are deep in the code.

Testing


Involves repeated testing of standard user scenarios, boundary tests, and occasionally returning to the development phase. 

Code Review


Code reviews are conducted at various checkpoints throughout the development process. A comprehensive checklist-ed code review is conducted just prior to incorporating the new feature into any main version control system branches. The final code review is required to also verify that the new code does not introduce any security vulnerabilities and addresses all of the issues that were discussed and highlighted during and subsequent to the initial design and technical review phase.

Customer Early Release


The early release is when we show you the fruits of our combined labor, this is our mutual opportunity to make sure we are on the right track and whether the feature/new component is meeting expectations.  

General Availability


The new feature goes into production, becomes generally available to all our clients - Congratulations! You just helped us make something very cool and improve!


Note: With agile execution principles, there are no clear lines in the process 
described above. We iterate and move back and forth between all of these activities through the entire development cycle.  

Release and Update Process Overview


Features are developed in one or more sandboxed Planbox instances where they are tested before being made generally available.The Planbox development process includes strict rules that prevent features to be published to a production system directly, they are tested in a staging system first. Every production update include rollback processes to revert back to a last known good version in the event that unforeseen issues or bugs occur after a production update.


Quality Assurance Process


Over the past fifteen years, Planbox has acquired significant expertise in project management, software development, and quality control by participating in and executing a wide array of projects. Planbox understands the importance of institutionalized processes, scope management, comprehensive test plans, user scenario testing, and constant communication with project stakeholders to ensure that deliverables match expectations.

Quality control and testing are an integral aspect of Planbox development processes. The testing schedule includes unit testing for each individual component. In addition, system and integration tests are executed independently. During the testing phase, automated testing is used where appropriate; the necessary number of test cases are created using scripts. We use Visual Studio Unit Testing for automated testing and New Relic for back-end performance measurements.

Planbox is committed to releasing quality solutions that meet and exceed our client’s needs and requirements through an iterative development and quality assurance process.

Customer Packages


From time to time, software packages are developed for customers that have specific reporting, analytics or integration requirements. For example, when Planbox Innovate is integrated with the customer's CRM, HR, social collaboration, or reward management system; or when a customer requires specific reports and dashboards based on their own data structures and workflows. A more rigorous waterfall-like method is used  to develop and release customer packages since there is less margin for error. If the customer has sandbox environments then such staging environments allow for more rapid development and iterative improvements of any customer deliverables.

The following diagram describes how customer packages are developed, tested and delivered.


Version Control and Release Management


Planbox used Microsoft Team System for Version control and release management as well as Github for several projects.
  • Visual Studio 2015 development Environment
  • Integration of Team System with internal workflows, including work request, bug tracking, and escalations
  • Daily builds to ensure code quality
  • Enforced policies for coding standard compliance

Other Relevant Policies, Processes or Guidance


Incident Management Policy: https://support-innovate.planbox.com/knowledgebase/articles/882918
Root Cause Analysis: https://support-innovate.planbox.com/knowledgebase/articles/878586
Information Security Policy: https://support-innovate.planbox.com/knowledgebase/articles/882723 

  


Feedback and Knowledge Base