Thursday, November 30

When will government start using Artificial Intelligence (AI) ?





AI is making an impact across indudsry verticals and AI can make even bigger impact when the Indian government's start using AI because governments touch more people's life than any other organization.  Often agencies are understaffed or overworked and people have to wait in queue for ages. AI can't replace humans but it can reduce the work load of humans. These are some areas where government should start implementing AI.

1. Process Automation
Through out the government departments, there are backlogs of many types: cases, requests, applications, etc. AI enabled software could speed through these backlogs and prioritize critical tasks and even find solutions to some basic Yes/No tasks thus reducing long pending tasks. AI could reduce the size of the backlogs, let humans focus on the challenging requests and speed up the processing.

2. Recruiting Automation
The Indian government is the one of the largest employer with a huge backlog of vacancies from teachers to officers and the biggest challenges among all organizations: is hiring adequate talent. One way the government could take advantage of AI is to adopt recruiting automation technology to streamline candidate sourcing, automate interview scheduling

3. Disaster Management
Artificial intelligence is a set of powerful technologies that can derive insights from tons of data to keep us safe. From predicting earth quake and aiding in rescue efforts to warning us of external threats and even automating high-risk tasks that we is done by government everyday. By enabling these technologies to help keep us safe governmental bodies can do their part to make India a safer place.

4. Cybersecurity
Cybersecurity is a growing concern for both government and financial institutions. Adversaries are leveraging AI in their tools, techniques and processes. Governments should leverage AI for vulnerability, threat and risk management. AI can help in forecasting, preventing and mitigating risk by using AI enabled self learning * self defending software
.
5. Taxation
One way that government could take the most out of AI is by coordinating the financial analysis from multiple transaction mediums for taxation purposes. No more tax evasion and no more double taxation and faster tax refunds using AI.

7. Irregular Financial Activities
Applying artificial intelligence in the government can make services faster and more tailored. One way that the government can use AI to its advantage is by detecting irregular financial activities like money laundering, terrorist financing and fraud.

8. Health Care Services
Our barely-existent health care systems and pension systems are a major strain on the central and state budget. Governments are trying to improve these systems and with AI and distance medicine  the costs can be reduced. AI can also automate government grants, health insurance claims and identify fraudulent claims and fill in for the lack of resources and long queues.For minor illness automated medical system can provide medical advice to those in remote corners of India till they can reach a doctor.

9. Security Agencies
AI is the process of simulating computers to have the capability of imitating intelligent human behaviors.AI can be used in various ways in immigration services,  for crime prevention and solving criminal cases using a centralized AI intelligence.

10. Auditing Efficiency
Using AI, the most likely candidates for audit could be quickly brought to the top for human inspection. It's important to keep the human element, but for quick evaluation, AI can have a much better return on investment particularly in prioritizing audit tasks

11. Judiciary / Courts
One of the longest backlogs by any agency is probably in the legal systems. The nature of work is such that the petitioners themselves delay the cases till they get a satisfactory solution but the legal sytem wants to deliver a well informed and just verdict and AI can help judiciary deliver it. One cannot even imagine the new judiciary and they way it will transform the justice delivery by using AI & ML by delivering critical ipupts to the judges and also in dismissing trivalent cases .

Monday, November 27

BPM & Blockchain


Business Process Modelling is a digital automation framework that helps organizations improve overall efficiency and the ability to execute consistently by decoupling the business process logic from the code or service layer.  This streamlines business processes within an organization where participants normally trust each other. Innovations in areas such as case management, event processing, business rules, and integration mechanisms help organizations address strategic goals by implementing new and continuously improving existing business processes. Business processes rely on data from information systems outside their control, even data from other enterprises. This data must move between organizations, or even between enterprises, which is not only complex and expensive but often results in stale and inconsistent data. Lack of transparency and trust is the consequence.

Blockchain

