The technology industry continues to evolve with new products and category innovations defining andthen redefining this sector’s shifting landscape. Over the last few years, there has been even greater volatility as a result of the advent of SaaS, cloud, and other related technologies and this has affected the makeup of hardware and software companies. Companies which not only aim to survive but want to prevail in customers’ minds are reinventing traditional methodologies and turning to disruptive frameworks to stand apart from the competition. They are, in fact, redefining product development rules. These companies seek to provide their customers with greater performance, higher revenues and better features, all in rapid time.
One method which ensures that software companies empower their customers to react to market needs is the Agile/Scrum Methodology. Trigent, for example, routinely uses Scrum project management framework with engineering best practices across several projects.
This paper describes Agile methodology, by detailing a case study, the best practices implemented and results discovered
“Agile programming of everything from applications to basic infrastructure is essential to enable organizations to deliver the flexibility required to make the digital business work. Software-defined networking, storage, data centers and security are maturing. To deal with the rapidly changing demands of digital business and scale systems up – or down – rapidly, computing has to move away from static to dynamic models. Rules, models and code that can dynamically assemble and configure all of the elements needed f rom the network through the application are needed.” says Gartner in its report, “Top 10 Strategic Technology Trends for 2015”.
The traditional development methodologies have proven challenging for software professionals since long. The problems faced and their real-life experiences have resulted in Agile methodology, which offers a lightweight framework. This method ensures that there is rapid value realization with significantly reduced risk.
The Agile methodology starts off by accelerating the realization of initial business value and then, through a continuous process of planning and feedback it offers maximized value through the development cycle. The final product is no surprise for customers as its evolution is consistent with adaption to changing specifications and requirements of the customers. Thus, the final product is not a standalone software offering but, on the other hand, a product aligned closely to customers’ business requirements. Agile helps software companies to deliver to customers, better value, visibility and adaptability right from the onset of a project, thereby reducing risk considerably
Challenges faced with traditional methodologies
According to the popular CHAOS Report, nearly 25 percent of projects experience failure and software created never deployed. The significant reason for this failure is the traditional development methodologies adapted by product companies.
Customers are not expected to worry about the development methodology. Their worries would be more on the lines of:
Advantages of Agile/Scrum Methodology
Trigent worked with the customer to define the product idea. In parallel, Trigent’s business analyst worked with the customer to understand the business goals and align the product features to achieve the same.
Trigent’s domain experience combined with in-depth technology expertise helped the customer to look beyond expected functionalities to a flexible, ramp up/down end product with limitless possibilities.
The product requirements from the customer were captured as user stories and Trigent’s analyst worked with the customer to develop the same. The complete set of product features formed the product backlog and the customer and Trigent’s analyst became the Product Owners (PO).
When the PO wrote the user stories, Trigent made sure that the acceptance criteria for the features was defined and complete. This provided clarity to the development team on what was expected from them to meet the requirements.
The product development phase was divided into four Sprints. Each Sprint spanned a period of three weeks with a defined set of features to be implemented in each Sprint, agreed by the Scrum team. Also, a designated Scrum master was allocated for the project.
Trigent identified critical features of the product and these features became a part of the earlier sprints. The initial design of the product was created to meet the critical product features. Each Sprint then enhanced the product design.
To validate the design to get an early feedback from the customer, a product prototype was implemented. The feedback received was reflected in the user stories and the design.
Since the team had better clarity on the features with the acceptance criteria, the effort estimation process improved a lot. The team was able to correctly estimate the time required to implement the user stories and stick to the time estimated. This reduced the pressure on the team and they were able to deliver what was committed for each Sprint.
Development & Testing
The features to be implemented were maintained as Sprint backlog. The user stories were divided into smaller tasks. Tasks were assigned to the developers.
Trigent ensured that the product owners be part of the team. This provided better clarity and communication to the team. It also gave better visibility to the client on the progress. POs were also involved in the incremental review and their feedback incorporated, on-the-go.
A daily stand-up team meeting was conducted to address issues, track the progress of the team. Burn down chart was used to track the project progress. The scrum master maintained the burn-down chart and it was visibly displayed in the meeting rooms. The chart was a constant reminder to the team and if they were lagging behind, the schedule helped them to better manage their work.
Also, as part of the process, the POs were involved during the development phase to test the features against the acceptance criteria. This testing helped the team to fix issues during the development stage itself. Peer-to-peer testing was followed wherein each developer tested the feature implemented by his peer. This helped the team to get an overall working of the product.
Agile/Scrum methodology serves very well in product development engineering. Working incremental product deliverables at the end of each sprint provides clarity to all the stakeholders on the progress. An emphasis on the purpose rather than documentation and process aids the team to get the product to market faster. It provides better communication between customer and development team enabling the customer to get what he wants rather than accepting what the development team delivers.
Trigent has a strong expertise of working with Scrum development models in delivering successful projects. Working in Scrum framework with Trigent helps customers to: