Teema 11. Analysis of software development project and business model

Software development project

 Creating an analytics report according to business requirements, specifically: Dialed outbound telephone numbers  for Customer Service agents and Number of successful conversations with customers.

Following attributes for software development  project are present here:

  • Business has a problem that can be resolved  by piece of software code
  • Product owner (analytics department head) splits the business problem into series of tasks that his development team can work on
  • Developers team: 
    • Developers will create an API from telephony supplier; 
    • Data Engineers - will extract required variables from raw data sent from telephony supplier via API
    • PowerBI analytics will use the date to create reports in PowerBI tool for business to verify report and if all is correct -> to solve business problem with this report

Step 1. Business (me) creates a JIRA task with business problem description and parameters for the reporting that I needs to see: date period filter, required parameters: call data, date and timestamps, successful calls data, individual names of Customer Service Agents filter, conversions % from one field to another, raw data extracting possibilities etc.
For ease of understanding I also draw a sample table how the report should look like in Excel.

  • Critically important here is for Business to have full clarity on exact business problem and what parameters are needed to resolve it. IT cannot work on "give me something then I will think" kind of description.
  • Second critical point here is not to aim at creating a report that twill solve all World's problems, but to limit own desires only to key parameters that matter the most. Limiting own appetite will lead to much shorter development times and will result in faster business output.

Step 2. Product owner takes business description and verifies if all is clear or if not,  then asks additional questions or requests clarifications about report parameters. Once this is done and all required fields are clear, then technical tasks generation starts (series of JIRA sub-tickets will be  created):

  • Create API with telephony supplier
  • Deliver raw data in JSON format received by API to DWH (data warehouse) solution and create tables in DWH for storing data without overwriting
  • Create queries to DWH from PowerBI solution
  • Create visual reports in PowerBI
During this step Product owner may clarify with Business the requirements, we may even adjust it, based on what is "quickly possible" and what turns out to be "a lot of development work".

Step 3. Tasks review and Story Points allocation and Sprint Planning

Step 4. Development Sprint (actual development work)

  • Again developers are coming to Product Owner and to Business to clarify one or another parameter or variable, how it should work and what expected result should be. Business explains in detail the meaning of the report to developers, so they have full picture and involvement into a business problem they are trying to resolve.

Step 5. First version of report is produced and presented to Business for verification and testing.

Step 6. After report is verified  and initial comments and errors are found, PowerBI team makes quick adjustments and corrections and after a day or two report is published into live.

Step 7. Since the description of business problem and description of the report  functionality already exists in JIRA ticket, this serves as documentation FAQ how to use the report. and is linked into Company WIKI/Confluence solution.

Summary: In this case, we use the combination of waterfall method (one step after another) and scrum method - active participation from business and Product to give quick feedback to developers to minimize the development scope and concentrate only on tasks that are really important, and at the same time have full understanding of the business problem that developers are helping to resolve.


Business model

This one will be about Software projects that we typically ordered from external suppliers: for example to build a business product on a SaaS platform.

One of the typical solution for SaaS platforms is to charge per user or per customer account created, but for a client this is only good on very early stages when number of users/customers is very small and it also kind of locks the mentality of staying small to preserve costs levels. For a SaaS supplier this is also not very good, as they lose money on small-scale clients that require a lot of customer support during initial stage while not bringing any decent revenue.

Therefore I tend to prefer to have reasonable agreement with the supplier that guarantees them relatively decent monthly revenue from me, that will also give me justifiable right to demand good and quality support levels, as i know that we pay to Supplier reasonable fee, that should allow them to hire necessary support to give me the quality i need. this model also does not limit my growth as i know that i will not be penalized if my business will grow 10 times or 100 times - my monthly bill will not increase 100 times with it.

Comments

Popular posts from this blog

Teema 15. Choosing a Company with IT code of ethics and analyze.

Teema 14: Review of one of the major IT security risks and suggestion for prevention: investing via P2P platforms

Teema nr1: Lessons and learnings form the History of IT