This article is a continuation of my previous post – 3 P’s framework – People are the key. We now focus on Process as it relates to the “how” the work is to be done.
There is a plethora of options in terms of processes one can follow to be successful. Across software literature one come across many variations and combinations of the “D..” verbs typically used in software development. One that is simple to use and remember is called 7D’s.
These can be easily understood by asking the quintessential questions of Why, Who (whom/ whose), What, When, Where and How.
Why are we doing this feature/ product? The other question to answer is for Who(m) is this required? These are the hard questions that need to be clearly answered on what the problem/ solution space is and the potential customer base being looked at. This is generally addressed by Product Managers or Portfolio Managers.
What is the expected functionality? This corresponds to the requirement analysis phase and there are different methodologies that can be used for capturing and validating the requirements or use cases. This is generally addressed by Business Analysts, Product Managers or Product Owners.
How are we going to achieve the requirements? This corresponds to the design phase and based on the organization approach, the level of documentation required can vary. Some level of prototyping is also done in this phase to help validate the designs. This is generally the forte of Technical Architects, Development Leads.
How is this to be developed given the requirements and design? Focus is on coding/ development, additional steps involved include testing, debugging, documentation and demos before this is considered complete. The development and Quality Assurance teams handle this important phase with help from Project Managers and Scrum Masters.
When and how is this expected by the customer? Additional questions that need to be clear are the mode of delivery (packaged build on a disc or digital delivery), any requirements specific to on premise/ Cloud/ SaaS deployments, any specific requirements from a platform perspective (Windows/ Linux/ Apple/ Android/ Xbox/ PlayStation etc.) that need to be addressed? The Configuration Management Team manages this with help from the development team.
Where is this tool/ product to be deployed? After the delivery has been made, the actual deployment is done and it is the critical step to get the tool finally in the hands of the customers. There are quite a few projects that do not get past this stage though due to different reasons and sort of lie on the shelf. In case of SaaS/ Cloud offerings, internal DevOps teams manage this phase. In case of on premise installations, this is handled by the customer IT teams along with specialist Implementation Consultants who understand both the product and the customer environments.
Whose Success is it that we aim for? It is obviously for both the end customer as well as the product teams who have toiled to give a final shape to an idea/requirement. There are sometimes roll-out related challenges, performance and stability issues, hard to reproduce issues and sometimes silly defects, but if we keep the Delight of our customers in mind, we work hard towards debugging and resolve the issues. This is best achieved by having a good communication channel between customer and product teams and is built on a strong foundation of trust.
Remember a delighted customer will come back to you and you will have many more cycles starting again from the Define phase.
The article was first published in Mr. Prashantha Sawhney’s LinkedIn Pulse post. The article is reproduced here with the authors permission. The views shared by the author are shared in his personal capacity.