In this dynamic world, the requirement for developing software keeps on fluctuating. To match with this changing nature we need to use an approach which allows accepting frequent changes that can be made any time during the software development, with little or no business loss.
To meet this, industry has now started using most evolved development approach called agile methodology.
The agile methodology in many ways equate with lean product development but in very superficial manner. For example, hypothesis in lean can be same as user stories in agile.
But the major difference is; Lean is used to help build and define a marketable product whereas agile is the means to achieve this in software development
Lean product development has 7 main principles given below:
We at e-Zest implement lean by following below activities:
Discovery phase: To eliminate the waste, this is very important since this helps to draft the basic requirements to be worked on. This cover studying the needs against perceived and conceptual integrity. The output of this phase is a minimal viable specs
Paper prototype/Clickable Prototype: We do prototyping to validate the idea thus implementing the concept of “Decide as late as possible”. In one of the project, we did clickable prototype of business idea, which the client then took to validate in market. On basis of feedback we designed sprints, thus ensuring the delivery of most crucial features as early as possible.
We know our developers: Ownership is in e-Zest value “OLIVZ”. What is required to follow lean is to hire competent resources with required skills to execute a task independently. At e-Zest, project manager devices the sprints/iterations based on developer’s skill set so that it can be deliver by single developer thus eliminating the inter-dependencies.
Implementing Devops: Devops focuses on improving the collaboration between developers and operations folks, thus matches to “see the whole” concept of lean product development. Tools such as Jenkins, Maven etc. helps for continuous integration.
Iterative approach: This approach helps to divide small chunks thus ensuring to meet several principles of lean. With this approach, learning out of the one iteration can be applied in the next iteration thus reducing waste.
The main aim to implement lean by leveraging our expertise in agile methodology is to achieve highest quality by using optimal resources, thus ensuring deliver of right solution to right users at right time.