Today we announced our intent to acquire Zeon Solutions, a firm specializing in e-commerce, content management, product information management, mobile and digital marketing solutions.
Zeon Solutions is an excellent addition to our team, bringing a unique combination of strategy, engagement and technology services, a proven track record of growth and profitability, an impressive reputation and a strong client roster.
The addition of Zeon Solutions deepens Perficient’s e-commerce expertise and enables us to provide more powerful enterprise digital solutions for our customers. Perficient is better positioned than ever before to help clients effectively address market changes and realize lasting business results.
Additionally, this acquisition increases Perficient’s geographic footprint, adding U.S. market locations in Milwaukee and Ann Arbor, as well as an off-shore delivery center in Nagpur, India. Altogether, nearly 400 consulting, technology, sales and support professionals are joining our team.
It’s an exciting time at Perficient. As our business continues to grow, we see tremendous potential to leverage Zeon Solutions’ e-commerce knowledge, tools and experience, driving more opportunity across the enterprise. I’m confident Zeon Solutions makes Perficient an even stronger consulting partner and solutions provider.
You can learn more about Perficient’s acquisition of Zeon Solutions in our news release here.
…if you happen to live in China, that is.
According to a recent article from Fast Company,
In China, QR codes are everywhere, and most apps have their own QR code readers built-in.
What seems like a pointless piece of technology in the U.S., can be central to an entire infrastructure in another country.
Here’s another example: voicemail.
I’m one of those people who would like to change my voicemail message to say: “Thank you for calling. If you want to reach me, please send a text.” I find the entire process of calling my voicemail and listening to a lengthy message to be a time-waster. I’ll take 10 texts over one voicemail any day. But in China, it’s reversed. Writing and reading Chinese is very laborious. It’s even harder when there are multiple dialects. The solution?
When creating a technology or determining its usefulness, it’s vital to understand the culture of the people who will be using it. This is true whether you are creating an app for a specific country, a specific demographic or a specific industry.
Great UI design is only great if the end user says that it is, regardless if they say it via text or on voicemail.
Last week, I ventured to Anaheim, CA, for Forrester Research’s Why Good Is Not Good Enough conference. I wanted to find out how, in a world of same-day e-commerce, self-driving cars and ubiquitous Wi-Fi, the stewards of the world’s top brands were managing to keep their customers happy.
Across the two days, mic’ed-up presenters and tweeting colleagues agreed that customer experience (CX) couldn’t be left to chance. Like any business asset, it must be monitored, measured and optimized in accordance with shifting market demands. And now that we’re a few years into the optimizing, we sense that “good” just won’t cut it anymore.
But despite the agreement, two distinct camps emerged; one asserting that as customer demands grow, brands must keep pace by exerting maximum control over experiences, even extending their influence beyond traditional boundaries and into external ecosystems. The other held that doing too much planning and seeking too much control was impractical and unwise. Organizations should instead pursue a more enlightened path of responsiveness, flexibility and empowerment.
So who’s right? Here are my six takeaways from the conference…
#1. Mastering CX is not easy. Forrester VP John Dalton opened with a story of Walt Disney, pioneer of experiences for the pint-sized customer. Despite years of planning and a drive to control every detail, Disneyland’s opening was a near-disaster. On that sweltering day in 1955, throngs of parents and children endured hours-long wait times for rides. Newly paved asphalt melted under the July sun, devouring ladies’ heels. A plumber’s strike deprived the park of drinking water and a gas leak required much of it to be closed. Negative press followed. But Disney stayed true to his vision and eventually things turned around. With this tale, Mr. Dalton seemed to suggest: if Walt Disney had trouble with this customer experience thing, maybe the rest of us should lighten up a bit. As in most situations, progress is better than perfection.
“If Walt Disney had trouble with this customer experience thing, maybe the rest of us should lighten up a bit.” (tweet this)
#2. Firms are getting better at CX delivery. Forrester’s Megan Burns took the stage to talk about CX maturity. She reported that the concept of customer experience, which Forrester has tracked since 2007 with its annual Customer Experience Index, has now reached its gangly adolescence years. While great experiences are still rare (hence the title of the conference) truly awful ones are on the decline. Until recently, few organizations knew that measuring their CX maturity was something they should, or even could, do. Now with eight years of data as evidence, she offered three “universal drivers” for CX maturity and loyalty:
#3. We’re all competing with the best. Katy Keim of Lithium Social Web spoke about the social media revolution and its impact on customer experience. Noting that “CX = delivery – expectation,” Ms. Keim neatly distilled the challenge to its essence. As customer expectations have become more and more “extreme,” firms find it harder to stay ahead of their customers’ needs. And when it comes to expectations, companies no longer compete only with others in their industries. Instead they go head-to-head with the Netflixes, Ubers and Amazons of the world. These brands have redefined what customers should want, and in doing so, have recalibrated the CX benchmark for every category. Increasingly, firms that fail to live up to these extreme expectations will been seen as “unresponsive.”
CSS multi-language support
Chiuhua Chen, senior front end developer and prototyping expert at Perficient XD, is currently working on a web application that has a visual design supporting only english language. As with every other project, the business later on proposed support for multi-language support. When the application is in another language, spanish or Chinese, due to design constraints, the page appears messed up with some text occupying more width than what is actually allocated. On further research and checking with other peers, Chiu is working on implementing language specific stylesheet which would override the generic css file to take care of this issue. Lead front end developer Jacob Schulke has a few good points on the topic and has already shared his thoughts here. To learn more on how Chiu is tackling the multi-language css support issue, get in touch with her here.
Apache Virtual Hosts
Derek Montgomery, senior front end developer at Perficient XD, with a strong penchant for infrastructure setup and command line coding, is currently working on setting up a new virtual host for Perficient XD and doing further research on the topic, agrees that “If you have made a website, you have probably used Apache. One widely used application of virtual hosts is shared web hosting, whose prices are lower than a dedicated web server because many customers can be hosted on a single server”. He points out virtual hosts can potentially solve problems such as -
I was talking to a colleague a number of weeks ago and the topic came up of where mobile was headed now that smartphones/tablets have become “commonplace”. The three areas that seem to get a considerable degree of focus is wearables (whose hype will be even further boosted if Apple releases the rumored iWatch on September 9th), Google Glass, and Bluetooth Low Energy (the catchier-named “iBeacon” to you iOS types). As a mobile architect, trying to keep up with all the things going on with mobile, I try to keep the deluge from being overwhelming by focusing on those mobile technologies that have enterprise applicability and that clients may come to Perficient seeking expertise. Therefore, I told my colleague that I had dismissed both Google Glass and wearables as more consumer-focused and that my focus was on the possibilities of iBeacons in the enterprise.
However, after a number of subsequent conversations with other mobile architects and articles such as “Salesforce.com sees wearables catching on with customers, partners” has caused me to rethink my position. While I am not confident in Gartner’s claim that by 2017, wearable devices will drive 50 percent of total app interactions, I do believe there is a place where having access to data on your wrist (rather than digging into your pocket for your cell phone or having to have a tablet in one hand) or a headset will have advantages to various classes of enterprise users such as those who require hands-free access such as industrial (warehouse, transportation, etc.), healthcare or in the case of one enterprising firm, replacing access key cards with a wearable.
The challenge for mobile architects and enterprise IT in general is to understand how wearables could provide an advantage to the business (by actually going out and observing how warehouse workers may be using ruggedized tablets now rather than clipboards or rolling computer kiosks and how a wearable could provide an even more productive work environment) by starting to take a look at this technology. This means short R&D initiatives with minimal investments in both hardware and developer time (taking fail-fast to a new level) and developers open to new approaches in terms of screen size, data input, even further optimization of enterprise data access over what is needed for smartphones and processors/memory. In addition, after the issues that firms have had with BYOD in relation to security and mobile device management, determine if wearables create issues that smartphone access to the enterprise did not already expose. If so, better to address it now rather now in an R&D mode rather than later, when you are creating a true business application. The final issue of course is to determine which platforms will break out with many new watches (Apple iWatch, Moto 360, Samsung Gear ) being released and all of which are jockeying for position.
A mobile application has very little function without data to work with and enterprise business mobile applications, even more so. This has given rise to the visibility of application programming interfaces or APIs within the enterprise. Businesses are using APIs to allow visibility to certain business data to business partners outside the company. This concept is nothing new, businesses have been sharing data through Electronic Data Interchange (EDI) and Value-Added Networks (VANS) since the 1980s. However, in the last two years, the spotlight has again shown on APIs as the linchpin to support mobile development.
One facet of creating APIs to support mobile development is Microservices which are small, single-purpose, server applications and that can be composed together to form other server applications. The idea is that a microservice does one thing well and executes as a standalone application within a server container (which is one of the differentiators between microservices and their larger SOA brethren). A number of IT technologists have equated microservices with the idea of Unix shell pipeline apps in that they share characteristics such as “small”, independently deployed in their own container, may communicate with each other and are loosely-coupled. James Lewis and Martin Fowler of Thoughtworks published an excellent paper that covers Microservices 101:
In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.
You can say that the above statement could also fit SOA but Lewis/Martin call out how microservices are different enough to stand as its own architecture.
One of the reasons that microservices is a popular choice for mobile development is that each service can start out small, the developer can work both sides of the effort, creating both the mobile app and the service to support it, iterating the services to meet the needs of the mobile app and simply deploy the changed service without coordinating with other developers or the service development team.
This leads into the second trend besides mobile development that has pushed Microservices to the forefront which is the shift to DevOps and Continuous Delivery as another key enabler. The reason for this is that microservices support the need for quicker, independent development (no teams), easy rollback, developer-owned (no handoff to the service support team, it follows more of the “you built it, you support it”), and frequent releases.
Microservice allows an easy and flexible way to integrate automatic deployment with Continuous Integration tools familiar to developers such as Jenkins. That is not to say that microservices provide some type of free-lunch; once the size, number and complexity of the services move out of infancy, a number of issues need to be addressed including operational overhead, a higher level of DevOps skills and the complication of managing a large number of services, many of which perform some level of service inter-communication.
SOA has been around for quite a while and it is difficult to remember when it was the new kid on the block. For the most part, service development around REST and the JSON data interchange format has taken hold and microservices has made it easier for the mobile developer to easily and quickly build/deploy the services needed to support a mobile application.
Imagine being an executive for one of the largest pizza chains in the world and being invited to a meeting titled “Why Two Pizzas Are Enough”. How would you react? Would you be concerned a few zeroes had been left off? I did a contract role as an agile coach for just such a major pizza chain a few years ago. When it was time to give the executive management team an overview of Agile and Scrum (the specific methodology the company was interested in implementing) I was advised to not call the meeting Agile or Scrum. After asking why I should avoid this I was told that the business was sick and tired of hearing about both Agile and Scrum and they wouldn’t come if they knew what it was about. I used the analogy of two pizza teams to grab their attention and boy did I grab their attention! Every Executive attended the meeting.
In last week’s article “Agile and UX Design: Can they work together?” I mentioned the concept of a two pizza team. In this article I give more definition behind this concept and how it applies to agile approaches.
The two Pizza team terminology was coined by Jeff Bezos, founder and CEO of Amazon. You can read more about his concept and how it has become part of the culture at Amazon by reading the Fast Company article “Inside the Mind of Jeff Bezos”.
What is the two pizza team analogy? In Scrum, and most Agile methodologies, the team is meant to be a small, cross-functional, empowered team of approximately 5 – 9 people, depending on the project size. Therefore when your team has to work through lunch or late into the evening, as you know you do when you work on a project, the company can feed the team with two pizzas. I.e. Two pizza teams.
There is more accountability in smaller teams and they tend to avoid the issue of social loafing. According to social psychology, social loafing is the phenomenon where individuals tend to put forth less effort when working in a group than when they are working individually or coactively. Small teams in which each member is accountable for specific tasks for the project will avoid this concern and hold each other accountable on a daily basis for the work being produced.
There is, on occasion, a concern raised with the small number of team members when a project may be extremely large and require more than the recommended 5 – 9 person team. In this event, review the project goals and determine a team structure in which multiple Scrum (or whichever agile methodology is being used) can be structured reporting into one Project Manager or Product Owner (whichever role title your project is using). In many projects a quick review of the goals or epics will show a natural delineation into individual teams. These teams should be able to communicate with each other, but limit the communication paths necessary between the teams. In other words, if team A is unable to complete their work because they must first coordinate with additional teams the project will stall. Minimizing communication overhead while still encouraging communication between teams is a key strategy to the success of multiple teams within the same project.
Try the two pizza team concept when your organization on a smaller scale first. Something as simple as a meeting in which a decision or consensus needs to be reached or if there is a larger problem which you are attempting to solve, break it into smaller chunks and assign a small team to each chunk to solve. See how quickly and effectively these small teams can work. Not only will your problem get resolved, your corporate lunch bill will go down.
In the past few weeks, I’ve seen no less than five different companies publish an article documenting their internal CSS frameworks; it’s a fascinating pattern. Getting an inside look at how other people (or companies) are organizing code and what tools they are using is a pretty fantastic way to become a better developer yourself. Take a look quick look.
The benefits of having a defined development process are plenty: streamlining your workflow, code reusability, greatly decreasing the amount of time it takes to ramp-up new developers; the list goes on.
What are some of the things you or your company does to organize the structure of your code?
Diet pills and Agile have a commonality – people want a quick fix to lose weight only slightly more than they want a fix to all their project management issues. Unfortunately, diet pills nor agile are silver bullets to correct either concern. It takes dedication, work and an understanding of the principles behind the body’s metabolism to lose weight. Likewise, it takes dedication, work and an understanding of the principles behind agile to improve delivery of a project. Once you understand these principles you can become a two pizza team, improve project delivery and lose weight at the same time.
This is the first part of an ongoing series attempting to not only bring clarity to what it means to be agile, but also to answer the question, can agile methodologies work during the UX design phase of a project? I have heard arguments on both sides of that debate. Many designers saying ‘no’ it doesn’t work and the more traditional waterfall methodology works best. Why? Because you have to business requirements before you can start wireframes and you have to have wireframes before you can start creative design. Before starting creative you have to have a content strategy which depends on the wireframes, which depends on the business requirements and on and on. While I am not arguing these needs I want to explore the possibility of providing these needs within an agile process.
But, before the exploration of this feasibility can begin let’s first define what agile means. I hear the word tossed about to describe a single methodology of project management or software development. Ask a project team what methodology they are following and often you hear “we are using agile”. What does that mean? Each week we change our process because we didn’t like what we did last week? Or, the client wants us to change how we are doing things because they didn’t like what we did last week? That isn’t agile, that’s chaotic and reactive. So, what is agile?
It’s difficult to define as agile is an umbrella term for multiple approaches to project management of software development projects. At the core, agile is a group of methods that enable small, cross-functional teams to quickly deliver business value in an iterative, collaborative approach. Where change is expected, not feared and where requirements can be expanded upon as the team learns more. Where conversation and collaboration are valued over strict adherence to a set plan defined before the requirements are even made clear to the customer, let alone the team.
The agile manifesto describes the values and principles of agile software development practices and I won’t take the time to reiterate them here, but if you don’t know them I suggest checking out that link. The manifesto itself is made up of four key values supported by twelve principles.
Some agile methods which exhibit these values and principles are:
• Scrum – arguably the most popular
• XP (Extreme Programming)
• Lean Software Development
• Feature Driven Development
• DSDM (Dynamic Systems Development Method)
This is not an exhaustive list of all agile methodologies, but some of the more popular ones currently in use. Which of the approaches to use depends on the team’s knowledge and expertise in each methodology, their culture and sometimes the project goals.
Making a move to agile is a cultural change that impacts the entire organization, not just the IT department. It’s a marathon, not a sprint. An evolution not a revolution. There is compelling evidence that iterative methods reduce project risk, compared to more traditional waterfall approaches. Next time we’ll move into the discussion of bringing Agile and UX together.
In the meantime, have you been involved in a cultural shift to using agile? What pain points did you find and how did you resolve them?
Microsoft published an article on their Internet Explorer blog yesterday that discussed their plans for supporting older versions of IE, and the web development community has been blowing up ever since. I have seen many eager Interneters making loud claims to the tune of, “IE8 is dead! We no longer have to support older versions of IE!” However, it’s very easy to get caught up in the pandemonium or start bandwagon-ing and miss the actual facts of what is and will be happening according to Microsoft. I want to clarify some things and set the record straight before we all hang up our Windows XP virtual machines. Read the rest of this post »