|By Udayan Banerjee||
|January 19, 2013 02:00 PM EST||
Am I the only person who thinks that we need a clear, well understood and unambiguous determine if the development process that you are following can be classified as Agile development process?
Do you necessarily have to have a small, co-located, cross-functional team to be able to claim that your process is indeed agile? If you go by what agile thought leaders are saying then “small”, “co-located” and “cross-functional” is no longer considered a necessary condition for classifying a process as agile.
- Can agile process scale to a large team size?
- Can distributed project team claim to be using agile development?
- Can off-shored projects work on agile mode?
- Can agile development co-exist with CMMi?
Obviously, to be able to answer “yes” to these question we would need to come up with a process which different from what you would have followed for a ”small”, “co-located” and “cross-functional” team. Now, how would you determine if this modified process can indeed be classified as a agile development process?
Without suitable tests the discussion would boil down to your opinion pitted against mine.
Can agile projects fail?
Without such a test you can always argue that the project failed because the process chosen was not really an agile development process and that is why the project failed.
Without suitable tests there is no way to counter such an argument.
I prefer “A” over “B” but “B” is also important
I am not criticizing the agile manifesto. It is brilliantly piece of articulation … it conveys, without being explicit, how agile processes are different from the “heavy weight” processes prevailing in 2001.
However, it does not help us in determining when a process can be classified as agile and when it ceases to be agile.
Minimum common denominator
Is it possible to take the popular agile development processes like Scrum, XP and TDD and find out what is common the minimum common denominator and use that as a test?
There are 2 problem to this approach:
- Which methodologies would you choose?
- Would you find significant commonality?
Selecting list of mandatory practices
There is a growing list of practices which are classified as agile practice – daily stand-up meeting, continuous integration, pair programming … the list is quiet large.
Is it possible to choose from the list a set of mandatory practices – a necessary condition for a process to be considered as agile development process?
Again, there are 2 problems:
- Coming to a consensus on what is mandatory practice is a difficult task
- What happens when an new and better practice emerges as a substitute for one of the selected practice?
Four Tests to determine if you are following an Agile process
Test 1: Software is developed in iteration regularly delivering working code
I think this test is beyond any debate! Nobody … nobody would claim a process to be agile without an iterative approach. Iteration without working code is meaningless. Working code also implies continuous testing.
Similarly, iteration without feedback is again meaningless. So, regular feedback from users is mandatory.
But beyond that there are many variants to iterative approach.
- Should your iterations be of fixed interval?
- Do you need to have a process of continuous integration?
- Is it necessary to have an automated regression test suite?
- Should you focus on always having a potentially shippable product?
These are all good practices, very important in certain situations, but not necessarily applicable in all situation.
Test 2: Never say no to change because it is not there in the plan or because it involves rework
Indeed, there can be many valid reasons why you may have to say no to change.
- The impact of the change may be very significant, involving huge amount of extra work disrupting other planned features.
- The value of the change may not sufficient to justify the effort to incorporate the change.
- The change may be inconsistent with the way the rest of the software is expected to work.
There can be many other reasons for not accepting the change or deferring the change for later.
But, refusing a change because it is not there in the plan or because you have to discard parts of code which you have already done is not an acceptable reason in any process that claims to be an agile process.
Test 3: Accept that everything cannot be explicitly specified
Typical traditional process would work as follows:
- A requirement analysis would be done and a software requirement specification document would be prepared
- User will go through it and approve it
- The software would be built and tested according to what is written in the document
- User will try the software and claim that several important features are missing
- Development team will claim that they have not been specified
- User will claim that they are obvious
This approach is unacceptable in any agile process.
It is not that documentation is not important. What is unacceptable is to insisting that everything has to be explicitly documented.
It is like Japanese approach to communication. In western culture when A communicates something to B and B has not properly understood it then A is to be blamed because he did not check if the understanding is correct. In Japanese culture, the blame in on B because B did not ensure that his understanding is correct.
Test 4: You follow only those processes which you have found it to be of value under the given circumstances
If you have gone through an exercise of spring cleaning you would realize that how every object you pick somehow looks useful and you do not want to throw it.
Same thing happens when you are given a super-set of practices and asked to choose what you should follow. This is the approach followed by all heavyweight processes including RUP. Every practice in isolation would look useful.
So, any process which claims to be agile start with bare minimum practices and allows the project team to choose practices which will add real value in the given circumstances. It also has mechanism of having a regular introspection which allows discarding practices which has not proved its worth.
In Lean parlance it is called maximizing the work not done.
What do you think?
- Are these tests have any value?
- Are they relevant?
- Have I missed out any important dimension of agile?
I am eagerly waiting for you feedback.
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, wh...
May. 25, 2016 02:30 PM EDT Reads: 1,843
IoT generates lots of temporal data. But how do you unlock its value? How do you coordinate the diverse moving parts that must come together when developing your IoT product? What are the key challenges addressed by Data as a Service? How does cloud computing underlie and connect the notions of Digital and DevOps What is the impact of the API economy? What is the business imperative for Cognitive Computing? Get all these questions and hundreds more like them answered at the 18th Cloud Expo...
May. 25, 2016 02:15 PM EDT Reads: 2,100
As cloud and storage projections continue to rise, the number of organizations moving to the cloud is escalating and it is clear cloud storage is here to stay. However, is it secure? Data is the lifeblood for government entities, countries, cloud service providers and enterprises alike and losing or exposing that data can have disastrous results. There are new concepts for data storage on the horizon that will deliver secure solutions for storing and moving sensitive data around the world. ...
May. 25, 2016 02:00 PM EDT Reads: 1,120
What a difference a year makes. Organizations aren’t just talking about IoT possibilities, it is now baked into their core business strategy. With IoT, billions of devices generating data from different companies on different networks around the globe need to interact. From efficiency to better customer insights to completely new business models, IoT will turn traditional business models upside down. In the new customer-centric age, the key to success is delivering critical services and apps wit...
May. 25, 2016 01:45 PM EDT Reads: 905
The IoT is changing the way enterprises conduct business. In his session at @ThingsExpo, Eric Hoffman, Vice President at EastBanc Technologies, discuss how businesses can gain an edge over competitors by empowering consumers to take control through IoT. We'll cite examples such as a Washington, D.C.-based sports club that leveraged IoT and the cloud to develop a comprehensive booking system. He'll also highlight how IoT can revitalize and restore outdated business models, making them profitable...
May. 25, 2016 01:30 PM EDT Reads: 2,471
The essence of data analysis involves setting up data pipelines that consist of several operations that are chained together – starting from data collection, data quality checks, data integration, data analysis and data visualization (including the setting up of interaction paths in that visualization). In our opinion, the challenges stem from the technology diversity at each stage of the data pipeline as well as the lack of process around the analysis.
May. 25, 2016 12:45 PM EDT Reads: 1,160
Designing IoT applications is complex, but deploying them in a scalable fashion is even more complex. A scalable, API first IaaS cloud is a good start, but in order to understand the various components specific to deploying IoT applications, one needs to understand the architecture of these applications and figure out how to scale these components independently. In his session at @ThingsExpo, Nara Rajagopalan is CEO of Accelerite, will discuss the fundamental architecture of IoT applications, ...
May. 25, 2016 12:45 PM EDT Reads: 901
SYS-CON Events announced today that ContentMX, the marketing technology and services company with a singular mission to increase engagement and drive more conversations for enterprise, channel and SMB technology marketers, has been named “Sponsor & Exhibitor Lounge Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York City, New York. “CloudExpo is a great opportunity to start a conversation with new prospects, but what happens after the...
May. 25, 2016 11:00 AM EDT Reads: 839
SYS-CON Events announced today that MangoApps 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. MangoApps provides modern company intranets and team collaboration software, allowing workers to stay connected and productive from anywhere in the world and from any device. For more information, please visit https://www.mangoapps.com/.
May. 25, 2016 10:15 AM EDT Reads: 384
SYS-CON Events announced today that 24Notion has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. 24Notion is full-service global creative digital marketing, technology and lifestyle agency that combines strategic ideas with customized tactical execution. With a broad understand of the art of traditional marketing, new media, communications and social influence, 24Notion uniquely understands how to con...
May. 25, 2016 09:45 AM EDT Reads: 1,708
WebRTC is bringing significant change to the communications landscape that will bridge the worlds of web and telephony, making the Internet the new standard for communications. Cloud9 took the road less traveled and used WebRTC to create a downloadable enterprise-grade communications platform that is changing the communication dynamic in the financial sector. In his session at @ThingsExpo, Leo Papadopoulos, CTO of Cloud9, will discuss the importance of WebRTC and how it enables companies to fo...
May. 25, 2016 04:45 AM EDT Reads: 2,440
SYS-CON Events announced today TechTarget has been named “Media 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. TechTarget is the Web’s leading destination for serious technology buyers researching and making enterprise technology decisions. Its extensive global networ...
May. 25, 2016 04:15 AM EDT Reads: 3,049
Korean Broadcasting System (KBS) will feature the upcoming 18th Cloud Expo | @ThingsExpo in a New York news documentary about the "New IT for the Future." The documentary will cover how big companies are transmitting or adopting the new IT for the future and will be filmed on the expo floor between June 7-June 9, 2016, at the Javits Center in New York City, New York. KBS has long been a leader in the development of the broadcasting culture of Korea. As the key public service broadcaster of Korea...
May. 25, 2016 04:00 AM EDT Reads: 1,717
In his session at 18th Cloud Expo, Bruce Swann, Senior Product Marketing Manager at Adobe, will discuss how the Adobe Marketing Cloud can help marketers embrace opportunities for personalized, relevant and real-time customer engagement across offline (direct mail, point of sale, call center) and digital (email, website, SMS, mobile apps, social networks, connected objects). Bruce Swann has more than 15 years of experience working with digital marketing disciplines like web analytics, social med...
May. 25, 2016 02:00 AM EDT Reads: 1,165
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York and Silicon Valley. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 17th Cloud Expo and will feature technical sessions from a rock star conference faculty ...
May. 24, 2016 06:00 PM EDT Reads: 4,682
The 19th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit y...
May. 24, 2016 05:00 PM EDT Reads: 1,871
There are several IoTs: the Industrial Internet, Consumer Wearables, Wearables and Healthcare, Supply Chains, and the movement toward Smart Grids, Cities, Regions, and Nations. There are competing communications standards every step of the way, a bewildering array of sensors and devices, and an entire world of competing data analytics platforms. To some this appears to be chaos. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will discuss the vast to...
May. 24, 2016 04:00 PM EDT Reads: 2,373
Internet of @ThingsExpo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with the 19th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world and ThingsExpo New York Call for Papers is now open.
May. 24, 2016 04:00 PM EDT Reads: 1,700
SYS-CON Events announced today that Enzu, a leading provider of cloud hosting 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. Enzu’s mission is to be the leading provider of enterprise cloud solutions worldwide. Enzu enables online businesses to use its IT infrastructure to their competitive advantage. By offering a suite of proven hosting and management services, Enzu wants companies to foc...
May. 24, 2016 02:15 PM EDT Reads: 2,101
SYS-CON Events announced today the How to Create Angular 2 Clients for the Cloud Workshop, being held June 7, 2016, in conjunction with 18th Cloud Expo | @ThingsExpo, at the Javits Center in New York, NY. Angular 2 is a complete re-write of the popular framework AngularJS. Programming in Angular 2 is greatly simplified. Now it’s a component-based well-performing framework. The immersive one-day workshop led by Yakov Fain, a Java Champion and a co-founder of the IT consultancy Farata Systems and...
May. 24, 2016 02:00 PM EDT Reads: 3,880