By effectively leveraging telecommunications technologies, smart cities can connect various “things” (e.g., sensors, devices, analytics tools) and thereby enhance the quality and performance of urban services. In this white paper, Rohit Kumar Sethi (Sr. Solution Architect, GlobalLogic Inc.) explains the mechanics behind smart cities and how they leverage telecom technologies to connect all these various things.
Archives
To read the original version of this blog, which was published on IoT Design, click here.
It can get frustrating to look at a technology that’s so ripe to change the world and not see anything major appear to happen. Many of us are in this situation with IoT. We know, without a doubt, that integrated networks of sensors coupled with actuators, data federation, big-data analytics, and fast autonomous decision-making will change the world. So why hasn’t it already happened when all the pieces are present and ready to go?
This isn’t an uncommon situation in technology. Like a supersaturated fluid, IoT is just waiting for a nucleation site to crystallize around. We saw the same phenomena with “Web 2.0” about a decade ago. Though the technology to support it was arguably in place a decade earlier, Web 2.0 was all talk and hype for what seemed like a very long time, from the late 1990s to the mid-2000s. Then all of a sudden we got Twitter, YouTube, Facebook, and other forms of user-generated content in quick succession.
I expect the same thing will happen in IoT. Today, there are indeed some daunting technical problems to overcome: the proliferation of incompatible front-end device connection protocols, the provisioning and management of billions of intelligent endpoints, low-cost/low-volume data transmission options, and business models – always the key consideration.
But all these technical and business problems are solvable; indeed, companies exist with solutions to them today. The big gap in IoT right now is the killer app. In the Web 2.0 era, Facebook and other social media became so engrossing that people routinely walked into lampposts or had traffic accidents because they couldn’t tear their eyes away from their mobile screens. In today’s IoT world, intelligent light switches, color-shifting light bulbs, and connected home appliances, sexy as they might be to technologists like us, aren’t in the same league. It’s the applications, not the technology, that’s missing.
Progress in technology, like any evolutionary process, tends to occur as a punctuated equilibrium rather than in a steady progression. That is, things tend to stay the same way for a seemingly long time, and then suddenly shift to a new paradigm. I think we’ll see the same with IoT. The development of a compelling application – the “Facebook analog” for the Internet of Things – will be what drives the rapid adoption of this new technology. In the meantime, we can all continue to perfect the technology, and ready ourselves to hop on the bandwagon as it approaches. Unless you happen to be the one with the killer app idea.
With over 30 years of software development experience, Jim Walsh brings diverse technology management capabilities to GlobalLogic. As Chief Technology Officer, Jim is responsible for leading GlobalLogic’s horizontal technology practices, technical advisory services, and solution accelerator initiatives. Jim earned his B.A. in Physics and Math from Harvard College and an M.A. and Ph.D. in Physics from Duke University. He is also a frequent speaker and blogger on technical subjects and distributed software development best practices.
In automation testing, even though testers create the actual automation tests, developers help in laying the foundation to create those test cases.
Sometimes this demarcation doesn’t work in a smooth way. While developing the automation tests, a tester may discover that some basic but essential pieces are missing, which eventually hampers the testers in developing those tests. For instance, a tester may need to access the servers and update user data files so that the test starts with a clean slate. If testers work on these technicalities, they end up reinventing the wheel, which may consume a lot of time.
To help avoid this situation, one of my teams recently came up with a norm that helped the testers a lot. The developers wrote the first functional test of the user-story themselves, which laid the foundation and provided all the required resources to build further tests. While creating those tests, the developers identified many issues that otherwise would have blocked the testers. Since developers are the ones who have to eventually fix these issues anyway, it made much more sense that they themselves discover those issues.
Based on this basic foundation, testers would then further elaborate the test cases and create more automation tests. The norm worked pretty well for the team and also helped developers understand the issues that testers face on a daily basis.
Analysis
Ideally, any hand-off (e.g., between developers and testers) is a known Lean waste. Frameworks like Scrum address it by relying on generalising specialists (“T-shaped” people). Test automation is a skill that modern developers should have in an iterative, incremental world – where most software development nowadays happens. In many teams, specialist testers transfer testing skills to end-to-end developers.
In practice though, I rarely find a cross-functional team that consists of generalists instead of pure specialists. There are various reasons why it doesn’t happen. Some teams do not practice pair-programming as their default way of working; there may be resistance from developers and testers to become generalists; or team members may be mature in their respective fields. In those cases and for those teams, this pattern works well. Furthermore, a team of generalists or a team that does cross-functional pair-programming may not require to use this pattern at all.
Sir Peter Bonfield is a true veteran of the high-tech industry. He has over 45 years of experience in the fields of electronics, computers, and communications. Currently he serves as Chairman of the Board for NXP Semiconductors N.V., Director of L.M. Ericsson, Director of Mentor Graphics Corporation Inc., Director of Sony Corporation, and Board member for GlobalLogic and several other tech companies.
During a recent meeting of GlobalLogic’s Board of Directors, Sir Peter Bonfield had a chance to visit Kyiv, Ukraine. He was accompanied by Igor Byeda, Managing Director of GlobalLogic Ukraine, to a meeting with KyivPost, Ukraine’s leading English-language newspaper. During this interview, Sir Bonfield expressed his views on Ukraine’s R&D potential and the country’s role in an international tech landscape. Below is a transcript of that interview.
Sir Peter Bonfield (GlobalLogic Board Chairman) and Igor Byeda (GlobalLogic Ukraine Head)
Ukraine is already well-known for its outsourcing tech companies, but what can help our outsourcing companies become even more developed?
Sir Peter Bonfield: I think everything starts with the education system. The main reason that Ukraine is good at IT is because you are historically skilled in science and technologies, engineering and math. And I believe that fundamentally the difference is still there. With all the reforms your government is doing, it should concentrate on that. Because this is the core differentiator of Ukraine versus others.
What is the competition landscape of the IT industry in Ukraine?
Igor Byeda: First of all, we need to determine the nature of competition in the Ukrainian market. We rarely identify this competition as business competition, as mostly this is a competition for talents. Such companies as GlobalLogic, Luxoft, or EPAM are competing for the same talent pool in Ukraine.
Sir Peter Bonfield: Consequently, this competition is beneficial. The more players who are competing for a talent pool in a particular country, the more people who are willing to work in a certain industry. Silicon Valley is a good example. It is a place with advanced infrastructure, very smart people, and a strong presence of key players. And there is a possibility to move from one company to another, and this actually generates growth.
In fact, the industry needs just a few things from the government. First, it needs an increase of the talent pool through educational systems. Second, it needs a favourable environment for investing in such opportunities. Consequently, the industry’s growth will create more clusters, and more clusters will lead to the long-term strengthening of differentiative advantages. And this is the way Ukraine can be very successful.
Igor Byeda: I’d also like to add that the industry in general is quite young. This means that many companies are just about to come to this market. As for now, the educational basis allows us to do more engineering work, but the conditions are not sufficient to launch more product companies and work in full-cycle product development. I think this is the next stage, and a lot of companies will come to this market simultaneously once the market is ready.
Among the other things we definitely need (and some changes are on their way), there is transparency in doing business in Ukraine, as well as clear and fair rules of the game for all businesses that enter this economy. A more attractive investment climate will definitely help the IT industry — which is one of the most rapidly growing industries in Ukraine — to grow further.
What do you think IT companies in Ukraine should do to influence the government’s decisions?
Sir Peter Bonfield: In most other areas, there are associations to represent industries towards the government. In the US, these associations are very very powerful because of Facebook, Oracle, Texas Instruments, and many others — and this can influence government policy. And you have to do the same in Ukraine. The government needs to understand the long-term benefits of the IT industry for the country and to support it.
Basically, every country is going through the same process. For example, the UK is experiencing the same thing right now. We were making a lot of motorcars, and we have to get into a new era of software development. How can we do that?
By the way, the EU Commission started to understand how to make it in terms of regulations, education, and competitive environment. And Ukraine has to do this as well, but there are additional problems because of the geopolitical risks you are facing, which are misunderstood abroad.
What do you think can attract more people to the industry?
Sir Peter Bonfield: The government can do more to attract people into engineering, math, science, and technology starting with schools and, especially, universities. It is important to show that jobs in this industry are interesting and well-paid, the conditions are excellent, and there are a lot of possibilities — not just one or two companies involved. There should be companies of different scales to join or an opportunity to start your own company.
Moreover, Ukrainian IT professionals are not tied to their homeland. Such truly international companies as GlobalLogic have global operations in a number of countries. This allows us to transfer people between locations, for example, to India, Argentina, Poland, Israel, the UK, or the US. So, for a young and inspired person, all of this should be very exciting, I think.
Igor Byeda: We definitely provide good conditions for both young and mature professionals. And we are going to advertise these opportunities more. Besides, we can offer the really innovative R&D work we are doing in different industries for various clients. And this is the biggest advantage for any engineer, I believe. Public interest in IT is growing. IT is in the air. And I think this trend will develop.
From this perspective, what is the potential of Ukrainian product companies?
Sir Peter Bonfield: What is going to happen is that small companies will be able to grow under the umbrella of bigger companies, like GlobalLogic or other international enterprises. It creates a lot of activity and momentum in the industry. I think you need a BPO, you need software development outsourcing, you need a true R&D and prototype development business like GlobalLogic. All this enables small business development, which strengthens all the markets.
So, you need to develop a certain entrepreneurial atmosphere within the country. A young engineer should believe that a modest start is not bad, that one does not have to work only for big international companies. If entry-level engineers have all these opportunities, more people will be eager to study, get employed, and intensify industry growth.
What about hardware products? Does Ukraine need to make more hardware to become more interesting for investors?
Sir Peter Bonfield: As Ukraine has very a good reputation in software development, I wouldn’t suggest developing the same reputation in other fields, but rather recommend focusing on software development. Ukraine should be differentiated as a destination for software development.
If you say that Ukraine makes better hardware than China, nobody will believe you anyway, and this will diffuse your image. So I’d be very careful about it, making sure that the image is relatively focused and it aligns with a skill set of the country that is very clear and very believable.
Igor Byeda: I’d put it in a slightly different way. Hardware is a massive manufacturing process. It should not necessarily be produced in Ukraine, as China is a world-known destination for hardware manufacturing. But when it comes to product R&D and the architecture of complex hardware and software solutions, I find Ukraine to be a very good destination for many reasons.
First of all, we have a very good basis of doing software on an embedded level, which is basically the lowest level of software implementation, like a firmware for hardware devices. That embedded software is absolutely critical for any hardware product, as it enables all its functions and features. And GlobalLogic as a company has a huge division for embedded software development. A lot of embedded software development happens in GlobalLogic Ukraine, particularly. So we are very close to the field you are talking about.
You probably do not know, but a lot of products that are sold under various brands in different parts of the world do have pieces of code that has been developed in Ukraine. Unfortunately, being an R&D partner/vendor, we are not allowed to put our brand on these devices, but still we are a part of this success.
Many leading R&D companies have their offices in Ukraine, but none of them are doing R&D here. What should be done to change this situation?
Sir Peter Bonfield: You have got the necessary skills to perform significant product development here. So, there is another issue, and it is more about the overall climate and the risk factor. If you just outsource some business processes, you can do it everywhere. But once you get into fundamental R&D and it gets really important (which is actually GlobalLogic’s key differentiator), you need to deal with risk factors.
So, the government needs to explain to the rest of the business world that Ukraine is open for business by means of quick reforms and changes that you are going to implement. Personally, I think you can move very quickly due to the key skills people have here.
Igor Byeda: In fact, many of the leading companies are doing R&D in Ukraine. But they are doing it with their outsourcing partners. And the main reason for such practice is the general climate. From business, economical, and geopolitical points of view, this country should become a more stable destination. Once it happens and the future becomes more visible and forecastable, I think these companies will appear on this market.
How do political situations and the war influence the industry’s growth in Ukraine?
Sir Peter Bonfield: This is the biggest issue we face at the moment. Yet, I think it is a relatively short-term issue. I think the government and the press should demonstrate to the rest of the world that Ukraine is open for business, and there is no big war zone, and there is just a little risk. Because at the moment, most the world has the wrong impression about what is happening in Ukraine. From a general perspective, the fear factor is still present. So I think that the government should do more with publicity and proper reforms just to try to get people inside and let them see that the situation is actually more stable than they think.
The advantage of the IT industry compared to other industries is that it is relatively less capital-intensive. The risk is significantly lower. Let’s say you are going to install a big car manufacturing plant. There will be big capital investments and big risks. You can start a large software development company with relatively low capital investments and low risk. The risk is low when you have got skilled people, and in Ukraine the risk is relatively low because you indeed have got skilled people. From the software development and R&D points of view, the risk here is much lower than most people think.
Igor Byeda: We have operated in this market for a long time. Starting from the protests in Kyiv and the war conflict in the East of Ukraine, we have seen some decline in the development of the industry. Geopolitical risks were one of the major concerns of both existing and prospective clients. But now we see some positive changes.
A meeting of GlobalLogic’s Board in Kyiv and a visit from an executive team from our headquarters are just two of many positive signs, along with frequent visits by our clients. Such visits are very important; they do matter, as they “broadcast” a real picture from the ground, not something you may just see on BBC or CNN.
Sir Peter Bonfield: We are very pleased to have our Board meeting here, because Ukraine is a very big part of our operations. And we want to show that having a Board meeting here for us is absolutely normal. It is just the way we have meetings in San Jose, New Delhi, or London, so why not Kyiv? Our business runs as usual, geopolitical problems are about to be resolved, the stability is here at the moment. And we should communicate all these messages.
What will be the main benefit of IT growth for Ukraine as a country?
Igor Byeda: First of all, this means the growth of GDP that is critically important right now. This is purely an export of services, and this is a winning solution for the country, if this industry continues to grow. In addition to a well-paid job market, we create a secondary market around this initial market, as most of its income is being spent in Ukraine.
Ukraine is a well-known grain export player in the world. But it didn’t happen in a moment. It happened due to great government support during the last 10 years. And the IT industry can be even more beneficial for the Ukrainian economy, especially if Ukraine becomes a truly global leader in this field.
Sir Peter Bonfield: To sum up, this is the industry of the future. We are going to be a knowledge-based society, as the next phase of the industrial revolution is going to be completely different. To be successful in the next 15 years, you have to be successful in the IT industry. That is all the differentiation there is.
My grandfather was a coal miner. He started to work in a coalmine when he was 12. The only thing he insisted on was education for his children to get them out of a mine. My mother was a nurse, and my father was a technician. He said that I had to become an engineer. And he was right.
In my previous blog, I introduced the topics of Fast Fashion and Fast Software and explored both the benefits and drawbacks for each industry. Now that this approach is gaining more traction, how will it affect our society as a whole?
In Fast Fashion, concerns about consumerism fall into three camps—those concerned that we are producing too much stuff that needs to go somewhere today and long-term; the psychological, addictive effects of getting a cheap and regular fashion fixes; and finally, the erosion of quality. As the father of two daughters, I concede to the first concern: the clutter produced by the accumulation of plentiful, cheap clothing can indeed become an issue. A glance at my childrens’ rooms when they were young would be all the evidence required to validate this point. The concerns about quality and “addiction” are related to each other and also have merit.
However, most observers would have to admit that Fast Fashion can make chic, attractive and often well-designed clothes affordable to a greater and greater number of people. For many of these buyers, high quality of materials and construction is not a primary concern. Having the right piece for the right look at the right time, at a price that lets them continue to stay trendy and current, is what matters to a sizeable number of customers. These buyers believe clothing should be available, good-looking and fun—not a serious long-term investment. Fast Fashion therefore fulfils the desire of many to look stylish and trendy at a price they can afford while, at the same time, also bringing great success to its manufacturers. From this standpoint, Fast Fashion is a win-win.
Fast Software offers its equivalent of clothing clutter: the proliferation of mobile applications. At this writing, there are over 1.5 million distinct applications available for download in Apple’s AppStore[1], with over 1,300 new applications—not updates—being added per day. Android has even more, with about 1.6 million applications available on Google Play. While the typical smartphone user has dozens of applications—about 50—installed on their phone, some people install hundreds. The results are analogous to the clothes in my daughters’ bedroom. And not only are the applications themselves proliferating, so are the devices. One astonishing fact is that in a given period of time more new smart phone accounts are activated worldwide than babies are born—by a significant margin.
Smart phones can be as addictive to some as fashion is to its audience. The average person in the UK spends more time using a digital device than they do sleeping[2]. The average U.S. consumer spends 4.7 hours per day on their smart device[3]; 85% of it using apps[4]. That’s more time than they spend face-to-face with either their spouse or their children. The concerns regarding software and hardware consumerist culture are similar to those for the fashion industry. Will the constant production of smartphones and/or shirts and skirts negatively affect our environment when we toss them for the next big thing? How will the addiction to downloading the shiny new app or buying a trendy new shirt negatively affecting our society in the long run? Overall, what is our constant need to buy new things doing to ourselves and the planet? I can offer no answer for those questions, but whether it’s software or fashion, the parallels are striking.
The process of creation—design in particular—is a key driver for change in both the fashion and software industries. Since the invention of the sewing machine, the time it takes to sew an individual garment has not been the most serious bottleneck in getting a product to market. The bottleneck came in the form of designing the outfit, selecting and delivering the materials, and in other logistical factors such as distribution and delivery time. For apparel, change has come in the form of what we call a “flow” process. There is now a continuous supply of materials and new designs, and a continuous flow of outgoing goods.
The same is true in software. With the availability of open-source software, reusable components, design patterns, high-productivity languages and operating systems, and Cloud-based infrastructures, the time it takes to engineer and deploy a great product is shrinking. By using the time saved to design and deliver “lean” and evolving products to the end user—and, most importantly, to listen to and learn from their feedback—greater and greater innovation continues to occur at a faster and faster rate.
The availability of cheap, disposable and commoditized clothing has triggered something of a backlash in the form of internet-based “made to measure” clothing appealing to consumers who want something unique or with perceived higher quality. For a few hundred dollars, about ten times the cost of fast fashion, consumers can go on-line and order clothing made to their individual specifications, from blue jeans to tuxedos. While considerably more expensive than fast fashion, the product offered by these custom on-line services is still about ten times cheaper than handmade custom clothing from a traditional tailor. And what is the basis for such cost savings relative to traditional methods? In large part it is techniques and automation derived from the Fast Fashion industry, together with production in low-cost geographies.
Similarly, the development of custom software, even complex systems, today leverages many of the tools, processes and utilities used to develop applications under the Fast Software paradigm. Processes such as Lean and Agile, as well as high-productivity software toolsets, are key components in the development even of complex, high-quality systems such as medical devices. Coupled with low cost locations, these are driving down the cost of custom software development, as well as the overall costs to the customer. While the software requirements specification process is not as automated as that of an on-line custom tailor quite yet, extreme personalization of software via intelligent agents is not as far in the realm of science fiction as it once was.
Although there are legitimate concerns regarding addiction, environmental, and societal affects, the benefits of implementing lean manufacturing techniques in Software and Fashion include more choice, reduced cost and the opportunity to express our individual personalities through the clothes and technology we choose. Used wisely, both Fast Fashion and Fast Software support us in tailoring our virtual and physical environment to the way we want to work and live, at a price we can afford to pay. And that, on balance, is a good thing.
Dr. Jim Walsh is CTO at GlobalLogic, where he leads the company’s innovation efforts. With a Ph.D. in Physics and over 30 years of experience in the IT sector, Dr. Walsh is a recognized expert in cutting-edge technologies such as cloud and IoT.
[1] http://www.statista.com/statistics/276623/number-of-apps-available-in-leading-app-stores/; though http://www.pocketgamer.biz/metrics/app-store/app-count/ has the count at 1.9M
[2] http://www.dailymail.co.uk/health/article-2989952/How-technology-taking-lives-spend-time-phones-laptops-SLEEPING.html
It’s a very common problem: you develop an application that works perfectly on your laptop but not in other environments. You use the stack you like and the language you like, with the version of the libraries and tools you like. But when you push the app into a new environment, it doesn’t work because it’s not the same environment.
For instance, maybe you used a new version of a library. The Ops guy tells you that you can’t use this library because all the other applications that are running on the server will break. So, there’s a lot of back and forth between the Ops and the developers.
Docker supports a level of portability that allows a developer to write an application in any language. He / she can then easily move it from a laptop to a test or production server — regardless of the underlying Linux distribution. It’s this portability that has attracted the the interest of developers and systems administrators alike.
When you develop with Docker, you package everything inside a container, or inside several containers that can talk to each other. You just push this container to another environment. The Ops guy doesn’t have to care about what’s inside the container or how it got developed. This helps speed up the development cycle and allows you to move containers around easily.
The History of Containers
Although Docker helped draw the attention of the developer community to containers, this new containerized approach is not new. The idea of containers has been around since the early days of Unix with the chroot command. For instance, FreeBSD-based jail serves similar concerns as Docker does.
Since the applications rely on a common OS kernel while using chroot, this approach can work only for applications that share the exact OS version. Docker found a way to address this limitation through an integrated user interface. It provides a greater level of simplicity. With Docker, you don’t have to be a Linux kernel expert to use Linux container-based technology.
Containers vs. Hypervisor-Based Virtualization
Both hypervisor-based virtualization and containers enable isolation. Hypervisor-based virtualization abstracts the underlying physical hardware of a server through a software layer (i.e., the hypervisor). This configuration allows you to create virtual machines on which an operating system and then applications can be installed.
Unlike hypervisor-based virtual machines, containers do not aim to emulate physical servers. Instead, all containerized applications share a common operating system kernel on a host. This eliminates the resources needed to run a separate operating system for each application. An application can be deployed in a matter of seconds and uses fewer resources compared to hypervisor-based virtualization. The container size is also leaner compared to VM. So, where a VM would be measured in gigabytes and boot in one or two minutes, the container will be megabytes and will boot in milliseconds.
Docker Limitations
Although Docker is a simpler technology to use, it has following limitations:
-
There is the risk of workload disruption if the hardware fails (this risk is also inherent in hypervisor-based virtualization).
-
A single kernel exploit could affect all containers on a host.
-
As of now, orchestration tools and advanced management features are missing for containers (they are available on VMs).
This last limitation means that orchestration must be handled in the software application. In other words, Docker is an intrusive technology. As a result, for existing applications, introducing Docker requires a lot of changes in the application architecture. However, if you apply Docker in a greenfield project, it’s still workable as you design your architecture considering Docker.
Since orchestration needs to be handled programmatically as of now, you need to use a non-standard Docker interface-based approach. In the future, if you want to move from Docker to any other container-based approach, it will not be straightforward and will require code changes.
Conclusion
Docker is a revolutionary technology that simplifies isolation and provides environment independency. However, in its current shape, you should only use it in development and testing environments. I would not recommend using Docker in production applications yet, as it requires a bit more maturity.
Software and fashion may seem like two unrelated industries, but they share a common trait – the desire to get products to consumers faster. For fashion, it may be the latest dress, suit or even accessory. With software, it could be the latest iPad application or “dot-0” update of the iOS mobile operating system.
For clothing this has created the phenomenon known as “Fast Fashion”; in technology, we might call similarly rapid products “Fast Software.” Both strive to make new products available to consumers as frequently, conveniently and inexpensively as possible. Yet they also raise similar concerns on whether we are addicted to a consumerist culture where only the latest is perceived as the best. For either fashion or tech, the primary question is whether the product meets your needs and aligns with your values.
Good examples of “Fast Fashion” are retail chains such as Zara and H&M, which are becoming ubiquitous globally. An important reason for their success is the speed at which they move from design to finished product. They have developed the capability to move from a new clothing design concept to small batches of manufactured items stocked on their shelves globally within a 2-4 week timeframe. This is 2-10 times faster than traditional “non-Fast Fashion” retailers. Speed translates directly to the bottom line, with Fast Fashion profit margins averaging 16% compared with 7% for the average “specialty-apparel retailer,” according to a study published by Bain & Co.
In software, ten years ago the time between application software releases was commonly 6 to 18 months; compare this to today’s fairly typical 6-week or less mobile app upgrade cycle. Granted, the complexity of an enterprise and a mobile application is very different. However even for the most complex products—operating systems—the interval has shrunk from over two years between major Windows Desktop releases to just over a year for iOS and about 7 months for Android. Any way you look at it, software ships about 2 to 10 times faster than it did ten years ago—very similar to the trend we have seen in fast fashion.
This speed increase has, not incidentally, led to a major reduction in cost to the consumer. A Fast Fashion item may cost one third or less of what a similar item would cost at a specialty retailer—though sometimes at a sacrifice in quality of materials and construction. In the Fast Software world, app prices have similarly plummeted, with $1.21 being the average mobile app price on Apple’s AppStore, and even less for Android. Of course, most mobile apps have far lower complexity than packaged software of, say, ten years ago. However, even games average about $0.61 on the AppStore, and one would be hard pressed to argue these have grown less sophisticated over time. Productivity apps such as the Microsoft Office suite retailed for several hundred dollars when originally released; today comparable offerings from Microsoft and Apple are in the sub-$100 range. Overall, “Fast” seems to drive consumer prices down by a factor of three or more.
In the “Fast Fashion” paradigm, rapid design, production and fulfillment capabilities allow retailers to capitalize on current and possibly fickle fashion trends in nearly real-time. This lets them bring products to market just when demonstrated interest is at its peak. The just-in-time approach reduces a manufacturer’s risk, as well as increasing profits and revenues because retailers have available precisely what the customer is most likely to buy, just when they are most likely to buy it.
Fast Fashion has two major advantages for the supplier. Fashion designers continuously produce new clothes to buy and therefore drive consumers into the outlets to purchase those clothes. This improves loyalty and induces consumers to visit the store more often. On average, a specialty retailer in Central London can expect a customer to visit 4 times a year. Fast Fashion retailer Zara sees their customers visit 17 times per year[1]. Why? There is always something new to buy, and new to see.
By removing many of the delays from the execution chain, Fast Fashion means the cost of production is also slashed. Bottlenecks are expensive, leading to excess inventory, carrying cost, extra personnel, extra space requirements and a cascade of other expenses. For Fashion at least, faster is more efficient and also cheaper.
For Fast Software, the benefits of a rapid turnaround time lie both in production cost and in the ability to ship a “leaner” product sooner. Because the primary cost in developing most software is people, production costs tend to be basically linear in time—the longer it takes, the more it costs. Shipping faster means less production cost, and less investment prior to initial product sales.
In both Fast Fashion and Fast Software, user reaction is key to driving the behavior of the producer. In the case of Fast Fashion, production of a popular item and its variants—say, a particular model of blouse—may increase, while production of an unpopular item will go down. In Fast Software, similarly, the enhancement of features which users like will continue and may even change the focus of the product in what’s called a “pivot.” Unpopular and less-used application features may be dropped, saving development and maintenance costs and permitting effort to be focused in areas the users are more excited about. In both cases, a “lean” approach with quick release and feedback cycles creates an ongoing dialog with the end user, either through increased sales, or through a better understanding of the way the product is used.
By taking a “fast” approach to fashion and software, designers of both industries can reduce risks, increase profits, and gather better user feedback from their customers. In my next blog, I’ll talk about the consumerism behind Fast Fashion and Fast Software and the benefits and drawbacks this entails.
Healthcare Innovation News recently reached out to healthcare providers and healthcare solution providers to ask what are today’s biggest challenges for deploying innovation in healthcare organizations. GlobalLogic’s SVP/GM of Medical Technology & Healthcare business intelligence solutions , Chet Kolley, provided this insightful answer:
From complex regulatory constraints and outdated technical models and mindsets to interoperability issues and rapidly changing business models, healthcare is foundationally challenged to handle transformative innovations.
The U.S. healthcare industry is multifaceted with competing, sometimes misaligned interests and forces: consumers, payers, providers, suppliers, technology, policy and government. For consumers, the complexity of choices along with changing regulatory environments is often confusing to the point of paralysis. Further complicating the issue is that well-worn channels by which industry players and technology providers reach consumers simply do not exist. On the technology side, the issues of policy, regulation and funding are equally daunting for payers, providers and suppliers. Additionally, business models are under constant pressure as healthcare evolves from fee-for-service to outcome-based economic models.
These interests and forces conspire to make innovation more difficult to achieve in practice than it should be. One of the biggest problems is the varied nature of interests with nobody effectively playing the referee. This environment introduces risk in the form of delay, legal or policy hurdles and uncertain funding. However, it’s clear these interests could benefit from innovation—not just in technology—but also with respect to how healthcare is consumed and funded.
It’s in the industry’s interest to foster innovation, but seemingly each innovator is left to find a uniquely successful path. Innovation needs to be addressed at the organizational level from a priority, process and accountability standpoint. Why not create a path for adoption of innovation across multiple dimensions: consumption, technical and business?
Repeated software-development tasks are becoming automated through the application of Continuous Delivery and DevOps. If developers are taking more and more testing responsibilities into their hands, I wonder what will be the role of traditional testing and testers moving forward?
This question has been troubling me since I looked at the testing pyramid, a concept coined by Mike Kohn in his book Succeeding with Agile. Its essential point is that you should have 70-80% unit tests, followed by 10% integration tests, 5% system-level tests, and 5% GUI-level tests.
Although the percentages of preciseness may differ, the point is that you should have many more low-level unit tests than high-level end-to-end tests running through a GUI.
Testing is all about risk mitigation. Instead of mitigating risks using manual testing or GUI-based testing, the test pyramid looks at risk mitigation from a holistic point-of-view. Testing in itself is not the last line of defence; developers also have to play an important role by laying out a strong, quality foundation in the form of unit, integration, and workflow tests.
Having said that, risk mitigation remains the primary responsibility of the tester role. If a tester doesn’t know how to read unit / integration tests and understand how they can be used in mitigating part of the risk, then he / she will never be confident in releasing code to production based on developer-oriented automated testing, plus automated functional testing. Only if a tester has programming skills, can he / she can make sense of automated and integration tests.
Wherever I hear success stories about the testing pyramid, they all have one key success factor in common: either developers do all the testing themselves, or testers learn programming in order to test. In my opinion, a tester who has following characteristics will soon be irrelevant:
- Accepts a regression suite run taking longer than 15 hours
- Does not collaborate with rest of the team members
- Has to be the “quality gate” (i.e., cannot explain risk and mitigation)
- Believes that automating all tests is a worthwhile endeavour
- Does not work towards improving quality by engaging with others
As part of the evolution of engineering roles, both developer and tester roles will soon have coding as a prerequisite. The only difference between the two roles will be that test engineers will put testing first, and vice versa. Testers will spend a good deal of their time writing code in the form of automation scripts and code that drives usage scenarios. (Just to clarify, manual testing in the forms of exploratory and UI testing will still be alive; it’s just that testers will also value programming as an important skill.)
Conclusion
Gone are the days when manual testing was enough, and the testing cycle used to take months. Now almost the entire regression is automated. Out of that, only 5-10% is covered through end-to-end test cases. The boundaries between developers and tester are getting blurred day by day.
Testers need to also be good programmers moving forward. Just being familiar with programming will not be sufficient. Test engineers need to be product experts, quality advisers, and analyzers of risk.
Gone are the days when designers used flashy illustration, animation, and ornamental elements to wow the user. Even though skeumorphism (i.e., creating 3D effects on a 2D surface) was very popular just a few years ago, designers now risk dating their websites or apps by using it.
Up until 2012, skeumorphism was the leading trend in digital design. Based on the Greek words “skeuos” (i.e., container or tool) and “morph” (i.e., shape), skeumorphism design took its cues from the physical world. Its primary focus was to make icons and other UI elements look “real.” Designers had to keep light and shadow in mind to prevent objects from looking fake.
Skeumorphism was one of Apple’s key design principles. Steve Jobs was able to successfully bridge the gap between new technology and non-techie users by providing elements that looked familiar, such as a 3D address book icon on the iPhone to represent a user’s Contacts list. This contextual approach enabled users of all levels to comfortably transition from the real world to the digital world.
However, digital interfaces are common now. Users don’t need UI elements to look like real world objects to understand them. Goodbye to complicated designs that are dominated by brushes, gradient drop shadow, strokes, light effects, etc. Now designers are creating UI elements with simple flat shapes and icons.
Microsoft and Apple have made this design popular during the last few years. Microsoft used flat design in Windows 8, and Apple also ditched skeuomorphism in iOS7. Below you can see a side-by-side comparison of Apple's iOS6 icons (skeumorphism) and iOS7 ions (flat design). The Contacts and Photos icons have become more symbolic, and the Clock has been stripped of its lighting gradient.
Below are the five principles of flat design and notes on how to achieve these goals:
-
Remove depth: Remove 3D elements from the UI, drop the depth, and remove all shadows, gradients, and strokes.
-
Use simple elements: “Flatten” icons and other elements by using simple shapes; ornamental elements are unnecessary clutter.
-
Focus on color: Use slightly desaturated colors to add beauty to a page instead of bleeding a user’s eyes with too much brightness.
-
Focus on typography: Use crisp and clear fonts that are chromatically placed with colors and shapes.
-
Embrace minimalism: Eliminate unnecessary elements and leave lots of empty space.
About the Author
Gopal Juneja is a senior engineer at GlobalLogic with over 13 years of experience in the technology field. He specializes in designing and developing UIs and is passionate about design.