Track software development lifecycle

Track software development lifecycle

Requirement  

Use Blueprints feature to track and manage the process of software development.

Use Case  

A software company uses blueprints to track and manage the software development lifecycle. Various blueprint actions are needed to mark the present status of each stage . F or example , when a feature request is received, when the development starts, or when issues are found . The relevant team then moves the blueprint stage (status) to the next stage once they complete their work items. This way the entire development cycle is efficiently tracked and fully automated using workflow actions that are triggered at each blueprint transition (action) .


Steps to follow  

1 . Create forms with the following details:
Form
Form Link Name
Field Type
Field Name
Field Link Name
Feature Requests
Feature_Requests
Radio
(with options New Feature and Bug )
Request Type*
Request_Type
Multi Line
Request Details
Request_Details
Email
Email*
Email
Development Tracking
Development_Tracking
Radio
(with options New Feature and Bug )
Feature Type
Feature_Type
Multi Line
Request Details
Request_Details
Email
Request By
Request_By
Single Line
Status
Status
Multi Line
Status Description
Status_Description
  • The asterisk (*) next to a field name indicates the field is mandatory.
  • The Feature Request form is for the customer to submit their request. Once a customer submits the request, the record is pushed to the Development Tracking form.                  
2. To push records from the Feature Request form to the Development Tracking form, create a workflow with the following details:
 
3 . Click Add New Action > Deluge Script and add the following snippet:
  1. //use variable to specify details of record to be added
  2. params = Map();
  3. params.put("Feature_Type",input.Request_Type);
  4. params.put("Request_Details",input.Request_Details);
  5. params.put("Request_By",input.Email);

  6. optionalParams = Map();

  7. // use Creator integration task to insert the record
  8. //Replace <admin_username> and <app_linkname> variables with appropriate values.
  9. zoho.creator.createRecord("<admin_username>","<app_linkname>", "Development_Tracking", params, optionalParams, "creator");
We have created a connection to Zoho Creator service named "creator". The above snippet simply creates a record in the Development Tracking form with the details specified by the customer in the Feature Request form.

While creating connections, we will also create a connection to Zoho Cliq (chat service) service and name it "cliq". We will use this connection later in this tutorial to send a notification to leads when a new feature request is approved.
 
4. Next, we need to send an automated email to the manager once a request is added to the Development Tracking form. Create a workflow with the following details
 
5. Click Add New Action > Deluge Script and add the following snippet:
  1. sendmail
  2. [
  3. from :zoho.adminuserid
  4. to :"<manager's email address>"
  5. subject :"New Feature Request"
  6. message :"We have received a new feature request. <a href=\" https://creatorapp.zoho.com/<admin_username>/<app_linkname>/#Report:Development_Tracking_Report?ID=" + input.ID + "\">Click here</a> to view the record. Click the record to approve or reject."
  7. ]
Replace <admin_username> and <app_linkname> variables with appropriate values.
 
6. Duplicate the Development Tracking form to create the following stateless forms:
Form
Fields
Buttons
  Form Name

  Form Link Name

Field Type
Field Name
Field Link Name
Button Type  
Button Name
Specify Details
Specify_Details
Multi Line
Status Description
Status_Description
Button
Assign
Lookup (Development Tracking)
ID1
ID1
Reset
Reset
Assign Developer
Assign_Developer
Users
Developer
Developer
Submit
Submit
Lookup
(Development Tracking)
ID2
ID2
 
 
When a manager approves or rejects a feature request, the Specify Details form is used to specify the reason for the action, which is then associated with the corresponding record in the Development Tracking form.
 
The Assign Developer form is to assign requests to developers using report workflows.
 
The ID fields in both forms are used to update corresponding records in the Development Tracking form, up on which the actions are performed.
 
7. The stateless forms appear only when certain actions are performed, so we need not explicitly display these forms in the app. To hide forms, navigate to Sections.
 
8. Click the hide icon to hide forms.
 
9. Now , let's create a button in the Development Tracking Report that can be used to assign developers to requests. Click Configure Fields for Web for the Development Tracking report.
 
10. Click +Add New Button .
 
11. Create the action item, as displayed below :
The button should only be enabled when a developer has not be assigned, which is why we have set the criteria.
 
