Welcome!

Java IoT Authors: Liz McMillan, Elizabeth White, Pat Romanski, Dana Gardner, Jnan Dash

Related Topics: Java IoT, Microservices Expo, IoT User Interface

Java IoT: Article

Agile Adoption – Crossing the Chasm

Why is it so difficult to switch to agile process from waterfall?

Everybody acknowledges that IT has to plays a key role in any new service or product design. Therefore, IT needs to align with business and be flexible to changing business needs. It is a question of how to be agile rather than should we be agile. Then, why is there such a gulf between the people who evangelize agile processes and those who look at them with great suspicion?

Any application is built to satisfy a business goal. The process has two major steps where the step one is to define the application behavior which will help in meeting the business goal and the step two is to translate the application behavior to a working application. The definition of the application behavior is the requirement specification and it is the link between business and IT.

Business - IT

In the waterfall methodology, development starts after the requirement is frozen. It is assumed that if business users can unambiguously and comprehensively specify the application behavior, IT can build the application satisfying the stated behavior. All the management practices based on waterfall methodology is build around this assumption. However, in most real life project we find that one of the following things have happen.

  • The stated behavior as understood by the business is different from the understanding of IT
  • The stated behavior is a sub-optimal solution for the given business goal
  • The business goal has changed

As a result the final application does not meet the business goal. Then it becomes a blame game between business and IT, where business claims that "this is not what I wanted" and IT claims that "I have delivered as per your signed-off requirement". Since there is a gap between desired application and what is stated in the requirement, it is concluded that the root cause of the failure is improper requirement definition. In the next project more rigorous process is applied to make the requirement definition more comprehensive and as early in the lifecycle as possible. In spite of all these rigor, one of the most frequently cited reason for project failure is improper requirement management.

In current business context, is it possible to freeze requirement?

If we go back in time, most IT applications were written to automate internal processes. The emphasis was on adopting industry best practices. Vast majority of the user were internal to the organization and they had to adopt to the application interface rather than the application interface being tailored for the user needs. Times have changed and many of the IT applications are an integral part of the product or service offering. Significant part of the users are external to the organization. The focus has shifted from following the best practices to having innovative offering. The new motto is usability and user centric design. Though there are guidelines and principle available on how to design such application, in practice it involves many iterations where many idea needs to be tried before a workable solution is arrived at. Sometimes, applications may have to be modified very late in the development cycle. In such cases, though the requirement is driven by a business goal, business users are not always sure about how the system should behave. It is necessary to try out the application before taking decision on its suitability. To this we can add the changing business goal arising out of change in the environment.

If all these points are added up, it becomes clear that requirements will change.

This has led to the realization that we need agile processes which works when requirements are constantly changing rather than spending time and energy on freezing requirement. As a result agile processes were born. The key principle behind any agile processes is to have a mechanism where the users can try out the application as it is being built and give feedback so that:

  1. Gap in understanding is reduced
  2. Sub-optimal solution can be improved
  3. Application can be realigned to any change in business goal

It is easier to adopt agile methodology in letter than in spirit. An iterative development process becomes ineffective, unless user feedback is used to change and fine tune the application behavior. This may involve introduction of new features, discarding features and reprioritization of features. It is not always easy to reorient an organization entrenched in waterfall development. Not only it is necessity to change mind-set of the people involved, it is also imperative to modify some the key management practices.

Funding: How Is the Project Sanctioned?
Normal process of budgeting involves calculating return on investment, which in turn, requires both investment and the return on it to be quantified. Even when the requirement is clearly defined, arriving at an accurate effort estimate is an error prone exercise. When requirement is expected to change during the life of the project, it becomes almost impossible to have an accurate estimate up front. This becomes a hazardous exercise and in practice the estimate gets tuned to make the ROI look good. Once sanctioned, the budget becomes frozen and it acts as a great disincentive to allow flexibility in changing requirement mid way. The way out of this situation is to have a method of incremental funding of project. Initially funds can be made available for first few iterations and this sanction can be based on a reasonable accurate estimation. The scope of the project and the fund required can get progressively fine tuned. With incremental funding, it also becomes easier to detect unviable project much earlier in the lifecycle.

Interaction: Do Stakeholders Trust Each Other?
Change in requirement involves rework and it implies discarding work already done. IT has to trust that a specific change suggested by business is needed and could not be specified earlier. Similarly, a feature may look simple from outside but may involve considerable amount of programming effort. Business has to trust the effort estimate made IT. Both IT and business has to believe that understanding is progressive and any gap in understanding is neither deliberate nor because of incompetence or carelessness of the other party. It can be achieved by having transparency from both side. IT needs to establish a method of estimation and make it transparent. Similarly, business needs to share the business plan and explain the need for any change. Any change will involve unplanned effort, more effort than what is feasible within a given time frame. Feature will have to be re-prioritized and and the revised plan should have joint ownership.

