Time to re-organize the Software Delivery Model
The perceived value for money spends of technology diminishes in matter of days. Buyers don’t want to stay longer with the old features and products. They are willing to pay more for the new features rather continuing with the same old experience. The impatient millennial generation is not uncomfortable with frequent changes unlike earlier generation who prefer stability. This behavior is reflected in every kind of business whether manufacturing or services. In today’s world, technology is the heart of most of the business eco systems. The technology is driving the business change management and helping to pass new value to the buyer at a rapid pace. In housing sector, more companies in India are going for pre-fab technology to construct the house faster. The manufacturing sectors are constantly working towards improving supply chain, just-in-time production and continuous improvement. As part of the newest supply chain innovation from Amazon, it plans to send the products to consumer even before they order them. In financial service sector, the technology such as block chain will reduce the transaction cost and time significantly. The era of open source has helped in reducing the license cost and providing greater degree of flexibility. The user demands the new feature available to them faster and cheaper.
Impact on the cost and schedule
In this situation, delivering a software project within cost and schedule, while expecting it to deliver the estimated value, is a big challenge. According to McKinsey study, on an average large IT project runs 45 percent over budget while delivering 56 percent less value that what predicted. With frequent changes in user behavior, the business opportunities cannot be considered as stable and so the requirements that get derived from the opportunities changes frequently. While the project execution team is constantly demanding the stability in requirements, it has become difficult to bring a balance between the requirements and the delivered value. There is a lot of innovations happening to bring an ideal software delivery model that can handle the frequent changes in the requirements.
Missing Development Methodologies to enable integration faster
The traditional development methodologies are based on matured processes which work well if there is a good balance between uncertain stakeholders, frequent changing technologies and faster development adaptation. The social engineering technology has helped in improving the collaboration between development community and the user community. Dev Ops and other various frameworks are readily available to build the new features faster. As per McKinsey, the software development is happening at a 17 percent of the original time because of automation and other straight through release workflows technologies. Cloud and other virtualization techniques have enabled the infrastructure provisioning in matter of seconds and at a much cheaper price. Reusability has helped in readily availability of rich features and functionalities that could be integrated directly into the old system.
Revisiting the software life cycle
Most the critical stages in the software development life cycle are required to be reorganized.
• Stakeholder transparency: There is a greater need to improve the collaboration between the stakeholders. Most of the projects are having a horizontal workflow practices that has created multiple barriers between the stakeholders. New practices need to be developed to break down these barriers and to increase the overlapping responsibilities between all the stakeholders. This will help making all the decisions transparent to all the stakeholders.
• Build vs. Buy: Speed of delivery is critical to time to market. A new supply chain practice needs to be brought up that can help the developers to take faster decision on buying the feature against building it. This will also help in building a self-service culture in developer communities.
• Smart Architecture Framework: Intelligent self-service architecture framework needs to be generated to integrate the feature with existing channel used by the user. Analytics should help in leveraging the real world learning to build a natural change cycle.
• People Culture: Developer communities need to be in constant touch with the user communities and other suppliers. Redefining the organization structure will help breaking the silos that is stopping the communication between the stakeholders.
• Management Practices: With the software life cycles are becoming more context-based and more automation based processes are in place, traditional slow practices are becoming irrelevant. Management involvement needs to be aligned towards tracking the maturity level of various the components of the lifecycle rather focusing on the execution of the processes.
The leadership in software development organizations has already started focusing on innovating the critical processes to increase the time to market and improve buyer’s experience. This will help in getting adapted to the changing behavior of digital consumers.