12. Click Add New Action > Deluge script > Create your own and add the following script:
  1. openUrl("#Form:Assign_Developer?ID2="+input.ID, "popup window", "height=310px,width=420px");
The above snippet opens the Assign Developer form and captures the ID of the record for which the developer is being assigned.
 
13. The ID2 field is only to map the original record in Development Tracking form and is not needed to be shown to the user. Create a workflow to hide the ID2 field on load of the Assign Developer form.
 
14. Click Add New Action and add the following snippet.
  1. hide ID2;
15. Now let's add a snippet to update the developer for the selected record. Create a workflow with the following details:
We have selected the "Form Event" as Click of a button because the workflow should be triggered when a user clicks the Assign button.
 
16. Click Add New Action > Deluge Script and add the following snippet:
  1. //update record in Development Tracking form based on the current record's ID
  2. update_dev = Development_Tracking[ID == input.ID2];
  3. update_dev.Developer=input.Developer;

  4. //redirect to the record for which the developer is assigned
  5. openUrl("#Report:Development_Tracking_Report?ID=" + input.ID2, "same window");
17. Now let's add similar snippets for Specify Details form. Create a workflow to hide the ID1 field on load of the Specify Details form.
 
18. Click Add New Action and add the following snippet.
  1. hide ID1;
19. Now , let's add a snippet to update the Status Description field in Development Tracking form for the selected record. Create a workflow with the following details:
 
20. Click Add New Action > Deluge Script and add the following snippet:
  1. //update record in Development Tracking form based on current record ID
  2. rec = Development_Tracking[ID == input.ID1];
  3. rec.Status_Description=input.Status_Description;

  4. // redirect to the record for which the Status Description is updated
  5. openURL("#Report:Development_Tracking_Report?ID=" + input.ID1,"same window");

  6. // fetch customer's email address and send a mail if the request is rejected
  7. //the status field is updated using bluepint actions in upcoming steps
  8. if(rec.Status == "Rejected")
  9. {
  10. sendmail
  11. [
  12. from :zoho.adminuserid
  13. to :rec.Request_By
  14. subject :"Feature Request Update"
  15. message :"Hi there, Your feature request with details - <br />" + "\"" + rec.Request_Details + "\" <br /> has unfortuantely been canceled for now due to the following reason - <br />" + "\"" + input.Status_Description + "\""
  16. ]
  17. }
21. We will create a dedicated report for developers that lists the requests assigned to them. Create a new list report by clicking the + symbol.
 
22. Create the report with the following details :
 
23. Click Open Report Properties.
 
24. Add the following filter and click Save .
 
The filter will only display those records which have been assigned to the user viewing the report. This is achieved using the system variable zoho.loginuser .
 
25. Now we'll create different permission sets for Managers, Leads, Developers, and Testers. This is to ensure each department has access only to the required blueprint actions. Navigate to Settings > Users.
 
26. Create the following permission sets and add users to each profile as required.
Permission
Module
Action
Manager
Development Tracking
  • Access
  • View Development Tracking Report
  • Edit Development Tracking Report
  • Delete Development Tracking Report
Specify Details
  • Access
Lead
Development Tracking
  • Access
  • View Development Tracking Report
  • Edit Development Tracking Report
  • Delete Development Tracking Report
 
Assign Developer
  • Access
Developer
Development Tracking
  • Access
  • View Development Tracking Report
  • View Developer's Report
  • Edit Development Tracking Report
  • Delete Development Tracking Report
Tester
Development Tracking
  • Access
  • View Development Tracking Report
  • Edit Development Tracking Report
  • Delete Development Tracking Report
 
27. Create a channel in Cliq and add users with Manager and Lead permissions to that channel. This channel will be used to send alerts when a feature request is approved or rejected.
 
28. Now, let's create the blueprint with the following details:
 
We have provided a criteria because we need the blueprint to be associated only to records containing the Feature Type field value as New Feature .
 
29. Create a blueprint with the following stages and transitions.

 

Transitions

  • Approve feature

  • Reject Feature

  • Start Development

  • Development Complete

  • Started Testing

  • Bugs Found

  • Testing Complete

  • Released

 
Stages
  • Feature requested
  • Feature request accepted
  • Feature request rejected
  • On hold
  • Requirements met
  • Development in progress
  • Feature developed
  • Testing in progress
  • Testing complete
  • Released
 
30. Define the following Before and After actions for each transition.

i. Transition : Approve Feature
Before actions: Set Transition Owner to Selected Users and select "Manager" under Permissions


After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;

  3. //Posting a message in the cliq channel with the approved request's details
  4. //Replace <admin_username> and <app_linkname> variables with appropriate values.
  5. cliqchannel = zoho.cliq.postToChannel(<channel_name>, "A new feature request has been approved. [Check it out]( https://creatorapp.zoho.com/<admin_username>/<app_linkname>/#Report:Development_Tracking_Report?ID=" + input.ID + ") to assign a developer","cliq");

ii. Transition : Reject Feature
Before actions: Set Transition Owner to Selected Users and select "Manager" under Permissions


After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;

  3. //Open the Specify Details form to enter the reason

  4. //The ID field is fed with the current record's ID which is then used to update the record's status description field (explained in point 20)
  5. openURL("#Form:Specify_Details?ID1=" + input.ID, "popup window", "height=310px,width=420px");
iii. Transition: Put On Hold
Before actions: Default settings
After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;

  3. //Open the Specify Details form to enter the reason
  4. //The ID field is fed with the current record's ID which is then used to update the record's status description field (explained in point 20)
  5. openUrl("#Form:Specify_Details?ID1=" + input.ID, "popup window", "height=310px,width=420px");
iv. Transition: Developer Assigned
Before actions:
  • Set Transition Owner to Selected Users and select "Manager" under Permissions
  • Set Criteria as "Developer is not null"
  • Add a tooltip: "Click this if a developer has been assigned"
After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;

  3. //Send an email to the assigned developer 
  4. //Replace <admin_username> and <app_linkname> variables with appropriate values.
  5. sendmail
  6. [
  7. from :zoho.adminuserid
  8. to : input.Developer.email
  9. subject :"Task assigned"
  10. message :"A new task has been assigned to you. Check details here:<br /> https://creatorapp.zoho.com/<app_admin>/<app_linkname>#Report:Developer_Report?ID=" + input.ID
  11. ]
v. Transition: Requirements Analyzed
Before actions:
  1. Set Transition Owner to Selected Users and select "Developer" under Permissions
  2. Add a tooltip: "Click this if requirements have been analysed and brainstormed
After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;
vi.Transition: Start Development
Before actions: Set Transition Owner to Selected Users and select "Developer" under Permissions and Developer equals
zoho.Loginuser under Criteria.



After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;
vii.Transition: Development Complete
Before actions: Set Transition Owner to Selected Users and select "Developer" under Permissions


After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;

  3. //Send mail to testers. 
  4. //Here we are assuming that the testing team uses a separate form to track testing activities
  5. sendmail
  6. [
  7. from :zoho.adminuserid
  8. to :<testers email addresses separated by comma>
  9. subject :"Feature available for testing"
  10. message :"Hi, a new feature is available for testing. Please check the testing form for more details."
  11. ]
viii.Transition: Started Testing
Before actions: Set Transition Owner to Selected Users and select "Tester" under Permissions


After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;
ix.Transition: Bugs found
Before actions: Set Transition Owner to Selected Users and select "Tester" under Permissions

After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;

  3. //Send mail to developer about the bugs. 
  4. //Here we are assuming that the testing team uses a separate form to track testing activities
  5. sendmail
  6. [
  7. from :zoho.adminuserid
  8. to :input.Developer.email
  9. subject :"Bugs found"
  10. message :"Issue found, please check Bug Report"
  11. ]
x.Transition: Testing Complete
Before actions: Set Transition Owner to Selected Users and select "Tester" under Permissions

After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;

  3. //Send mail to the developer and manager when the testing is complete
  4. //Replace <admin_username> and <app_linkname> variables with appropriate values
  5. sendmail
  6. [
  7. from :zoho.adminuserid
  8. to :input.Developer.email, <manager_email_address>
  9. subject :"Testing Complete"
  10. message :"Testing is complete and QA has given a go for the following feature: https://creatorapp.zoho.com/<app_admin>/<app_linkname>/#Report:Development_Tracking_Report?ID=" + input.ID
  11. ]