Blockchain helps solve trust and transparency issues in business networks that span organizations for the following reasons:
  • Participants in the network use a shared ledger to perform transactions on assets.
  • Transactions are validated by participants through a consensus protocol.
  • Smart contracts control transactions between participants, which therefore do not need to trust each other. Smart contracts ensure that contractual conditions are met, and obligations are enforced
  • Permissive blockchains ensure that all information and transactions on the blockchain are available only to network members with the right permission.

    BPM and Blockchain

    In a combined BPM-Blockchain solution, the shared ledger provides the interface for business processes — a process queries asset information and performs transactions directly on the ledger.  Stale or inconsistent data is no longer an issue.  In addition, business events on the blockchain initiate or trigger business processes, ensuring that the right organizations are involved and react to events in a timely manner. The integration of both business process management and blockchain helps you to reach the next level of real time integration and automation of business processes that can help significantly improve your business processes.

Monday, November 20

Don't you Blockchain yet?

Blockchain is a distributed digital ledger that enables and records the secure transfer of data and documents through a public or private peer-to-peer network. Blockchain allows secure management of a shared ledger & transactions are verified & stored on a network without any governing authority.  Blockchain configuration can be on a public opensource network or a private Blockchain network that required explicit permissions to read/write.

The best applied example I have read is of an automotive industry. A car has a manufacturing defect that results in a part being replaced. The typical communication chain could follow the following pattern:
  • The car owner brings the car to the dealer to diagnose a problem
  • Car dealer inspects the car and notifies the manufacturer about the faulty part
  • Manufacturer works with the part supplier to determine where the fault lies
  • Part supplier and manufacturer agree that the part is faulty, then notify the dealer
  • Car dealer notifies the customer
  • Car owner brings the car back to the car dealer for part replacement 
In this scenario, communication among the customer, car dealer, manufacturer, and part supplier is delayed by incomplete information, so full and accurate responses along the chain are impossible. Second, all communication goes through email, telephone, or postal mail, and the customer has to visit the car dealership multiple times to have the part replaced, possibly being unable to use the vehicle until the car is repaired. This is a very shabby customer experience.

Now let’s look at the customer experience when blockchain & technology platform are combined. In the same scenario, the communication chain will be as follows:
  • The IoT sensor automatically notifies the manufacturer, car dealer, and car owner about the defective part
  • Car dealer contacts the car owner and sets a service appointment for an inspection
  • Car owner brings car to the dealer for inspection, which confirms the faulty part
  • By now the information about the faulty part is already put on blockchain, which has by now notified all the parties – manufacturer, insurer, part supplier, car dealer, and owner
  • Manufacturer, dealer, and part supplier collaborate to analyze the car’s IoT sensors and dealer inspection report to identify where the fault lies
  • Manufacturer gives an instant approval for part replacement on blockchain, which automatically notifies all parties
  • Car dealer replaces the part and delivers the car back to the owner
Impressively, all of this happens on the same day, during the 1st service appointment, and the customer is continually kept informed as the vehicle proceeds through the diagnosis and repair process. As we can see, there is a tremendous potential for developing applications that use blockchain in Internet of Things solutions. This combination can not only solve many of the key problems in process efficiency, user experience but also enhance it by automating many customer service processes along the way.
                                       
                                                                             




Sunday, November 19

Be careful of what you share on Facebook, Google & Internet

Data privacy is important & critical for our own security & safety. We tell our kids, not to talk to strangers & not to share family details with unknown people but what about the data you are 'willingly but unknowingly' sharing on the internet everyday? Let me tell you about a real life incident. Few years back one American company mailed baby product catalog to a couple and they were surprised because they had recently planned to have a baby but the wife was not pregnant. The net savvy couple did some research and found out that the shops and website were selling their credit-card purchase history to marketeers and from the history marketeers were able to predict that the couple were planning to have a baby and sent the baby product catalogs even before the lady was pregnant!  
                                        You think it is impossible? I can prove it to you that it is very easy to predict such things using Data Analytics if you have a persons credit history, in other words 'Person's Personal Spend Data'. How could a company share/sell your credit card history with some other company? Well when you took the credit-card you never told the company to not use your purchase history for future marketing (Did you even ask them what they do with your data?) so if you decide to sue the company then it will be a long court fight & few people have sued companies for breach of privacy (or what ever legal term is used now) and managed to get compensated for misuse of complete or partial personal data.

