Thursday, December 9, 2010

Turning the dice of innovation

The degree of benefit we derive from innovation will dependent on where we hit in the software development value chain and unearth the age out assumptions underlying it. For example the requirements management process will get streamlined if the team who does that converts the requirements to ‘objects’ by performing the object oriented analysis and gives the primary inputs to the architecture/design team at the level of activity diagrams and class diagrams so that the architecture will be robust and a service oriented one, thus easy to maintain and lower total cost of ownership for the client.

Here we are borrowing the practice of 'lean' from the manufacturing industry. Ofcourse it already exists in other forms like Agile/Scrum practices but in a different dimension. Another one is the rule of poka-yoke (forgive me for its spelling; in Japanese it means 'mistake proofing') and guitzhigembitzhu -3G (forgive me for its spelling; in Japanese it means going to the place where there is a problem and solving it then and there by asking the 5Ys, than thinking and solving from a far off table). So all these practices from Toyota Production System/manufacturing will definitely pre-empt the creep/change in requirements and scope to a significant extent.

The next thing could be the style of communication and understanding the personality types involved in various discussions at various stages of the project, since what they intend to say, what is being said, and what is being understood may not be same always. So cultural trainings to understand the context, awareness of NLP techniques and MBTI personality type will eliminate the communication issues to a significant amount; at least we will listen, empathize and build a better rapport with the client as well as our colleagues.

When we look at the construction industry (the oldest industry) right from the blueprint to execution different vendors are involved in supplying men and materials at different stages. The industry is tangible when compared to software, it might be counter intuitive now for the IT industry to adopt a similar model. Recently one of the big 4 companies had shown its intent clear, that they have sub outsourced the project to different small niche players and they took the critical part and the program management (a Chennai based firm is already doing that for the past couple of years), thus bringing high productivity and lesser cost. So in future with the emerging social technologies and virtualization, probably most of the work can be done from different corners of the world, and of course the  employees can login at their convenience hence bringing down significant cost savings on office space as well.

There are a million opportunities to increase the quality, productivity and to reduce the cost in the IT industry. Harvesting organizational learning is another great grey area which has not been taped to its potential. The question is ‘do we as an industry has an open mind’? The Indian companies needs to have people who have an open mind to connect the dots from diverse industries and a great passion for technology. Hope to see an era of people who are not specialists in anything to turn the dice of innovation!

Friday, August 20, 2010

The making of an effective BA


The BA(business analyst) role existed in the initial years to fulfill the gap between the business managers and the software developers. Since then the software development has advanced to new levels by borrowing the best practices from the other industries such as manufacturing and construction (the principles of lean management and objects/components oriented approaches) to make software development effort highly predictable, flexible, cost effective, high quality and easy to maintain applications & systems. 

