Principles behind the Agile Manifesto

12 Principals of agile

  • Welcome changing requirements, even late in  development. Agile processes harness change for
    the customer’s competitive advantage.
  • Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  • Business people and developers must work together daily throughout the project.
  • Build projects around motivated individuals.Give them the environment and support they need, and trust them to get the job done.
  • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  • Working software is the primary measure of progress.
  • Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  • Continuous attention to technical excellence and good design enhances agility.
  • Simplicity–the art of maximizing the amount of work not done–is essential.
  • The best architectures, requirements, and designs emerge from self-organizing teams.
  • At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
  • Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Advertisements

Reference data Systems – Legacy Modernization and Transformation

What is Reference data, in the financial industry?

The Industry Definition of reference data is that foundational data that provides the basis to generate, structure, categorize, or describe business transactions. The Reference data is the basis to view, monitor, analyze and report on transactions.  The below diagram shows that there are five main elements of a financial transaction some of the  

Drivers for Legacy modernization of reference data systems

Reference data systems are critical for a bank or financial institution and are the core asset of the bank. These systems should be adequately managed, governed, enhanced in a systematic fashion. The reference data system impacts all the operational functions of a bank. However when it comes to managing these reference data systems to drive the business; most of the banks/financial institutes are using on old technology stack.

With the continuously changing regulatory requirements, increase physical and information security challenges it has become imperative for the banks to use the twenty-first-century technology ; to simply management of the financial instrument, client and counterparty accounts, market data, historical transactional data information like the settlement instructions, etc. to minimize the risk by reducing the overall complexity

Key Points considered for defining the modernization initiative at any financial institution

application-development

  • Decompose monolithic applications into discrete services and process flows by creating componentized applications and services which are agnostic in nature
  • Architect for real-time straight-through-processing prefers to eliminate batch cycles which help in moving the system from EOD process to near real time process
  • Segregation into business services and common services, which would decouple the core business service system with the common services. For example – creating a common module for tax calculation for different types of trades and asset service transactions
  • Provide centralized user access/experience via Securities Workstation, which reduces the complex configuration management systems. Users should be allowed to login into multiple systems using single sign-on
  • Business exceptions should be handled by a standard work-item management layer, having a proper workflow management system with 4 eyes (maker-checker) reducing the operational inefficiencies
  • Data stored in a golden master database, creating a golden copy helps reduce the overall risk associated with the operational workflow and running predictive analytics on top of golden copy database would yield a better result with higher confidence levels

 

Abhinav Gupta

Minimum Viable Business Analyst

That intersection is what is called the Minimum Viable Business Analyst (MVBA), and it defines a set of skills or knowledge that are useful to be an effective generalist business analyst, one who can work on almost any project

The above diagram is simple; the intersection of these skills is what makes a business analyst the most successful business analysts in today’s organization. When I started my career more than a decade back I thought I would structure my learning in every area of the diagram, but what I did not know was which area to focus. Initially, I tried learning everything, but then I realized there is so much to learn and there is not much time I have to master all the areas.

Any project that I did was completely different from what I did the last time. This could be due to any one or more reasons that the current project and the previous project is in the different domain, with the different set of stakeholders, Budget & Time constraints, Quality requirements and User requirements etc. The whole idea of being a business analyst is to create a new solution that business/user wanted.

In order to explain the MVBA and why the industry needs generalist or the intersection of the skills in BA as highlighted in the above diagram, I would try to explain in simple language.

Being a Domain Specialist

As a BA, the most important part is you should understand the language the customer is speaking in order to take down the requirement. One needs to understand the core business case why the user wants his product, what is his current set of problems and what is it trying to achieve at the end of the project. Having domain knowledge helps communicating both verbally or in writing easier for the BA and this is one of the most important skills which makes the BA a thousand times more effective as it helps to articulate what the client wants and also spell out the challenges he might have in the solution that he already has it in his mind. How many times the clients comes up with a pre-proposed solution and says “This is all I want…” an effective BA would help him see through the cracks of his solution and identify the leaks and give then a solution that avoids the leaks.