Have you ever wondered why websites start displaying ads about a product that you have viewed on Facebook or a product relevant to a post that you recently viewed on Facebook? For example I viewed 'Eurovigil Eureka Forbes Page' on Facebook and within seconds when I went to IRCTC website it showed me Eurovigil ads (I disable cookies on my laptop so it was not because of cookie tracking!)  One of my friend who is not from software industry was excited that the websites were getting smarter and showing relevant ads! But how does a website get smarter? No magic here, the smartness comes from your personal information/data that you willingly share/upload or worse, data that is getting tracked without your knowledge. To give you a smart personal advice, why does a website have to know about you personal data - Age, M/F, City, Single/Married. Kids, Kids age, your company name, buying pattern, dressing style, electronics you use, financial status, do you use a 95K IPhone or are you a cheapo who uses 1.5k phone?  No offense, but that's how marketeers profile us and then sell the information to other marketeers. So if the website smartly suggests a product or service then you should know it has access to some information you directly/indirectly shared somewhere on the internet or else your credit card provider has shared with some company. Those of you who are not from IT would be surprised to know that new age companies keep a watch our your social-media post and use this data to understand customer sentiments, this science is called Sentiment Analytics & Predictive Analytics.  Let me tell you that not all companies use this data to spy on you, some companies use this data to prevent crime. For example Credit card companies 'ALSO' use huge computers to collect social media posts  (Facebook, Google, Twitter..) to prevent fraud, telecom companies use this data to prevent SIM fraud and also to decide costing of their mobile plans but the point is 'companies are all reading your posts every day and they perhaps know more about you than your close friends!

Software companies internationally have been fined billions of dollars for collecting, storing and misuse of personal data of users without taking users consent. Facebook, Google and other companies can afford to run lakhs of servers and thousands of employee to manage the server across the world & still not charge you a penny because they earn much more by SELLING PERSONAL DETAILS OF USERS. FB account holders like me who are aware usually provided minimal information on my Facebook account & in spite of the precaution FB is still profiling me from every FB post I read, every ad I click on FB, every comment I make on FB and then Facebook is tracking what you do. Facebook is .....(even Google does it)

  1. Storing the data ( because we gave FB permission to store data when we created an account and accepted the agreement without reading it) Tomorrow if you want to wipe of your personal data from FB you would be able to delete your account but you will never be able to remove the personal data which is already part of FB database and the persona data that FB shared with other marketeers.
  2. FB is using your data to create a virtual profile of you
  3. Using your data to push relevant ads to you
  4. Sharing/selling the virtual profile data to other websites (that's how IRCTC website's 'Advertisement Service' knows I am interested in Eurovigil)
  5. FB and similar websites know about you, though your post and friends they know 'names of each of your relatives and even have photos of your relatives and friends'
  6. Data is everything. We can create a virtual person, apply for credit cards and open bank account online without visiting the bank if we have the personal data of a person.

