Evolution of Web Development Arena and New Challenges
Reflecting on the evolution of Web Development over my 20-year career, I am astonished by its transformation. I cannot help but think of a question posed to me by a former business professor. He asked his students what their career aspirations were after graduation, and I proudly answered that I was going to be a Web Developer, a relatively new position at the time. His response is engrained in my mind. He politely told me that I should look at alternative careers, because he did not see it as a viable long-term career path.
Quite to the contrary, web development has been a viable career path for me. I migrated from developer to leader of a development team for a major corporation, and was blessed with being invited to join our company’s strategic implementation team. I have seen the position of Web Developer evolve into multiple new roles, including Backend Web Developer, Front End Web Developer, UI/UX Developer, Java Script Developer, Database Developer and Device Application Developer to name a few.
In fact, the very title is a misnomer today, with the prevalence of mobile apps and device programming that utilizes some of the same development and design principles such as object oriented programming. The Internet of Things exponentiates the possibilities of Web Development technologies, tools and methods. So what has driven the consistent evolution of Web Development over the last twenty years? The desire by Web Development teams to implement, refactor and continuously re-implement the best possible user experience.
In order for your Web Development teams to be able to respond to this ever evolving industry there are at least three things you need to focus on today to prepare for tomorrow.
By adopting a DevOps mindset within Agile, you are creating an environment to remove the barriers to expedite the process from development to deployment
1. Responsive Web Design
Your users are consuming information on a multitude of devices. Web Development teams need to develop solutions that will not only optimize the user experience on a phone or computer screen, but also tablets or large screen TV monitors, and in the future provide an extraordinary web experience on wearable and IOT device screens. The goal is to provide your users with the richest experience possible on whatever device they choose.
By embracing responsive web design, you will be able to address this need. It will require a different way of thinking by your UI/UX Developers during the Web Development process. They will need to think through the overall user experience on any device and screen size. This will drive some uniformity in web elements across web applications, as well as unique elements for each device type. In order to set yourself apart from others in the market, your UI/UX Developers will need to look for innovative ideas to help differentiate the solutions they are creating. This requires a team that balances the necessary skills. It is difficult to find individuals who are simultaneously left and right brained.
We were able to accomplish this by bringing together a group of diversified skills and perspectives. We have assembled a team of strong Developers, Designers, Business Analysts and Testers all with varying viewpoints but a single common goal: to provide the best experience possible for our users.
2. Application Connectivity
Web Development teams are being asked to expand their roles outside of web development to other areas like wearable applications and IOT, and to deliver analytics solutions that take advantage of the promise of Big Data. There are also external partners and customers that would be interested in connecting to your systems. In order for Web Development teams to respond to this demand for connectivity, they will need to explore the creation of APIs.
Giving your customers and partners a path to connect to your applications and ecosystem will expand your company's overall reach. The ability for your systems to be connected to external systems may provide a possible revenue stream for your organization.
One thing that you will need to explore is API Management Solutions to provide a vehicle for publishing, documenting, securing and monitoring your APIs, as well as mobile device management solutions and middleware.
3. Building a Collaborative & Innovative Team Culture
In order for any team to be truly successful, you have to foster a culture of collaboration and innovation. There are a few steps that I recommend implementing to accomplish this.
Vocalize Your Vision
Leaders must share their vision for the product, department and organization. This will help to unify the team around a common goal in order to drive the desired results. By taking the time to communicate your vision with your team, it also gives them the opportunity to ask questions or make suggestions to improve the overall vision. A true leader embraces this feedback to either improve upon their own vision or readjust based off the provided feedback and insights. These conversations will also get your team invested in the overall objective. The vision will morph from your vision to our vision. The end goal is that everyone understands and works toward executing on synchronized objectives to further that vision. Most importantly, come up with metrics to measure how you are tracking towards your vision and communicate them with the team.
It is worth noting that your reach and influence must extend beyond your team to the ultimate end user community, internal with your company and external with customers and suppliers. It is pointless adopting or implementing a strategy that will not be accepted by your user community.
Adopt an Agile and DevOps Mindset
Why is adopting an Agile process so important to your success? I have worked on many projects following a multitude of methodologies and frameworks. The principles of Agile foster a culture of collaboration amongst your team as well as allow the product you are developing to pivot based off customer and business feedback. The principles of iterative development, product backlog grooming and continuous value creation allow you to provide value for your users much faster than other processes. We have a mantra for delivery: “Once a month, every month.” This timeline balances speed and agility with stability and performance. Of course, some efforts take longer than a month to develop, test and deliver, hence why we publish a release schedule.
By adopting a DevOps mindset within Agile, you are creating an environment to remove the barriers to expedite the process from development to deployment. By working towards the implementation and execution of DevOps, you will ultimately improve your overall deployment strategy. Otherwise, your support efforts will overwhelm your ability to deliver continuous value.
Embrace a Culture of Innovation & Experimentation
In order to differentiate yourself from the competition, you will be required to explore outside of your organization and your team’s comfort zone. One of the questions I always ask my team during our team meetings is "Is there one thing we should do to improve or differentiate our application?" The response to this question usually adds technical items to our technical product backlog. These items are beneficial to the team because it keeps them engaged, challenged and invested, but is also great for the organization because it pushes the application forward.
We all know that not all recommendations or ideas will be successful, which is okay. You need to embrace a mindset where failure is acceptable. As long as you learn from your failures and "Fail Forward," you are still making progress. Sometimes discovering what doesnot work is as valuable as discovering what does work.
If you are able to adopt these elements, your Web Development Team will be able to respond to the ever-evolving challenges of the market. You will also provide your users with an extraordinary customer experience in the process.