BA shall be a business technologist (BT) for achieving the above objectives; the business requirements have to be broken down into 'objects' and the further these 'objects' have to be categorized into 'classes' ('Boundary', 'Entity' and 'control', refer http://en.wikipedia.org/wiki/Class_diagram) and map their inter-relationship through class/collaboration diagrams. When the BA does this work, the business requirement communication gap with the architect/design teams can be eliminated to a greater extent, since the BA has the best knowledge of the business requirement. From here the architect/design team can take off.

The Use Case and UML based approach to requirements gathering is more convenient to identify the 'objects' from the business requirements. Tools such as Rational Requisite Pro helps to organize, store, retrieve and manage requirements; tools such as Rational Rose helps to organize objects and group them into packages/components, draw the class/collaboration diagrams (from the identified objects & classes) as well as generate code automatically. Integration of these tools will facilitate the direct mapping of requirements to class diagrams, so that the changes in requirements can be managed easily.

So it's no longer business requirements gathering it's "Business Requirements Engineering" to create  a highly predictable, flexible, cost effective and easy to maintain applications & systems. That's why we hear the 'Open UP', 'Agile' & 'Scrum' practices often (refer http://www.eclipse.org/epf/general/OpenUP.pdf, http://www.jimhighsmith.com/articles/IEEEArticle1Final.pdf and http://www.cs.colostate.edu/~france/publications/AgileSE-draft.pdf), so that the changes in business requirements can be accommodated to the last extent possible and remain cost effective and in time! 

Hence the BA’s role straddles from business analysis to process improvement by incorporating the industry best practices and striving to create the next practices, identifying the opportunities for automation in the improved/redesigned business processes, converting the automation opportunities to business requirements, then decoding the business requirements to ‘objects’ by performing the object oriented analysis to give primary inputs to architecture/design team, guiding the development  and quality assurance teams to be on track and negotiate change, enabling the user acceptance tests and hand-holding the client to embrace the change in adopting to new systems and business processes, thus delivering exceptional business value. 

Sunday, August 15, 2010

How to identify the 'Use Cases' in a complex domain


The Standish Group reported that forty percent of the software projects fail due to poor requirements management; incorrect definition of requirements from the start of the project and poor requirements management throughout the software development lifecycle. One way to help ensure the success of a project is to implement an effective requirements management process. Requirements management offers numerous benefits such as improved predictability of a project's schedules and deliverables, reduced project costs and delays, improved software quality, better team communication, greater compliance with standards and regulations.
The objective of this approach is to identify and capture the business requirements in the form of 'Use Cases' in a domain or system that is like a ‘black box’ to the analyst. The first five steps listed below shall be overlooked if you have a great understanding of the domain or system, in a sense you will intuitively do those steps in your mind. For example, if you already knew the sales processes and want to build a system to process sales leads, you could quickly identify the scope and the use cases by thinking of the processes  or tasks that users would need to accomplish in the system. You could quickly come up with: Enter Lead, Edit Lead, Route Lead, Cancel Lead, Work Lead, Print Lead, Sell Lead etc., so you can jump into the 6th step directly; whereas this approach is a generic one, it will be helpful in a domain or system that's like a 'black box' for the analyst.
  • Follow the steps to capture the business requirements as Use Cases: 
  1. Identify all the stakeholders of the proposed system.
  2. Identify the roles and responsibilities of each stakeholder. 
  3. Identify the primary flow in the system, and divide the primary flow into multiple stages.
  4. Identify all the major activities of the identified stakeholders, their major inputs and corresponding major outcomes, for each stage.
  5. Identify the interrelationships of the major inputs and the major outcomes w.r.t the identified stakeholders in each stage.
  6. Identify the major transactions in each stage through the proposed system, which is a subset of major inputs and major outcomes.
  7. For each identified transaction in each stage, identify the primary actor and their goals, along with the secondary actors.
  8. All the identified goals in each stage will form the cloud level use case (each goal will be a separate use case).
  9. Start writing the use cases for each stage, and limit the basic flow to a maximum of 7 steps.
  10. Hence split each cloud level use cases into user or sea level use cases for each stage.
  11. Draw the UML diagrams based on the interrelationships of the sea level use cases for each stage.
  12. Identify the missing use cases from the logical disconnect (if any) of the sea level use cases through UML diagrams, in each stage.
  13. Identify the missing use cases (if any) w.r.t the roles and the responsibilities of each stake holder within in the proposed system.
  14. Write the use cases for the newly identified use cases, go to step 9 (continue the loop till it's sufficient to cover all transactions through the proposed system).

Tuesday, March 23, 2010

Nurturing the real assets of 21st century

Today the organizations are facing challenges on different fronts than ever before, due to the advent of technology, demographic spread, linked economies and changing lifestyles. Due to the advent of World Wide Web and the increased mobility of people, the focus has shifted from nation states and societies, to the communities and more importantly to the individual itself.

The most vital asset of an organization is its people, since it’s they who convert low yielding resources to high yielding ones, thus creating the customer perceived value. In this context every employee counts, since they determine the future of organization. There comes the thought, how to create a high performance organization? In an economy filled with knowledge workers, the freedom, flexibility and mobility of employees are the key to enable volunteerism, thus extracting higher productivity. This is a challenge to the existing management theories and structures, which advocates employee supervision to extract employee productivity and accountability. Here is where the disruptive social networking technologies like web2 becomes handy, to achieve the best of both the worlds with employee- customer centricity.

Performance management is one of the core functions which facilitate organizational productivity. The existing performance management systems follow the assumptions and organizational hierarchy, based on employee super vision model. This impedes the creativity and volunteerism required, especially in the development sector. On the other side, the development sector also requires high accountability in terms of efforts, funds deployed and the resultant social impact. Businesses are a set of processes that are interconnected. In other words processes cannot stand alone, if we were to optimize them. When we address performance management process, we need to address the immediate interconnected processes such as competency, recruitment, training, leave management, payroll, benefits administration etc. Hence a sound performance management system is a sub set of a people management system.

In development sector, the action is always on the ground, on a far of geography, usually a remote rural landscape. To create high social impact, the employees in this sector requires to be volunteers, for that they need freedom, flexibility, mobility and information connectivity. This calls for a paradigm shift from centralized to a non centralized style of operation, more precisely a project based style of working. How can we balance this with the requirements of development sector, like high accountability in terms of efforts, funds deployed, social impact etc. The information and feedback loop arising out of disruptive social networking technologies can bring the required productivity, transparency, accountability and focus to the development sector.

In 21st century, the employees are no longer going to be inside office; they are getting deployed outside office, with almost zero personal super vision. The employees and offices are going to exist online, in the lap of disruptive social networking technologies. With the help of
social networking technologies, we can embrace the new paradigm in people management, without compromising the benefits of old paradigm. This is an endeavor to create the peoples system for the 21st century. The core components of the envisaged people management system are shown in the figure below:


An organization is a bundle of projects and resources. Optimal use of resources can achieve the project goals and thus organizational objectives. The configurability of resources based on project requirements (like lego-bricks) is an ideal state for achieving project goals. When the competency dictionary is well defined; as soon as a new project is registered, the system throws up the project competency requirements and resources with matching competencies as well as their slack time. Thus resources are configured to projects in real time.

The impact of the projects is measured through feedbacks from all project stakeholders. The social networking technologies connecting hand held devices (like mobile phones, which have a high market penetration) with the web, opens a new feedback channel for true customer centric measurements of social impacts. These measurements can become the back bone of performance management. The project impact and people performance are rated, these ratings are collated for each project, to a centralized repository. Thus every employee has rating scores for all the projects during the year, which can be used for the performance appraisal. The social web architecture also provides a convenient platform for 360 degree feedback mechanism.

The project competency requirements and feedback mechanisms, provides the input for training & development as well as recruitment processes. The employees have the facility to use employee directory to network with any other employee; which facilitates collaboration, knowledge sharing, socialization etc in the best interest of the organization. The employee efforts are captured online. The employee efforts are logged against the projects (the employee is involved), which provides the input to leave management process. The leave management and the performance management processes give the input to payroll and benefits administration process.

The distinguishing feature of this people management system is the application of web2 social networking features and technology. This provides the freedom, flexibility, mobility for employees to be highly productive, thus creating a high performance organization.

Riding the productivity wave through BPR

Traditional definition puts business process reengineering (bpr), as radical rethinking and fundamental redesign of business processes to yield dramatic results in the contemporary measures of cost, quality and service. Getting dramatic results implies there can be a gross difference in the way ‘things can be done’, from ‘what is being done’ currently. Either the stakeholders (anybody who is directly or indirectly involved in the operations) are ignorant on the operational side or on the technological side or both, or unaware of the global best practices. Most of the times it’s the ignorance of technological advances and best practices, which leads to gross inefficiency, by assuming near rationality of stakeholders.

By nature technology can promise only speed, scale and transparency to organization. Mere automation of existing structures and systems breeds more inefficiency or at the best does marginal improvements. Adoption of technology is as important as identification of the same itself. ‘What can the new technology do, which is not done currently’, is a pertinent question, rather than asking ‘how technology can automate what is being done currently’. The pertinent question shall lead to technology identification as well as adoption.

Identifying the best practices can be quite tricky, since how can it be ensured that, ‘what is identified is the best-in-class’ or how can it be verified, ‘what is best-in-class is best for particular organizational context’; but the awareness yields to better design of structures and systems.

By nature, reengineering transforms organization from the functional silos to a process centric enterprise. For that, the organizational strategies are broken down into operational goals, and teams are formed to realize the set goals. Each operational goal(s) will be characteristic of a process (a collective mindset of stakeholders to achieve a predefined output, which is of value to the customer, by doing a set of activities sequentially or parallely).

To reengineer the businesses means to reengineer the existing business processes. For that, the underlying rules and assumptions behind the existing structures and systems have to be drill down and analyzed. While doing this, keep in mind ‘what is of value to the customer’, ‘what are the non value added elements (to enable value added activities)’, and ‘what are the wastes’ that can be totally eliminated. Hence maximize value added elements, minimize non value added elements, and eliminate waste while redesigning the business processes. Once the design is ready, look at the available technologies (considering cost benefit analysis), for automating the redesigned processes to the extent possible. The piloting of the newly designed processes and measuring their key performance indicators, shall reveal the improved business productivity (a function of efficiency and effectiveness).

The best practices helps to identify the gaps vis-à-vis the existing processes to get a fair idea for re designing the business processes. Technology should be chosen accordingly to fit the newly envisaged processes. The change management needs to address the behavioral issues in the new process centric environment, for enabling the symbiotic relationship among people, process and technology. In a nutshell, the reengineering engagements try to rediscover and reinvent the businesses for achieving stakeholder delight!

Thursday, March 4, 2010

What is interest rate?

Interest rate has so many components as per the theory of finance such as the duration, inflation, default risk, cost of funds etc..but then what is beyond the obvious about interest rates, which the world doesn't know about it?


Watch out for this space in future!

Monday, February 22, 2010

Universal Access to Financial Services

Access to finance at consumable cost is an unresolved problem in large hetrogenoius geographies with distributed population having low incomes; because the current service delivery model is a network of hard elements such as the flow of paper cash, file of documents, stack of collaterals, array of staff, machines to scale operations, and a branch to run the show.

The hard elements refuse to scale beyond a point to make economic sense; because there are vital assumptions behind each of them, when they came into being. The world has changed ever since, but still we play the game with old assumptions!

Assumptions behind 'Hard Elements'

1.Cash:- The currency still exists in paper form, this is a legacy inherited from time immemorial as there were no electronic scorecards at that time.

2.Documents:- Again a legacy issue, the only way known to our predecessors to make the people accountable for future.

3.Collaterals:- A menas to mitigate and manage the unpleasant outcome (risk), our predecessors want a control over a solid material.

4.Staff:- To manage the movement and maintenance of Cash, Documents and Collaterals, the human intervention at every stage is unaviodable.

5.Machines:- To manage the scale of operations requires different kinds of machines such as computers, telehones, ATMs etc.

6.Branch:- To house and connect the above CDCSM elements, there needs a branch i.e. B=f(CDCSM)

Discovering Universal Financial Access

* Can we replace Cash? :- It is possible to have an electronic scoring card, so no need to move money from one branch to another branch or ATM. This saves the printing cost of paper cash, storage cost, transfer cost and above all the access cost; since the electronic card gets updated by the electromagnetic waves directly from the satellite. So wherever in the world we go, the electromagnetic money follows us.

Imagine a world in which, wherever we go for any commercial purchase, this card get automatically connected to the vendor's electronic score card in WiFi mode, and when we authorize it debits our electronic score card and credit the vendors electronic score card; after computing the exchange rate in case we are in a foreign land.

Like a radio or TV, every home will have a financial handset. Using the financial handset menu, we can buy different financial services from different service providers using our electronic score card.

* Can we replace Documents: - When we have a unique biometric identity with the electronic score card, all transactions will have an electronic trail, in such a scenario the need for documentation is obsolete.

* Can we replace Collaterals: - If the creditors can barcode the customer’s assets using special waves from the financial handset, nobody will be able to buy the pledged assets without removing the creditor’s barcode. So the customers can still keep the assets with them as usual, so the creditor saves the material handling and storage costs. i.e. we can give a jewel loan in Uganda by sitting anywhere in the world!

All assets will have an asset ownership & identification code provided by the asset manufacturer, thus we know the asset quality and the actual asset owner. When asset owner sells the assets, the ownership details are updated.

* Can we replace Staff: - Since everything is done by electromagnetic waves electronically, so no need for operational staff!

* Can we replace Machines:- There is no need for computers or ATMs, since all transactions happens electromagnetically.

* Can we replace Branch: - Since there is no need for staff or machines, there is no need for any roof at all.

Key Benefit:- Universal Financial Access to anybody anywhere anytime!

The New World Requirements!

• Availability of electromagnetic score card & financial handset technology
• A sea change in financial regulations
• A sea change in legislations