We are caught in the 'Internet Of Things Data Mess' and marketeers & companies that sell personal data are the big winners. As long as you use internet someone will soon get you personal details and your activities ( that's right not just Facebook & Google almost all websites collect personal data including location data). Your husband or wife may not know that you ordered the grocery while you were enjoying Cafe Latte at Coffee Day but "The Internet Companies Know It & Will Use The Information"  and there goes your right to privacy. What you can do is be careful while registering on website and using social media and not volunteer personal details that you feel should not be made public. For you to enjoy social media or get discounts from website you don't have to share details like whether you are single/married, who are your relations, your detailed address, your  company name etc. These details could be sold to some company and then to another company & so on till every marketeer knows about you.

How facebook collects data about users & non-users:


Facebook collects data from non-registered users in two main ways: From their browsing history and from their friends. 
  1. Websites that use Facebook’s advertising pixel (Like/Share button) – send data about those site visits back to Facebook (browsing history, IP…).
  2. “If those Like/Share buttons are on the page, regardless of whether you touch them or not, Facebook is collecting data,”
  3. So 'if you’re logged into Facebook with the same browser you use to surf the web, the company knows exactly who you are and the vast majority of the websites you visit' if you’re not logged in, the company can still associate the data with your IP address and all the websites you’ve been to that contain Facebook code.
  4. The other main way Facebook gets info: its contact upload feature => To link different accounts having same contact email or phone numbers. I would never advice you to share your primary email or phone number with Facebook or social websites.
Facebook track your location when you’re using its apps. Even without access to your accurate location data from the smartphone, Facebook uses information from your browsing habits, including IP address, Wi-Fi network, and Bluetooth to pinpoint your whereabouts and place relevant ads inside its apps. Facebook uses city and zip level location which Facebook collects from IP addresses and other information such as check-ins and current city from user profile. ( I always disable my location on my mobile phone - no one has any business to know my location!)

Solution to avoid/reduce tracking:

There are some tricks, too avoid getting tracked by internet service providers: 
  1. Using different email addresses for different services, and even different browsers, can help enhance your privacy, according to privacy experts we consulted. You can use primary email address for communication & create a 2nd email address (provide minimal or psuedo personal details) to register for various sites
  2. Using privacy browsers: Tor, Brave etc
  3. Using script blocking:  by using browser addon like Ublock origin, NoScript, PrivacyBadger
So if you are meeting someone handsome/pretty without your other half knowing about it don't use credit card to pay the bill & switch off both your cells to avoid location tracking or else 'The Boss' will find it out!



Friday, November 17

Real Time Tracking of Highway Development & Maintenance

The national highways network of India is a network of trunk roads that is managed and maintained by agencies of the Government of IndiaIndia has 100,087 km (62,191 mi) of national highways (NH) connecting all the major cities and state capitals as of June 2016. National highways comprise 1.7% of India's total road network, but carry about 40% of road traffic. 

Current government has ambitious plans for increase highway coverage & improving quality of highways. As Digital India spends more on infrastructure maintenance & new highway construction it is important to use Affordable & Available Technology to monitor the development and reduce pilferage of funds. By affordable & available technology I mean use of Mobiles Sensor, GPS, Big Data Analytics & Predictive Data Analytics. Managing & monitoring highway development projects can help government monitor work in REAL TIME'  (daily progress, as the works gets completed) and bring transparency. and implement Dynamic Investment by diverting money to projects that are financially more viable as compared to projects that are getting delayed due to unavoidable circumstances like unavailability of work force etc. 




A sound IT solution should help help government improve
1) Ensure Consistent Quality of highway construction across India (and also Water Ways which is another project initiated by the government)
2) Real Time Status of work- by collecting daily progress data using mobile phones and GPS sensors in mobiles
3) Avoid & restrict delays by leveraging the daily progress data feeds

4) Perform smarter fund allocation based on trust worthy data collected via GPS sensors and camera

5) Big Data processing can be used to progress this huge amount of data and get meaningful reports that can present reports of all development activities in a single screen, also called Dashboard

6) Predictive analysis as the name suggests uses all past data to predict what can happen in future. For example which projects will complete work before time & which project will make loss and why. How much work will get completed by the year end? Which projects are making optimum use of construction material and which projects are wasting funds?  

The following graphic illustrates how we can implement a simple solution to monitor road development with mobile devices. 


Digital in not limited to bottom-up or top-down approach, digital is everywhere. Today every one uses a smartphone and we promote use of smartphones to collect data in real time. Real time monitoring will help monitor progress, detect issues faster and avoid pilfering of public funds. Hope Govt of India builds a similar simple solution to monitor the Highway Development.

Sunday, November 12

How to become a Technology Architect

Almost every developer wants to be a technical architect one day but most are not aware of various responsibilities of an architect & the road-map to become an architect. Fact is the the role & responsibility of a Technology Architect changes and evolve in response to the specific business context, project size, complexity & phase, technical constraints & technology landscape of a particular project. Despite the great variation, that there are certain responsibilities that are common to the role of Technical Architect in a delivery project

  • Technology Vision,
  • Delivery Focus,
  • Technology Skill,
  • Customer Relationship.
  • Organization & Management 

Technology Vision

