Software development can be understood simply as a program to receive inputs (i.e customer needs) and then produce outputs (i.e working software). It is worth it to know how many steps are in that program. When something gets stuck in a step, everyone is aware of that.
The first painting of my son |
The General Process Big Picture
There are two main factors in this picture including the people with roles and their interactions. All people involved in developing the product know their responsibilities clearly and how to make things done right. Therefore, a good collaboration can be reached.
Product Roadmap Contribution
It would be great for developers to know what the next features to work on are as well as when those features will be delivered. Therefore, the product roadmap is very important.
The items in the roadmap should be contributed by ALL people involved in the product.
Because software engineers directly develop, test, delivery, and monitor the software, they should also contribute ideas to the roadmap.
How to contribute
- For small features, just create a User Story in the Product Backlog and share it with Product Owner (PO)
- For big features (knowns as Epic), create a document to describe it and discuss it with the PO.
Technical Consulting
The sales team, Product Manager, and PO work closely with customers. However, they are almost non-technical people. Therefore, technical consulting from Developers is needed.
Normally, the process of technical consulting consists of the following steps:
- Product Manager/Product Owner creates a document to describe the features' idea
- Developers describe the proposals including architectures and rough estimation. It is important that Developers are the ones who give the estimation directly. The Technical Architect plays the role of facilitating the team to have good proposals. Depending on the feature’s complexity, the research/spy user story should be created first.
For simple issues, technical consulting also can be simply conducted by direct communication without the need of creating a document.
Product Operation
Even though Developers do not operate and maintain the applications in the production environment, they should know how it is operated too. It will impact how the features are implemented as well as avoid some issues when running in production by implementing a good mechanism. Therefore, it requires some transparent information for them.
- A document describes the deployment views, infrastructure, practices, version, etc (i.e Confluence pages)
- Communication channels (i.e weekly catch-up)
Comments
Post a Comment