Defect: What Is a Defect?
Standard method of measuring defect is to:

  1. Define and freeze the requirement
  2. Derive test cases from the requirement
  3. Use the test cases to test the software
  4. Measure the number of test cases that has failed

Zero defect software means all the identified test cases are passed. This does not in any way indicate that the software meet the business needs. Since, test cases can only be identified for the explicitly documented requirement, we need to move beyond that and reorient how defect is defined. Therefore, regardless of presence of any explicit test case, a defect is when the application ...

  • ... crashes
  • ... behaves in an illogical manner
  • ... does not behave in the manner expected by the user

The responsibility of identifying and eliminating first and second category of defect is with developers. The third category can not be done by the developers alone and needs an active involvement of the user.

Success: How Is It Measured?
Traditionally, the goal of successful project management has been to the deliver the application on time, within budget and without defect. All project managers are brought up on the belief that the key to achieve this is to freeze requirement and minimize rework. However, when the planned application is a part of a major product or service release, the cost of failed application can be many time to cost of the application. Therefore it is necessary to shift the paradigm and measure success in terms of satisfying business needs. It can only be done by an agile methodology which interactively refines requirement by allowing the user to work with and feel the application on a regular basis. When we look at some of the most successful software company we find that it is better to deliver the right application even though it may be late, over budget or have some bugs than to deliver the wrong application within budget, on time and without defect. The likes of Microsoft, Apple and even Google has slipped on their promised delivery and the delivered software are also not free form problem. That has not stopped them from becoming the more successful than anybody else in what they choose to do.

Related Posts

More Stories By Udayan Banerjee

Udayan Banerjee is CTO at NIIT Technologies Ltd, an IT industry veteran with more than 30 years' experience. He blogs at http://setandbma.wordpress.com.
The blog focuses on emerging technologies like cloud computing, mobile computing, social media aka web 2.0 etc. It also contains stuff about agile methodology and trends in architecture. It is a world view seen through the lens of a software service provider based out of Bangalore and serving clients across the world. The focus is mostly on...

  • Keep the hype out and project a realistic picture
  • Uncover trends not very apparent
  • Draw conclusion from real life experience
  • Point out fallacy & discrepancy when I see them
  • Talk about trends which I find interesting
Google

