1. Application Development for Banking
IT Application
Development
Fundamental concepts and best practices in Application
Development for Financial Institution
2. Application Development for Banking
Information
System
2
The definition
Britannica
Information System,
an integrated set of
components for
collecting, storing,
and processing data
and for
providing informatio
n, knowledge, and
digital products.
Wikipedia
An information system (IS) is a
formal, sociotechnical, organizational system
designed to collect, process, store,
and distribute information.From a
sociotechnical perspective, information
systems are composed by four components:
task, people, structure (or roles), and
technology. Information systems can be defined
as an integration of components for collection,
storage and processing of data of which the data
is used to provide information, contribute to
knowledge as well as digital products that
facilitate decision making
The term "sociotechnical"is a broad way to
combine people-oriented and technology-
oriented practices and projects.
3. Application Development for Banking
Application
Development
3
The definition
3
A process of designing, building, and implementing software applications.
Can be done by large teams working on projects, or by a single freelance
developer.
Application development defines the process of how the application is
made, and generally follows a standard methodology.
What to consider?
⢠The size of the project
⢠How specific the requirements are
⢠How much the customer will want to change things,
⢠How large the development team is,
⢠How experienced the development team is,
⢠and the deadline for the project.
What is it?
4. Application Development for Banking
Common
Methodology
4
Application development is
closely linked with the
software development life-
cycle (SDLC).
4
⢠Originated in 1960s, completely defined in 1971.
In those days,
⢠Mainframe computers filled entire rooms
⢠define processes and equipment centered on building large
business systems.
⢠small team,
⢠centralized system,
⢠âlessâ demanding user.
However,
⢠technology has evolved,
⢠systems have become increasingly complex
⢠users have become accustomed to well-functioning technology.
⢠Models and frameworks have been developed to guide companies
through an organized system development life cycle.
History
Today,the traditional approaches to
technology system development have been
adjusted to meet the ever-changing, complex
needs of each unique organization and their
users.
5. Application Development for Banking
Will overs in this section:
⢠What is SDLC (Software Development Life Cycle)?
⢠Why SDLC?
⢠SDLC Phases & Output
⢠Phase 1: Requirement collection, analysis & Budget
⢠Phase 2: Feasibility study
⢠Phase 3: Design
⢠Phase 4: Coding
⢠Phase 5: Testing
⢠Phase 6: Installation/Deployment
⢠Phase 7: Maintenance
⢠Popular SDLC Models
SDLC
Software Development Life
Cycle
6. Application Development for Banking
SDLC
6
The definition
What is it?
Software Development Life Cycle is a process that produces software with
the highest quality and lowest cost in the shortest time possible.
SDLC provides a well-structured flow of phases that help an organization
to quickly produce high-quality software which is well-tested and ready for
production use.
ISO/IEC 12207 is an international standard for software life-cycle
processes. It aims to be the standard that defines all the tasks required for
developing and maintaining software.
7. Application Development for Banking
SDLC
7
Why is it important?
Why SDLC ?
Prime reasons why SDLC is important for developing a software system.
⢠It offers a basis for project planning, scheduling, and estimating
⢠Provides a framework for a standard set of activities and deliverables
⢠It is a mechanism for project tracking and control
⢠Increases visibility of project planning to all involved stakeholders of the
development process
⢠Increased and enhance development speed
⢠Improved client relations
⢠Helps you to decrease project risk and project management plan
overhead
8. Application Development for Banking
SDLC
8
Why is it important?
2 Approached
Predictive SDLC Predictive SDLC
Requirement well
understood and well
define.
ď Low technical risk
Requirement and
needs uncertain.
ď High technical risk
Methodology
⢠Waterfall Model
⢠Modified WaterfallModel
⢠Spiral Model
⢠IncrementalDevelopment
Assumption
⢠Can be plan in advance
⢠System can be developed
according to the plan
⢠Iterative
⢠Must be flexible & adaptive
9. Application Development for Banking
Flowchart Power Point 9
7 Primary Phases
SDLC Phases
PLANNING
ď§Review project requests
Prioritize project
requests
Allocate resources
Identify project
development team
ANALYSIS
ď§Conduct preliminary
investigation
Perform detailed
analysis activities:
⢠Study current system
⢠Determineuser
requirements
⢠Recommend solution
DESIGN
ď§Acquire hardware and
software, if necessary
Develop details of system
IMPLEMENTATION
ď§Develop programs, if
necessary
Install and test new
system
Train users
Convert to new system
SUPPORT
ď§post-implementation
system review
Identify errors and
enhancements
Monitor system
performance
TESTING
DEVELOPMENT
The software development life cycle originally consisted of five stages instead of seven.These included planning, creating,
developing,testing, and deploying.Note that it left out the major stages of analysis and support (maintenance).
10. Application Development for Banking
Flowchart Power Point 10
SDLC Output
TESTING
DEVELOPMENT
PLANNING ANALYSIS DESIGN
IMPLEMENTATI
ON
SUPPORT
Requirement
Document
Project
Management
Plan
(Charter)
Project
Implementati
on Notice
Operation
Acceptance
SystemTest
(SITUAT)
Requirement
Review &
Approval
Prototype
Internal/
External
Technical
Requirement
Functional
Requirement
Statementof
Work
Requestfor
Information,
RFP, RFQ
Project
Budget/ IT
Investment
Change of
Scope
Document
Code Review
Test
Summary
Acceptance
Document
Design
Review
Change
Control Log
Change Control Process
DetailProject
Development < - - - - - - - - - - - - - TRAINING - - - - - - - - - - - - - >
< - - - - - - - DOCUMENTATION - - - - - - - - >
Project
Approval
Memorandum
11. Application Development for Banking
PLANNING
11
Gather inputs from all the stakeholders and domain
experts in the industry.
Planning for the quality assurance requirements and
recognition of the risks involved.
This stage gives a clearer picture of the scope of the
entire project and the anticipated issues, opportunities,
and directives which triggered the project.
Requirements Gathering stage need teams to get
detailed and precise requirements. This helps
companies to finalize the necessary timeline to finish
the work of that system.
Identification
of the system
for
development
Creation of
project plan
The planning phase will determine project goals and
establish a high-level plan for the intended project.
Planning is, by definition, a fundamental and critical
organizational phase.
There are three primary activities involved in the planning
phase:
Feasibility
assessment
12. Application Development for Banking
PLANNING
12
BUDGET
there are many components necessary to build a
budget, including direct and indirect costs, fixed and
variable costs, labor and materials, travel, equipment
and space, licenses and whatever else may impact the
project expenses.
To meet all the financial needs of the project, a project
budget must be created thoroughly, not missing any
aspect that requires funding.
Seven essential steps toward creating and managing
your project budget:
1. Use Historical Data
2. Reference Lessons Learned
3. Leverage Your Experts
4. ConfirmAccuracy
5. Baseline and Re-Baseline the Budget
6. Update in Real Time
7. Get on Track
7 Steps
13. Application Development for Banking
PLANNING
13
1 UnrealisticExpectations
Many expect that 100% of the teamâstime will be booked. As much as you may
wish it were true,it isnât at all.
2 FailuretoCross-reviewTaskRequirements
A good starting point for cost estimatesand developmenttimelinesis a cross-
reviewof the key task or project requirements
3 FailuretoDefinean MVP
Sometimes,a minimum viable product (MVP) can resultin a betalaunch and
eliminatewaste.
4 FailuretoSecureFundingfor150%of theEstimate
A software developmentproject is never really done. This means that thereare
more ideas and featuresthan the budget can cover.
5 AllowingStakeholderstoThinkAnyWorkIsFree
In a stakeholderâs mind, proposed timelines,deadlines, and budgets are set in
stone. They may think that theyhave now paid for these features.
6 FailuretoFactorin Tax
Another easy mistake to make when making a software developmentbudget is
not factoring in tax
7 IncompleteScopeDefinition
Scope changes almost always occur, adding expensesto the project.
8 FailuretoControlScopeChanges& Creep
When managing and controlling a large project, communication is vital. Good and
frequentcommunication will help the project to flow smoothly.
9 FailuretoImplementMaintenanceCosts
Most people focus on the writing and designing of the application. The costs,
implementation,and costs of maintenance afterwardare often things that are in
the back of their minds.
10 FailuretoAllowTimeforResearch
Formalizing evaluation and research times are key to developing bettercost
estimates.
11 TreatingEstimatesAs IfSolidNumbers
Sticking to a fixed price too firmlyand being completelyinflexible is a bad thing.
12 AttemptingIn-HouseDevelopment
Some companies decide to develop an app on their own.It may seemlike this is
the cheapest way of developing an application. In fact, itâs the most expensive
methodof doing so
BUDGET - The 12 MISTAKES
14. Application Development for Banking
ANALYSIS
14
Once the requirement analysis phase is completed
the next SDLC step is to define and document
software needs.
This process conducted with the help of âSoftware
Requirement Specificationâ document also known as
âSRSâ document.
It includes everything which should be designed and
developed during the project life cycle.
There are mainly five types of feasibilities checks:
ď§ Economic: Can we complete the project within the
budget or not?
ď§ Legal: Can we handle this project as cyber law and
other regulatory framework/compliances.
ď§ Operation feasibility: Can we create operations
which is expected by the client?
ď§ Technical: Need to check whether the current
infrastructure & computer system can support the
new software
ď§ Schedule: Decide that the project can be completed
within the given schedule or not.
Feasibility Study
15. Application Development for Banking
DESIGN
15
In this third phase, the system and software
design documents are prepared as per the
requirement specification document.
This helps define overall system architecture.
This design phase serves as input for the next
phase of the model
2 Level Design
High Level Design :
⢠Brief description and name of each module
⢠An outline about the functionality of every module
⢠Interface relationship and dependencies between
modules
⢠Database tables identified along with their key
elements
⢠Complete architecture diagrams along with
technology details
Low Level Design :
⢠Functional logic of the modules
⢠Database tables, which include type and size
⢠Complete detail of the interface
⢠Addresses all types of dependency issues
⢠Listing of error messages
⢠Complete input and outputs for every module
16. Application Development for Banking
DEVELOPMENT
16
In this phase, developers start build the entire
system by writing code using the chosen (and
approved) programming language.
2 Level Design
High Level Design :
⢠Tasks are divided into units or modules and
assigned to the various developers
⢠Longest Phase in SDLC
⢠In the coding phase, tasks are divided into units or
modules and assigned to the various developers
⢠Developer needs to follow certain predefined
coding guidelines
⢠They also need to use programming tools like
compiler, interpreters, debugger to generate and
implement the code.
⢠Developer will perform Unit Test prior deliver the
objects for further testing
17. Application Development for Banking
TESTING
17
Once the software is complete, and it is
deployed in the testing environment.
Testing
⢠IT team will ensure the readiness of the test
environment
⢠IT team will first perform the System Integration
Test (SIT)
⢠User will perform User Acceptant Test (UAT) to
test out the functionality of the new system.to
verify that the entire application works according
to the customer requirement.
⢠During this phase, QA and testing team may find
some bugs/defects which they communicate to
developers. The development team fixes the bug
and send back to QA for a re-test.
⢠This process continues until the software is bug-
free, stable, and working according to the business
needs of that system
⢠There are several other testing like regression test
might also needed.
18. Application Development for Banking
IMPLEMENTATION
18
Once the software testing phase is over and no
bugs or errors left in the system then the final
deployment process starts.
Based on the feedback given by the project
manager, the final software is released and
checked for deployment issues if any.
Implementation Checklist
⢠Change Control Board (CCB) approval
⢠Completing and submit all requires project
document
⢠Infrastructure readiness
⢠Support Team readiness
⢠Socialization
⢠Other approval i.e. regulatory etc.
⢠D-Day Checklist
⢠Completion of training
19. Application Development for Banking
SUPPORT
19
Activities that happen once the new system has
been successfully implemented and Production
Assurance Test (PAT) has been done and
approved.
Support & Maintenance
Once the system is deployed, and customers start
using the developed system, following 3 activities
occur
⢠Bug fixing â bugs are reported because of some
scenarios which are not tested at all
⢠Upgrade â Upgrading the application to the newer
versions of the Software
⢠Enhancement â Adding some new features into the
existing software
20. Application Development for Banking
Flowchart Power Point 20
5 Popular SDLC
Models
SDLC
V-shape
Big Bang
Agile
Waterfall
Spiral
21. Application Development for Banking
Water
Fall
21
⢠This SDLC (Predictive)
model is the oldest and
most straightforward. With
this methodology,we finish
one phase and then start
the next. Each phase has its
own mini-plan and each
phase âwaterfallsâ into the
next.
When to use?
⢠The project
requirements are
clear, unambiguous,
and detailed
⢠The product definition
is stable
⢠The tech stack is
predefinedand not
dynamic
⢠Extensive resources
with the necessary
expertise are available
⢠The project is short
Disadvantages
Advantages
⢠The processesare
handled and
completed one at the
time
⢠The key points are
easy to define
⢠Setting the task
priorities is
effortless
⢠Easy to plan the
development budget
and time
⢠Works great for
smaller or middle-
size projects where
the requirements
are transparent
⢠Not suitable model
for complex,long,
and object-oriented
projects
⢠The product is
integrated at the
very processend
⢠Canât identify the
possibleproblems
beforehand
⢠It is not suitable for
projects that have
changeable
requirements
⢠CR may cause
problems
⢠High risk and
uncertainty amount
22. Application Development for Banking
Agile
22
⢠The Agile SDLC (Adaptive)
model separates the
product into cycles and
deliversa working product
very quickly.This
methodologyproducesa
successionof releases.
Testing of each release
feedsback info thatâs
incorporated into the next
version.
When to use?
⢠The changes need to
be implemented
⢠The project
requirements arenât
well-thought
⢠More attention to risk
management is
required
⢠Project requiresmore
freedomin time and
actions
Disadvantages
Advantages
⢠Rolling back
requireslittle time
and cost.
⢠Givesmore flexibility
to the developer
team
⢠The iterations are
short and clear
⢠Flexibility,
minimizing the risks
⢠First operating
product version is
releasedquickly
⢠Minimal resource
requirements
⢠Enhances the
teamwork and
cross-training
⢠The final product
cost is difficult to
measure
⢠New changes may
not interact with the
developed
architecture
⢠Expert development
team required and
customer-oriented
⢠The final product
may be delivered
later than the
scheduleddeadline
⢠Highly relying on
users,who can drive
the project to a bad
turn.
23. Application Development for Banking
V-shape
23
⢠An extension of the
waterfall model,this SDLC
methodologytests at each
stage of development.As
with waterfall, this process
can run into roadblocks.
When to use?
⢠The project is small
and all the
requirements are
clear
⢠Qualified software
engineers, especially
testers are available
⢠The project requires
thorough testing
⢠Exhaustive technical
resourcesare
available
Disadvantages
Advantages
⢠Each stage has
definite outcomes so
it is easy to manage
⢠Phases are
completed one by
one
⢠Testing is performed
in the early stages
⢠Clear and easy-to-
use
⢠Project management
and tracking results
are simple.
⢠Not flexible
⢠Relativelyhigh risks
⢠Phase iteration is not
supported
⢠Handling concurrent
events is difficult
24. Application Development for Banking
Big-bang
24
⢠This high-riskSDLC model
throws most of its
resourcesat development
and works best for small
projects. It lacks the
thorough requirements
definition stage of the other
methods.
When to use?
⢠The project is small
and practical
⢠The developerteam is
small (one or two
software engineers)
⢠The release date is not
defined by the
customer
Disadvantages
Advantages
⢠No planning required
⢠Few resources
necessary
⢠Simple and flexible
for developers
⢠Is aimed at fast
product delivery
⢠Too easy for
complicated projects
⢠High risks of
misunderstanding
⢠Can get very
expensive if the
requirements are
not clear
⢠The project can be
restarted if there are
misunderstandings
25. Application Development for Banking
Spiral
25
⢠The most flexibleof the
SDLC models,the spiral
model is similar to the
iterative model in its
emphasis on repetition. The
spiral modelgoes through
the planning, design, build
and test phases over and
over, with gradual
improvements at each
pass.
When to use?
⢠The budget is limited
and risk evaluation is
significant
⢠The customer is not
sure about the project
requirements
⢠The projects with high-
risk level
⢠Projects with complex
requirements
⢠For long-lasting
projects according to
the possibilityof
changes
⢠Customer feedback is
essential, especially
for new product lines
⢠The user needs are not
defined
Disadvantages
Advantages
⢠Adjustability to
changing
requirements
⢠Enables wide usage
of prototypes
⢠The system is
deliveredto the
users early
⢠The riskiest parts of
SDLC can be
managed more
thoroughly
⢠Complex
management
⢠Could be costly for
small or low-risk
projects due to
change
implementation
⢠Spiral many continue
indefinitely
⢠The project end is
hard to foresee
⢠A lot of small stages
need exhaustive
documentation
support
26. Application Development for Banking
SDLC
26
The conclusion, choosing
the right model
The Right Model
How to pick the right life cycle model for your software development
project? Here are the main criteria to take into account:
⢠Team size and their expertise
⢠Necessary technology
⢠Team location
⢠Project type and size
⢠The need for risk management and quality assurance.
Conclusion
During the evolution of SDLC, different models emerged from the basic
waterfall methodology to meet various requirements and expectations.
There is no all-purpose model that works well for all projects, conditions,
and cost requirements.
27. Application Development for Banking
SUMMARY
27
1. The Software Development Life Cycle (SDLC) is a systematic process for building software that ensures the quality and correctness
of the software built
2. The full form SDLC is Software Development Life Cycle or Systems Development Life Cycle.
3. SDLC in software engineering provides a framework for a standard set of activities and deliverables
4. Seven different SDLC stages are 1) Requirement collection and analysis 2) Feasibility study: 3) Design 4) Coding 5) Testing: 6)
Installation/Deployment and 7) Maintenance
5. The senior team members conduct the requirement analysis phase
6. Feasibility Study stage includes everything which should be designed and developed during the project life cycle
7. In the Design phase, the system and software design documents are prepared as per the requirement specification document
8. In the coding phase, developers start build the entire system by writing code using the chosen programming language
9. Testing is the next phase which is conducted to verify that the entire application works according to the customer requirement.
10. Installation and deployment face begins when the software testing phase is over, and no bugs or errors left in the system
11. Bug fixing, upgrade, and engagement actions covered in the maintenance face
12. Waterfall, Incremental, Agile, V model, Spiral, Big Bang are some of the popular SDLC models in software engineering
13. SDLC in software testing consists of a detailed plan which explains how to plan, build, and maintain specific software
28. Application Development for Banking
DESIGN
28
In this third phase, the system and software
design documents are prepared as per the
requirement specification document.
This helps define overall system architecture.
This design phase serves as input for the next
phase of the model
HLD vs LLD
PARAMETER HLD LLD
Abbreviation For High Level Design Low Level Design
Philosophy Overall NetworkDesign describing
relationship betweenvarious system
modules and functions.
Detaileddesign depicting
in depth information of the
HLD.
Translation Converts Business Requirementinto
High Level Solution.
Converts High Level
Solution to Detailed
Solution.
Chronological order in
design phase
Created1st in chronological order. CreatedafterHLD has
beendesigned and agreed.
Related terms Zones, Traffic flows, high level
connectivityacross various entities.
VLAN, Port numbering,
configurationsettingsetc.
CreatedBy Solution Architect Designer
Target Audience Used for management,Program and
solution teams.
Used for Designers,
Operation Teams and
Implementers.
ExpectedOutcome Requiredto understandflow across
various system entities.
Is input for creating
configurations and
troubleshooting.
Editor's Notes
Photo by Kelly Sikkema on Unsplash
Photo by Kelly Sikkema on Unsplash
1. Use Historical Data
Your project is likely not the first to try and accomplish a specific objective or goal. Looking back at similar projects and their budgets is a great way to get a head start on building your budget.
2. Reference Lessons Learned
To further elaborate on historical data, you can learn from their successes and mistakes. It provides a clear path that leads to more accurate estimates. You can even learn about how they responded to changes and kept their budget under control. Hereâs a lessons learned template if you need to start tracking those findings in your organization.
3. Leverage Your Experts
Another resource to build a project budget is to tap those who have experience and knowledgeâbe they mentors, other project managers or experts in the field. Reaching out to those who have created budgets can help you stay on track and avoid unnecessary pitfalls.
4. Confirm Accuracy
Once you have your budget, youâre not done. You want to take a look at it and make sure your figures are accurate. During the project is not the time to find a typo. You can also seek those experts and other project team members to check the budget and make sure itâs right.
5. Baseline and Re-Baseline the Budget
Your project budget is the baseline by which youâll measure your projectâs progress once it has started. It is a tool to gauge the variance of the project. But, as stated above, youâll want to re-baseline as changes occur in your project. Once the change control board approves any change you need to re-baseline.
Project management software makes setting a baseline simple. Take ProjectManager, all you have to do is open up the settings on your Gantt and select set a baseline. Now you have the planned effort saved and you can compare it to your actual effort as you execute the project. You can reset the baseline as many times as you need during the project to always be able to measure your project variance instantly. Try our tool for free today.Â
Set baselines, track costs and more with our award-winning Gantt charts.Learn more
6. Update in Real Time
Speaking of changes, the sooner you know about them, the better. If your project planning software isnât cloud-based and updating as soon as your team changes its status, then youâre wasting valuable and expensive time.
7. Get on Track
The importance of having a project management software that tracks in real time, like ProjectManager, is that it gives you the information you need to get back on track sooner rather than later. Things change and projects go off track all the time. Itâs the projects that get back on track faster that are successful.
If you manage your project expenses using these building blocks youâre going to have a sound foundation for your projectâs success.
Project Budget Example
To further illustrate how a project budget is created, letâs pretend weâre making an app. The first thing youâll need to figure out is the costs for labor and materials. Youâll need programmers, designers, content developers a dev team, etc. It helps list all the tasks and assign the team to themâa hallmark of good task management. This way every penny is accounted for.
With the tasks broken down for the project and your team in place, youâll next need to look into whatever materials will be needed. Will they need laptops, other devices and equipment? This must be accounted for.
Now note other line items. There might be travel expenses and renting space to house the team. Then there are fixed items that are true for any project. These are things where the cost is set and will not change over the course of the project. Youâll also want a column for any miscellaneous costs that donât fit elsewhere in the budget.