There are some important differences between the architect and developer. An architect must take responsibility for the overall technical direction of the project and the product whereas the developer will be given responsibility only at component-level. He or she needs to assure that it will stay open for changes and that these changes can be implemented in a technically excellent and cost-effective way.
This requires a rather different skill, in predicting and anticipating these requirements, and having strategies and plans in place. This isn’t just experience of the development project cycle but a matter of asking the right questions at the right time, most often at the very beginning of projects. The start of a project is generally a critically important phase, because all the decisions that are undertaken during this period can affect the success of the entire project, for better or worse: This is true even of agile projects.
In order to find the most appropriate architecture and components, the team must not only focus on determining the business goals and requirements but also on clarifying the functional requirements. These functional requirements will include cross-cutting concerns like performance, scalability, compatibility, internationalization, branding, security, auditing, diagnostics & logging, fail-over and disaster recovery. The consequences of ignoring any of these topics at the beginning of the project can be catastrophic, though a smart architect can transparently enable some of them later, by creating an architecture that is open for such changes or extensions. .
As part of the task of determining the architecture and components, the technical Architect must identify the most suitable technology stack and frameworks. The architect does some research, finds those third-party solutions that are most appropriate, and proposes how to integrate them. By using third-party components and frameworks, the efforts and energy of the team can be focused primarily on solving those challenging problems that actually require writing code.

Delivery Focus:

Responsibility for the quality and effectiveness of code is, of course, shared by the whole team; however, an architect needs to challenge the team and help it to implement even better code which meets industry standards. This can be achieved by evangelizing and promoting good principles & practices (SOLID, KISS, DRY), tools, metrics – or just by giving a good example in doing regular development tasks. This last aspect is very important because it helps the architect to stay close to the team and technical nuances as well as allowing him to double-check how well the proposed design materializes in code.

Technology Skill Development

An architect is an integral part of a team but, because of his experience, he has a large impact upon a team and imprints his mark on it. While proposing a solution, the architect must be sure that the team he is working in shares the same vision. This vision should be well understood and accepted by the team, so that the solution is correctly implemented. Moreover, the team should be able to take over the proposed solution, develop it and feel and act as is they own it. To achieve these goals a TA needs to work on two fronts: in addition to such obvious aspects as training, code review, daily coaching or a team’s involvement in the application design process, it may be necessary to align the solution to the skills and profile of a team – this applies both to the technology stack as well as to development tools.
Last but not least, as the project grows it is very important to delegate responsibility for some aspects of the application to the team so as to engender a good team spirit, and foster professional growth. At some point in the development cycle this may become a necessity, because the architect is not an expert in all the technologies and techniques that are used in a project.

Positive Customer relationship

The TA role, next to the Project Manager (PM) and Business Analyst (BA), is key in keeping a good relationship with the customer. This might take a different form depending on whether we are relating to the IT department or directly with business people within the client organization. Nevertheless, the most important foundation of this relationship is always mutual trust and understanding. Having the customer’s trust allows an architect to operate effectively with a high level of confidence. It guarantees a proper level of autonomy and shortens the decision-making process, allowing the architect to react quickly to emerging challenges that very often occur in agile projects. Of course, this trust is partially based on the proper records and registries, which make an architect’s job as transparent as possible. Depending on the project, the TA may leverage a decision log, technical debt log, risk & assumptions list, or just a product backlog, on which a TA keeps the key components or actions in the form of product backlog items.
Looking back at the history of the relationships with our customers in various projects, we noticed that the TA, BA and PM act as the voice of the team. They care collectively about the consistency of communication on a business- and technical-level. Proper cooperation of these roles empowers the team and allows it to move to a higher level of collaboration. Instead of just focusing on daily tasks, the team becomes a trusted software and competencies provider, a supplier who shares its practices, processes and values with a customer.

Delivery focus

Of course, all of the actions above should, as a consequence, lead the team and the project to a successful end, bearing in mind that, for the customer, the most important thing is the successful delivery of the project. Therefore, it is crucial for the architect to know the release plan and make certain that the technical vision fits it, by planning related actions (e.g. release support) and deliveries (creating packages, writing deployment scripts) on a project backlog and prioritizing them appropriately.
On the technical side, in addition to proper design, it is also important to take care of operational and infrastructure aspects; without consistently configured environments, a code repository, bug-tracking system, project-tailored continuous integration & deployment flow, the project delivery may be at risk. Obviously, as in previous cases, the TA does not have to do the work associated with the implementation of these aspects with his own hands; he rather collaborates with the PM and Release manager to ensure them and to deliver upon the team’s requests.

