A Software Development Perspective
A process is important as it creates an expectation of an outcome. Outcomes can measure a process and result in different ways making the process essential to follow. Without a strategy, we will not confidently be able to measure. Without measurement, we will not know we are doing something correctly.
If you want to measure something like Innovation vs Maintenance of software, you need data points. One way to gain data points is to have tickets created in a system like Jira or Bugzilla. With tickets, you can do a count and get a rough idea of the number of items closed. Measure a story vs bug type ticket counts. Measuring counts is good, but you do not know the time spent, which is the real measurement. By implementing a software development process where you have a requirement of a ticket, time logged, tests and the source control linked to the ticket; you now have data points that you can adequately measure time spent in the life cycle of software development. It would be best if you had your teams unite, buy into and to follow the process ( drink the cool aide ). The minute you have a team or a member of the team who doesn’t follow the process, your metrics follow apart, your traceability of work falls down, and your quality can suffer. Not to mention without the process following, you cannot confidently train new people.
Adopt to make the process successful:
- Have training sessions
- Create dashboards to help show progress
- Show why the process is important by demonstrating the outcomes
- Practice what you preach, and help the team practice
- Ask for input
- Check on things regularly, and make people accountable
When we can measure on a process, we can confidently report to our stakeholders. This holds us all accountable. You cannot have a team or a member of a team messing with the results or you will not be able budget, properly report or hold people accountable.