The fastest way to learn — Quick Googling of those terms will teach you some of the important concepts that would help you to understand the benefits and challenges in the current business process. Doing a quick comparative study of the competitors would help you to create a USP for your customer. Knowing domain in more details would help you to solve the problem in a different way and also how different business functions and layers of business talk to each other.

Being a UI/UX Expert

The UI/UX skill is in growing demand for a BA these days and having the UI/UX knowledge with the BA would make a winning combination. This is a primary job of the developer, so ask a UI/UX guy to do it but when he/she comes up with the design; ask them to walk you through each component one by one and explain to you what the system does. Now, what makes you a better business analyst is to ensure that the user experience is aligned to what would help the user to do his business in an easier way. Another thing is to ensure the system does not have complex UI, the design should be consistent and suite the technical as well as business requirements.

BA with UI/UX knowledge is a winning combination for a modern enterprise, as the solution must be found quickly to avoid costly delays in the project.

 

Imagine that you are in middle of a requirement elicitation workshop with the clients and it is getting difficult for the client to imagine the solution that you are proposing, Business Analyst may create wireframes the developer uses to produce the screens, and the developer may be responsible for decisions such as when to use a button vs. a link, or radio buttons vs. a drop-down menu to provide options to users. This would help to get the approvals from the client quickly and also give clients a sense of the look and feel of what the solution might be

The fastest way to learn– Talk to your developer/designer they would know the design patterns that they use. Trying out hands on some applications like Balsamiq to give the first-hand information to the designer. Participate in JAD sessions with the user, designer and the technical architects which help in understanding the UI/UX design decisions they would have taken in the past and also introduce you to the style guides and the UI libraries.

Being a Project manager

Until few years back the BA and PM were considered to be two separate skill sets, which is true today but a lot of the organizations these days have started having roles such as BA/PM. Being a PM is boring (No offense to all the Project managers) but most importantly you can’t run a project without a Project manager

Project management skills are the cement that binds everything, and learning this skill is a hard one, to be an effective project manager takes a lot of time and experience. You can read up all you want, but at the end of the day, it’s a human behavior problem. There are no shortcuts to enhance your interpersonal skills, communication skills and I think it only comes with time and experience and with dealing with people

An Effective Business Analyst needs to be a “PEOPLE PERSON” rather than a “PROCESS PERSON” in today’s agile environment

The fastest way to learn — in order to accelerate the learning process is to talk to people, understand the common problems encountered by your team and other project teams and how those problems were solved. Going thru the lesson learned documents of old projects there is a learning value to their philosophies behind their approaches.

Being a Tester

Testing is a specialized discipline, regardless of the size of the project there would always be a testing phase in that project and the success of the project depends on does the system is made as per the laid requirements. Unfortunately, the Business analyst does not give a lot of importance to testing. As a BA, you need to ensure that the product is built right which meets all the client requirements (even if that seems impossible).

As a BA need to be involved in testing and the focus should be on “breaking the product or the output” the testers are usually attempting to identify the faults in the product based on the document that the Business analyst wrote. It is almost inevitable that BA can document everything; there are always some unsaid requirements. It is not a tester’s domain to question whether it is a significant fault in terms of the overall outcome of the project. Resolving the fault with some workaround is not a tester job. Doing testing or User acceptance testing (UAT) is very important for a business analyst as all aspects of the analysis function may need to be quality-assured.

The fastest way to learn — The best way of learning how to test effectively is to Jump in the water and start swimming!! You can also read more about the testing methods on the internet or by grabbing the testing books.

 

WARNING!! Should not be a rabbit hole !! for a BA and you should know when to stop digging. One should also remember that there should be no conflict of interest with the Testing team as for a successful project delivery an Independent verification and validation is almost a must.

The whole concept of having a generalist or an MVBA (minimum viable business analyst) in today’s scenario varies from organization to organization, I think the intersection of the 4 skills is what is required to reduce the time of shipping of the project and delivering the value to the stakeholders in the most cost-effective manner with great quality.

Hope that this might have helped you in your quest to learn more and be a better and successful Business Analyst helping the organizations and their customers achieve their goals

Happy Reading!!

Abhinav Gupta @abhi13aug

Also at medium.com/@ABHI13AUG