Enterprise is still figuring out agile app development

Agile Development

Photo by Dean Meyers

Software is essential to Enterprises, and they are still developing agile apps. How so?

Until now, they were either obtaining turnkey solutions or subscribing to software as a service (SAAS) solutions. Turnkey solutions require upfront licensing fees, installation, configuration, and certified IT staff to maintain them. They also tend to get feature excessive over time because vendors have to justify selling upgrades and more support packages.

SAAS solutions can be subscribed to by employees and teams who wish to use higher quality software and bypass the control of the IT department over them. They can just put the cost on their company credit card and not even have to get a purchase order for it. Mobile devices played a significant role in the consumerization of IT and pushed that even further.

However, neither of those solutions can cater to the unique enterprise needs. That’s where custom software comes in.

Tailoring To Enterprise Needs

Custom software is developed either in-house by a product development team or outsourced to a product development company that executes the entire project by going through design, development, deployment, collecting feedback, and repeating the development cycles. Custom software may cost more than turnkey and SAAS solutions. It also requires a commitment from the buyer to realize the work involved in developing high-quality software in consecutive development cycles and the ongoing cost associated with them.

Custom mobile apps are becoming more commonplace and essential in enterprises. Most of these apps are mobile-cloud architecture technologies allowing people in the organization to look up, read, and write information in the company’s knowledge repository and network. For these apps to reach an ideal state of quality, usability and stability, they should go through several release cycles throughout the year.

Iteration is the key

Photo by Improve It

There is no such thing as high-quality apps build in one shot. In this approach, every new release is followed by monitoring end-users and gathering their feedback to improve the product. In every new release existing bugs are fixed, performance is optimized, and features are added or removed. This ongoing editing and refining process is essential for making a product that everybody wants to use. If done right, the product becomes the user’s best friend. This is the very essence of agile development.

Enterprise is uncomfortable with iterative development

Many good projects and initiations get shelved at the idea stage because enterprise companies still feel uncomfortable with the agile and iterative development model. Some even continue using conventional methods to run their business using pen and paper. They push Word, Excel, and Powerpoint to their limits to accomplish tasks they were not meant to. The workforce is waiting and hoping that some magical turnkey or SAAS software will show up and save the day because their company is not used to maintaining a custom software’s codebase, ongoing development cycles, and the associated cost.

It is Intelligent Design vs. Evolution all over again

Lean and Agile methodologies have been the cornerstone of building great products in smaller companies and startups. However, many enterprise companies are still following the traditional waterfall model, which means every project scope is designed to death by business and system analysts before it is even considered for execution. Even after they finish their process, the results are useless for the agile software development teams. System analysts provided 50-100 page technical design specifications.

An agile team requires only a 3-5 page document containing basic diagrams and the essential general guidelines for the software project they are about to work on. The details are figured out through the upcoming development cycles by gaining user feedback and making decisions based on the existing state of the codebase. It is the argument of Intelligent Design vs. Evolution all over again.

Agile development may render system analysis useless in many projects, and that’s bad news for many system analysts working in large organizations. The seemingly uncertain nature of code evolution in agile development goes against their deterministic and structured nature.

It’s about changing the mindset

Enterprise companies are pyramid hierarchies trying to live in a networked world. Interestingly, they have all the required resources to adopt agile product development in consecutive release cycles. It is a matter of changing their mindset and, of course, the organization’s hierarchies, but that type of change may not happen soon. That is why projects get outsourced to agile app development firms. It is a window for projects to leave the cathedral gates and takes a fresh breath of air in the bazaar where innovation is fluid in a flat network of smaller teams.