xi. Transition: Released
Before actions:
    • Set Transition Owner to Selected Users and select "Manager" and "Lead" under Permissions
    • Under Transition Properties add a confirmation message as displayed below
After actions: Add the following snippet:
  1. //Assign blueprint stage to Status field
  2. input.Status = input.Blueprint_Stage;

  3. //Send mail to the customer when the requested feature is released
  4. sendmail
  5. [
  6. from :zoho.adminuserid
  7. to :input.Request_By
  8. subject :"Feature Request Update"
  9. message :"Hi there, Your feature request with details - <br />" + "\"" + input.Request_Details + "\" <br /> has been successfully rolled out"
  10. ]

See how it works         

Points to Note  

  • In point 3, we are using the Creator integration task instead of Add Records task to add records in Development Tracking form. This is because Blueprints are currently not applicable to records added using the Add Records task.
  • Publish the Feature Request form to enable your customers to access it even if they don't have a Zoho Creator account.
  • Please check the attachments to get this application as DS file.
Related Links                       
Blueprints
invoke URL
Zoho Creator - Create Record integration task
Connections
Send Mail

    Zoho CRM Training Programs

    Learn how to use the best tools for sales force automation and better customer engagement from Zoho's implementation specialists.

    Zoho CRM Training
      Redefine the way you work
      with Zoho Workplace

        Zoho DataPrep Personalized Demo

        If you'd like a personalized walk-through of our data preparation tool, please request a demo and we'll be happy to show you how to get the best out of Zoho DataPrep.

        Zoho CRM Training

          Create, share, and deliver

          beautiful slides from anywhere.

          Get Started Now


            Get started with Zoho Sign

            in a few quick steps!

            Download Help Guide





                        Still can't find what you're looking for?

                        Write to us:  support@zohoforms.com


                              




                            

                          Zoho Marketing Automation

                            Zoho Sheet Resources

                             




                                Zoho Forms Resources


                                  Secure your business
                                  communication with Zoho Mail


                                  Mail on the move with
                                  Zoho Mail mobile application

                                    Stay on top of your schedule
                                    at all times


                                    Carry your calendar with you
                                    Anytime, anywhere




                                          Zoho Sign Resources

                                            Sign, Paperless!

                                            Sign and send business documents on the go!

                                            Get Started Now


                                                Zoho SalesIQ Resources



                                                    Zoho TeamInbox Resources



                                                            Zoho DataPrep Resources



                                                              Zoho DataPrep Demo

                                                              Get a personalized demo or POC

                                                              REGISTER NOW


                                                                Design. Discuss. Deliver.

                                                                Create visually engaging stories with Zoho Show.

                                                                Get Started Now











                                                                                      • Related Articles

                                                                                      • Blueprints - Feature in focus

                                                                                        Sample use case A software company can use the Blueprint feature to track and manage the software development lifecycle. A blueprint consists of two parts: stages and transitions. Zoho Creator allows you to update the status of a stage for important ...
                                                                                      • Understand blueprint

                                                                                        A Blueprint is an online replica of a business process. The blueprint helps in streamlining the process management in an organization by facilitating automation, validation and collaboration among various stakeholders. The blueprint enables you to ...
                                                                                      • Schedule a monthly email with report as pdf

                                                                                        Requirement Schedule a monthly sales report to the sales manger in a PDF with stats on achieved sales versus target for the month. Use Case A sales management app records sales activities and numbers to track the performance of its sales team and the ...
                                                                                      • Manage development environment

                                                                                        The following development environment actions are available to users: Edit Access Settings Logs The above options will be displayed when you click on the ellipsis for the required app listed in the Environments page. Edit The Edit option will open ...
                                                                                      • Disable blueprint

                                                                                        To disable a blueprint: Click on Workflows to navigate to your Workflow Dashboard. Click on the Blueprint tab. Navigate to the blueprint that has to be deleted and click on the Enabled toggle icon that appears next to it. In the popup that appears ...
                                                                                      Wherever you are is as good as
                                                                                      your workplace

                                                                                        Resources

                                                                                        Videos

                                                                                        Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                                                                        eBooks

                                                                                        Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                                                                        Webinars

                                                                                        Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                                                                        CRM Tips

                                                                                        Make the most of Zoho CRM with these useful tips.



                                                                                          Zoho Show Resources