Organization activities

As well as all the project-based roles, Technical architects will bear responsibility for several organizational and management tasks. Technical architects in most organizations are organized as a virtual team that is engaged in many working with different tasks at the company level. They are responsible for the company’s technical competences by looking for new technologies and techniques, which are recommended to the developers and it engineers through training, workshops or newsletters. Additionally, experience gathered in many projects of a very different nature, empowers Technical architects to define an internal development infrastructure and standards like source code repository, bug management systems, code quality metrics and coding guidelines, Moreover, depending on Technical architects specializations, they also personally support projects, technology groups & communities and areas of specialization that arise on cross-projects / company level, like performance community, test automation group, Technology Architecture Groups, etc. It is especially important to support and foster this last group; Technical architects are aware how important is the reliable Continuous Delivery infrastructure and so they participate in a process of creating a company wide vision and standards in this area.
Technical architects  also ought to support thought-leadership initiatives in the areas of development and delivery. They provide very important input to the sales process by rendering work breakdown and estimates in all of a project’s winning phases. Finally, they very often act as line managers for developers, or mentors for Technical architects candidates. As the consequence they  play a very important role in the team members’ induction and growth by conducting the training and workshops or organizing coding events.

So get started on , empower yourself with relevant training and certifications that will help grow your understanding of different technologies and architecture and try for opportunities where you can work on small projects/modules that give you can opportunity to work as an architect. Don't be afraid of challenges and be willing to put extra hours to read/research/experiment with your architecture. Your experience will build your credentials which will help you get bigger opportunities and you will soon be on the move!

How to select a BPM (Business Process Management) product?

I have been working on implementing BPM since 2005 and one of my tasks as BPM Architect leading the BPM practice in my company was to do vendor comparison of software products and publish Accenture's  POV (point of view) about the software. As architects we also recommended best fit software to our client and our solution architects. BPM is one of the products that I have evaluated multiple times. I received an email from software engineers on how to select a BPM product and I decided to post my views on 'Software Product Selection' based on how we evaluated software for our clients, most of the clients were one of the Fortune 100 companies.
                     Gartner's Magic Quadrant & Forrester's Wave are 2 popular software vendor evaluations that I usually refer to get an idea of features and offerings of software products. These product evaluation and ranking are purely for reference as they consider many different criteria to position a software product as Leader, Visionary, Niche player or Challenger as Gartner classifies them. 

Here is Gartners Oct 2017 Magic quadrant for Intelligent Business Process Management Suites


And this is the Q1 2018 Forrester Wave Report


In the above chart I would not really worry about the X & Y coordinates of the software as long as they are both are Leaders quadrant or even in Niche Player or Visionaries or Challengers Quadrant if they offer the features that are important for my solution.  In fact, BPM is fast changing landscape and new features are offered almost every quarter.

If you are out to select a BPM product my recommendation is to
1) List key requirements of your solutions (do consider long term requirements as well)
2) Go through vendor comparison reports and product manuals and evaluate each vendors product features, have a look at the demo videos of these vendors
3) Select top 2 products that match your requirement.
4) Implement a prototype, ask your business users to go through the prototype  and then shortlist the BPM product.
5) Some vendors claim to have a various feature but in reality the feature could be part of their future enhancements and you may have to wait for 6 to 12 months to implement the feature. So make sure you discuss all the critical requirements of your solution with the vendor and ensure they are supported in the software version that is you intend to use.

For all you know your architect may recommend Pegasystems , or Appian or  IBM BPMor even TIBCO Active Matrix BPM based on your requirements. So do not blindly go by the Forrester Wave or Gartner Magic Quadrant, do your homework and you will not regret it. 

Understanding Generative AI and Generative AI Platform leaders

We are hearing a lot about power of Generative AI. Generative AI is a vertical of AI that  holds the power to #Create content, artwork, code...