@ThingsExpo Stories
The Quantified Economy represents the total global addressable market (TAM) for IoT that, according to a recent IDC report, will grow to an unprecedented $1.3 trillion by 2019. With this the third wave of the Internet-global proliferation of connected devices, appliances and sensors is poised to take off in 2016. In his session at @ThingsExpo, David McLauchlan, CEO and co-founder of Buddy Platform, will discuss how the ability to access and analyze the massive volume of streaming data from mil...
SYS-CON Events announced today that Alert Logic, Inc., the leading provider of Security-as-a-Service solutions for the cloud, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Alert Logic, Inc., provides Security-as-a-Service for on-premises, cloud, and hybrid infrastructures, delivering deep security insight and continuous protection for customers at a lower cost than traditional security solutions. Ful...
SYS-CON Events announced today that Interoute, owner-operator of one of Europe's largest networks and a global cloud services platform, has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. Interoute is the owner-operator of one of Europe's largest networks and a global cloud services platform which encompasses 12 data centers, 14 virtual data centers and 31 colocation centers, with connections to 195 ad...
SYS-CON Events announced today that Men & Mice, the leading global provider of DNS, DHCP and IP address management overlay solutions, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. The Men & Mice Suite overlay solution is already known for its powerful application in heterogeneous operating environments, enabling enterprises to scale without fuss. Building on a solid range of diverse platform support,...
WebSocket is effectively a persistent and fat pipe that is compatible with a standard web infrastructure; a "TCP for the Web." If you think of WebSocket in this light, there are other more hugely interesting applications of WebSocket than just simply sending data to a browser. In his session at 18th Cloud Expo, Frank Greco, Director of Technology for Kaazing Corporation, will compare other modern web connectivity methods such as HTTP/2, HTTP Streaming, Server-Sent Events and new W3C event APIs ...
Fortunately, meaningful and tangible business cases for IoT are plentiful in a broad array of industries and vertical markets. These range from simple warranty cost reduction for capital intensive assets, to minimizing downtime for vital business tools, to creating feedback loops improving product design, to improving and enhancing enterprise customer experiences. All of these business cases, which will be briefly explored in this session, hinge on cost effectively extracting relevant data from ...
There will be new vendors providing applications, middleware, and connected devices to support the thriving IoT ecosystem. This essentially means that electronic device manufacturers will also be in the software business. Many will be new to building embedded software or robust software. This creates an increased importance on software quality, particularly within the Industrial Internet of Things where business-critical applications are becoming dependent on products controlled by software. Qua...
SYS-CON Events announced today that iDevices®, the preeminent brand in the connected home industry, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. iDevices, the preeminent brand in the connected home industry, has a growing line of HomeKit-enabled products available at the largest retailers worldwide. Through the “Designed with iDevices” co-development program and its custom-built IoT Cloud Infrastruc...
Companies can harness IoT and predictive analytics to sustain business continuity; predict and manage site performance during emergencies; minimize expensive reactive maintenance; and forecast equipment and maintenance budgets and expenditures. Providing cost-effective, uninterrupted service is challenging, particularly for organizations with geographically dispersed operations.
Join us at Cloud Expo | @ThingsExpo 2016 – June 7-9 at the Javits Center in New York City and November 1-3 at the Santa Clara Convention Center in Santa Clara, CA – and deliver your unique message in a way that is striking and unforgettable by taking advantage of SYS-CON's unmatched high-impact, result-driven event / media packages.
As enterprises work to take advantage of Big Data technologies, they frequently become distracted by product-level decisions. In most new Big Data builds this approach is completely counter-productive: it presupposes tools that may not be a fit for development teams, forces IT to take on the burden of evaluating and maintaining unfamiliar technology, and represents a major up-front expense. In his session at @BigDataExpo at @ThingsExpo, Andrew Warfield, CTO and Co-Founder of Coho Data, will dis...
Silver Spring Networks, Inc. (NYSE: SSNI) extended its Internet of Things technology platform with performance enhancements to Gen5 – its fifth generation critical infrastructure networking platform. Already delivering nearly 23 million devices on five continents as one of the leading networking providers in the market, Silver Spring announced it is doubling the maximum speed of its Gen5 network to up to 2.4 Mbps, increasing computational performance by 10x, supporting simultaneous mesh communic...
Eighty percent of a data scientist’s time is spent gathering and cleaning up data, and 80% of all data is unstructured and almost never analyzed. Cognitive computing, in combination with Big Data, is changing the equation by creating data reservoirs and using natural language processing to enable analysis of unstructured data sources. This is impacting every aspect of the analytics profession from how data is mined (and by whom) to how it is delivered. This is not some futuristic vision: it's ha...
The cloud promises new levels of agility and cost-savings for Big Data, data warehousing and analytics. But it’s challenging to understand all the options – from IaaS and PaaS to newer services like HaaS (Hadoop as a Service) and BDaaS (Big Data as a Service). In her session at @BigDataExpo at @ThingsExpo, Hannah Smalltree, a director at Cazena, will provide an educational overview of emerging “as-a-service” options for Big Data in the cloud. This is critical background for IT and data profes...
One of the bewildering things about DevOps is integrating the massive toolchain including the dozens of new tools that seem to crop up every year. Part of DevOps is Continuous Delivery and having a complex toolchain can add additional integration and setup to your developer environment. In his session at @DevOpsSummit at 18th Cloud Expo, Miko Matsumura, Chief Marketing Officer of Gradle Inc., will discuss which tools to use in a developer stack, how to provision the toolchain to minimize onboa...
SYS-CON Events announced today that Commvault, a global leader in enterprise data protection and information management, has been named “Bronze Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. Commvault is a leading provider of data protection and information management...
With an estimated 50 billion devices connected to the Internet by 2020, several industries will begin to expand their capabilities for retaining end point data at the edge to better utilize the range of data types and sheer volume of M2M data generated by the Internet of Things. In his session at @ThingsExpo, Don DeLoach, CEO and President of Infobright, will discuss the infrastructures businesses will need to implement to handle this explosion of data by providing specific use cases for filte...
SYS-CON Events announced today that Pythian, a global IT services company specializing in helping companies adopt disruptive technologies to optimize revenue-generating systems, has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2015 at the Javits Center in New York, New York. Founded in 1997, Pythian is a global IT services company that helps companies compete by adopting disruptive technologies such as cloud, Big Data, advanced analytics, and DevO...
SYS-CON Events announced today that Avere Systems, a leading provider of enterprise storage for the hybrid cloud, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Avere delivers a more modern architectural approach to storage that doesn’t require the overprovisioning of storage capacity to achieve performance, overspending on expensive storage media for inactive data or the overbuilding of data centers ...
With the Apple Watch making its way onto wrists all over the world, it’s only a matter of time before it becomes a staple in the workplace. In fact, Forrester reported that 68 percent of technology and business decision-makers characterize wearables as a top priority for 2015. Recognizing their business value early on, FinancialForce.com was the first to bring ERP to wearables, helping streamline communication across front and back office functions. In his session at @ThingsExpo, Kevin Roberts...