A good Business Analyst (BA), with a keen Subject Matter Expert (SME), can rapidly iterate on Web Applications (User Interfaces, Processes and Integrations), provided they have a “great” Developer – right? While this has always been the “plan” in theory, the reality is often very different.
There are numerous obstacles that surface which impact that perspective. The availability of your best BA can be an issue, leading to the assignment of other resources which may not be as versed in requirements collection or process discovery. The best developer is NEVER available for new initiatives, rather experienced contract resources are often selected to perform assignments rather than backfilling your best developers creating a gap in terms of Agile delivery capacity. Often the best SMEs within a line of business are immersed in production and support issues making availability a problem, again impacting solution design; many times high-level senior executives are also not available, or if they are, they may be so far removed from the actual trenches that their guidance can be misleading – further impacting the desired outcome.
Cloud-Ready Solutions = Complex Web/DEV?
While many software/solutions providers may disagree – the continued adoption of cloud-centric solutions to meet immediate business needs is a trend that comes with certain pros and cons; flexibility in terms of the features and capabilities of the solution are driven by the timelines of the largest customers – this can impact the priorities of the product delivery roadmap. The features you may be looking for to meet your requirement may not be a top priority to the provider unless they are viewed as a common capability that other subscribers need. There is a fine line between customization and alignment across releases in a cloud offering.
Many cloud solutions are highly extensible and offer their own Interactive Development Environments (IDE). These capabilities provide a method for customization to implement unique customer requirements which are not available out-of-the-box; however they freuqnetly introduce numerous design and runtime constraints in order to ensure compatibility across product releases (versions).
Many companies struggle with vetting the pros/cons behind cloud-software customization vs custom web development. Often, if IT cannot deliver a solution fast enough, the business will elect to subscribe to capabilities and bypass internal dependencies – isolating their own IT development teams.
How do these scenarios impact the delivery continuum? Some companies are adopting cloud-2-cloud combat techniques. Fight cloud solutions with cloud tool providers – so to speak.
Traditional methods and tooling has changed. Companies are now leveraging Cloud/DEV models more than ever before. The adoption of tooling to empower the business while promoting collaboration have increased significantly.
Web/DEV: Accelerated Prototyping
Web application development has evolved in leaps and bounds due to this trend. The ability to leverage tools for mockups has been a driving force behind better designs. InVision, for example – a Software-as-a-Service (SaaS) subscription, is an excellent tool for helping to visualize the end-state of a web application by allowing you to upload artifacts, styles and themes to create extremely powerful experiences for the business – even import and work with ReSTful services and staged data, to deliver a rich prototype.
The ability to collaborate via a subscription service means that there is consistency across the design process and zero latency associated with waiting on IT to provide the environment. The portal enforces a common view on how the web experience is presented and offers placeholders for tasks and activities to ensure information is assembled in the right place, by the right resource at the right time as part of the design process.
Since the InVision solution is cloud-centric and implemented via a collaborative portal, resources can work seamlessly together. This approach removes numerous constraints around SME availability and connectivity with consultants, developers and the business. It also broadens the reach of resources by allowing external developers and contributors (SIs) to collaborate more effectively to deliver a more robust web application.
InVision Design Demo
This video explores the capabilities of the InVision platform and demonstrates the power of the interactive design features of the solution.
Web/DEV: Meet Business Process Engineering
This is great, but what about the intersection between process and the user experience? Web applications are frequently used to collect data which is then consumed in backend processes and integrations. What about these, what tools are available to capture those requirements as part of an application design?
Enter tools like IBM BlueWorks Live (BWL), an excellent SaaS solution, subscription-based, to assist with process discovery. BWL can be used to establish a collaborative workplace for process discovery and requirements collection. Furthermore, BWL provides a consistent and repeatable approach for envisioning processes and identifying integration dependencies.
Environments which provide a Facebook-like joint-application-development environment, like BWL, enable stakeholders to gain deep visibility into the requirements collection process and ensure people are “On The Same Page” as part of the envisioning exercise. Activity streams along with tasking and escalation embedded in the design flow ensure requirements are collected in a timely manner with visibility across teams and resources.
BWL has a wealth of templates to jumpstart design across many different verticals and use cases. You can also take process definitions in BWL and export them to be consumed by other technologies for improving delivery and shortening development efforts.
The ability to work on designs in a drag/drop manner with soliciting feedback in real-time regardless of the location makes tools like this extremely powerful. BWL helps to overcome issues with availability of SMEs and removes inadequacies with less experienced BAs by giving them a repeatable method to gather requirements in a consistent manner.
Taking process discovery and creating running workflows is where organizations have options when using a tool like BWL. The tool was designed to enable direct export of process definitions from the SaaS cloud into cloud-based Business Process Manager (BPM) environments running on BlueMix, AWS, or any other cloud platform that supports the BPM runtime requirements. BPM on the other hand can also be deployed (internally), on premise and still leverage the BWL SaaS import/export model.
BWL can export process definitions in the following formats:
- XML (XPDL 2.1)
- Business Process Model and Notation (BPMN 2.0)
- IBM Websphere Business Process Modeler XML (Version 7.0)
What does this mean? Well, if you had access to a running BPM instance either in the cloud or in-house/on-premise, you could simply take the exported Websphere XML file and import it directly into Business Process Center (BPC) and begin development using a tool called IBM Business Process Designer (BPD).
The designer (BPD) provides a feature-rich IDE which is tailored for workflow development. The BPD provides an ability to create user interfaces, called Coach Views which are the front-end (UI) between the process and the workflow participant (end-users).
Many independent consultants have purchased a BWL subscription ($50/mo) to improve their delivery capabilities on contracts to save time and create higher quality artifacts. You do not need to be a large company to subscribe to BWL – individuals can take advantage of this technology as well.
IBM BlueWorks Live (BWL) Demo
This video provides a quick overview of some of the capabilities of BWL for process design and discovery.
Prototyping with a Difference – Web/DEV Meet RAD
With the emergence of these cloud-centric platforms to aid in solution design, there has been a radical adoption of hybrid languages, tools and frameworks such as Node.js, LoopBack, Angular2, BootStrap, JHipster, and Swagger. There is also new application virtualize methods, packaging and runtimes such as Docker – further changing the deployment and support options.
All of these enhancements have been leveraged by Rapid Application Development (RAD) vendors that support various methods to envision, design, iterate and deploy; this is where companies have extended their IDE to create design experiences which are engineered for BA’s.
Avoka is a RAD platform for building lightweight web-form applications. Their branding is “A Digital Enablement Platform“, however their largest market is e-Commerce. Their design experience – called Meastro combined with the ability to quickly “discover” data sources has made designing and implementing web applications extremely quick. Many features of these web applications can be externalized leveraging a wide range of integration scenarios via third-party connectors. Avoka provides over 37+ connectors for their Transact platform – including cloud-based solution integration capabilities for DocuSign, Yodelee, FIS, SalesForce and many more.
Avoka’s Meastro (IDE) – is a drag/drop environment whereby end-users can create web-form/applications and interfaces without writing code. Avoka is highly extensible as well – able to leverage many existing web services and APIs available within an organization. Once applications are developed, they can be pushed across a range of operating environments using their internal deployment methods (or via your own) depending on your requirements.
While the solution may leverage open-standards to deliver an applicaiton, there are runtime dependencies embedded in their solution architecture. To support the extended capabilities of their platform, such as these connectors, the application must run on Avoka’s Transact (x) Server Platform.
This type of dependency is not uncommon, many other vendors in the turn-key digital e-Commerce space also have this approach for delivering web solutions – Ripple Labs, Credorax, The Currency Cloud, and Orchard Platform for example.
Avoka Maestro IDE Demo
This short video showcases the power of RAD IDE’s, such as Maestro – a savvy BA, with minimal training, can create impressive web applications. Another interesting feature is that the Transact platform also supports embedded analytics and performance monitoring – this could replace APM tooling.
Why is it that RAD platforms are typically engineered for specific verticals such a finance? The answer lies in the target audience for web applications and the primary use case for the interface – namely web form data capture. The main objective of many transactional interfaces – like loans, banking, insurance and “online apply” all have their roots in web forms. The easier the user experience, the higher the adoption rate of a business service or capability.
Innovative Thinking – Apex Designer
A company called Apex Process Consultants, came along with a simple idea:
Apex thought – “What if we took our expertise in Process Design and leverage the capabilities of these new development technologies? Remove the proprietary nature of the runtime and create a way to use a simple design experience to envision the data to create the User Experience (UI)?”
The concept behind Apex Designer was formulated between this intersection of web development and process design that was mentioned earlier. Over the years, Apex developed a set of libraries for IBM Business Process Designer, these were repeatable extensions to the BPD that allowed Apex to develop faster using a consistent set of patterns that saved time on consulting engagements. This work gave way to developing better methods to deliver more robust end-user web experiences that went beyond the native capabilities of IBM BPM Coach Views (BPM/UIs).
Apex Designer leverages new and emerging development trends mentioned previously to create solutions which are truly open-source in nature with no proprietary runtime. Apex has created a simplified design experience that they call “Envisioning” using techniques that cross the major components of any web application. The concept behind the tool is more a “Utility” than a product.
The Apex Designer creates perspectives of the design/development experience – these are People, Process, Information, User Interfaces and Decisions – the Settings are externalized and are used for configuration options.
The real “magic” of this utility is the expertise that Apex brings to their professional services engagements and their experience in solution delivery. Having their roots in a process-centric background they understand that the real value in any solution lies in the data (information). That is where their utility really shines. The tool allows for engaging with the stakeholders to create business objects in real english terms, then leverage those terms in an easy to use approach to develop web user interfaces by generating code seamlessly in the background and exposing the information via ReSTful APIs.
The utility is not commercially available; rather Apex is considering multiple options in terms of how to offer this capability – potentially be a subscription model – this has not been determined at this time.
Apex Designer Demo
The following short video is a demonstration of the Apex Designer Utility. The video illustrates the ease in which web interfaces can be brought from envisioning the information to a working web application in minutes. For more information on this capability please contact David Knapp, President and CEO of Apex Process Consultants.
InVision, is a powerful environment for designing the end-user experience; however it does not create a running web application that is ready for production. It is used to create the vision – developers are still required to leverage IDEs to make it a running real production-ready web application.
Solutions like BWL provide an ability to collaborate on process discovery in a cohesive manner. The ability to provide a consistent method for documenting and publishing content in work streams with team visibility removes many constraints around resource availability throughout the design life cycle. To create a running web application developers are still required to work within a specialized IDE (Business Process Designer) – taking the process definition and transforming it into a running workflow (in BPM), with multiple runtime dependencies across a complex landscape. Coach views are developed in the BPD, which is not engineered for the average BA, it requires developer-level skills in many cases.
Solutions like Avoka provide a comprehensive environment for developing web applications (Maestro) without the need to understand the complexities around traditional IDEs; the ability to leverage connectors and extensions to the design experience still requires a skillset beyond most BAs. Avoka empowers business people to quickly envision and deploy; however there are still runtime dependencies. The Transact Platform introduces a proprietary constraint to the end-state web application even though it is built on open-standards – the web application only runs on Avoka.
The advent of “Utilities” like Apex Designer could represent the future of web application development. The concept of envisioning and iterating is not new, the ability to develop a business context first which is based on describing the information then designing user experiences based on that definition is new and highly innovative.
While other solutions take a backward approach by offering information with no real context in terms of its use as part of the web design process, Apex puts the information in context up front; allowing everyone to understand how that information is being consumed, using a business language is extremely powerful and unique.
The utility is also designed with BPM and Operational Decision Management (ODM) in mind, meaning that natively you can leverage the business rules from ODM as a component of the design experience and put those in context in reference to Apex business objects. A Business Object Model (or BOM), allows the utility to create a context which is alignment with the language of the business when leveraging business rules. Again, these capabilities for integration are not limited to the IBM solution set. In fact, any solution which exposes web services or APIs can be leveraged. This includes cloud-based solutions like SalesForce, DocuSign, Experian, FIS and many more.
If these capabilities were offered in a model like BWL for example – subscription/seat based, think of the advantages in terms of web application development. You would not need to standup infrastructure, the runtime would be transparent and the deployment model could operate in a cloud fabric, perhaps even using a container architecture like Docker. Subscription-based website development tools have been around in the web-hosting world for years to design a web presence, the ability to combine web application development and process engineering into an integrated web application IDE would offer many companies rapid development capabilities far beyond the traditional models being offered in silos today.
As the capabilities of the underlying components (node.js, Loopback, etc) evolve, the ability to assemble web applications as “Headless” interfaces to cloud provider solutions will become more common. The ability to extend the user experience without direct customization to the cloud solution offers a degree of externalization which was not available previously without complex web application custom development projects.
The industry is shifting, cloud solutions offer a delivery capability that IT development teams need to leverage. IT developers should “envision” their own strategies to provide value to the business to remain relevant. Combining the capabilities of these new technologies with a headless user experience for cloud solutions offers real promise moving forward and could create a roadmap for the future-state of web application designs.