1. One major long term goal in MMQ is to slowly shift their UIs
based in XAML to web technologies due to increased modulari-
ty, simplicity, cross-platform compatibility and powerful frame-
works and libraries.
Trading Analytics
We decided to use an agile de-
velopment model (XP), allo-
cating tasks into two-three
week sprints with weekly
meeting.
Morgan Stanley is a leading investment firm specializing in
wealth management, investment banking and sales, and trad-
ing services. As a global company, its divisions are spread in of-
fices all around the globe and consist of many teams which aim
to “provide outstanding long-term investment performance,
service and a comprehensive suite of investment management
solutions to a diverse client base”.
A mixture of waterfall and
agile development were used,
first five weeks following the
former and the rest by organ-
izing tasks into one-week
sprints.
Stash was used for version con-
trol, i.e. two repos, one public
and a private fork where most
changes were pushed. The
public repo was updated by
pull requests.
Created user stories and split
them up into tasks which were
inserted into Trac. Smaller tasks
were added as the project pro-
gressed.
During my placement, I was part of the Market Making and
Quoting (MMQ) team, which was responsible for the design,
development and maintenance of large scale automated trad-
ing engines of cash equities and derivatives. The team was dis-
tributed globally, in Glasgow, New York, London, Hong Kong
and Shanghai.
Software
Development
Life Cycle
Features were introduced as
epics into Jira, added to sprints
and at the start of each sprint
they were split up into smaller
tasks. Uncompleted tasks were
added to a backlog.
Single repositories were used
for university projects, i.e. Sub-
version for PSD3 whilst Git was
used for TP3. Team members
were pushing changes straight
to master branch.
Task
Management
Change
Management
Continuous
Integration
Each member implemented a
different feature and thus a
public instance of Jenkins was
used for continuous integra-
tion. JBehave stories were used
as acceptance tests.
Two instances of Jenkins were
used, one private and one
public. The former built and
tested the system by unit tests
while the latter used accept-
ance tests.
Code Review
We did not use any code review
system for either of our univer-
sity projects.
Reviewers are added to review
changes on Stash whenever a
pull request was created be-
tween the private and public
repositories.
Practice University Internship
• My manager was based in London, therefore the level of sup-
port was not as effective due to difficulties in communication.
To tackle this matter, we organized daily catch-ups to discuss
our progress and issues.
At the start of my internship, I was familiar with many software
engineering practices, principles and patterns due to their ex-
posure and practice in PSD3 and TP3. Continuous integration,
change management, agile methodology were only a few of
them.
Company and Team
• Colleagues did not have experience
with web development and I had to in-
teract with external teams for support
and guidance.
• In the first part of my internship, re-
quirements were added and modified
on a weekly basis, thus messing with
the work I had done before.
• Had overall responsibility for managing the project and was
granted a lot of flexibility. This was a great challenge because it
was easy to get distracted and lose track of important tasks.
Project Description
Would have been useful...
Challenges
Technologies
Ovidiu Popoviciu
2036725
School of Computing Science
University of Glasgow
Differences between my experience as a student at University of Glasgow and as a software
professional for Morgan Stanley.
Layout Design Logic Web Tools
Market Maker
Ask
$10.20
Bid
$10.00
Back-End
World Wide Web Consortium, www.w3.org
Morgan Stanley, www.morganstanley.com
Spring Framework Documentation, www.spring.io
References
AngularJS
WebSockets
jQuery
D3
WebWorkers
more effective less effective
However, a few practices and technologies were also novel to
myself, including Dependency Injection with Spring Frame-
work and AngularJS, code review system integrated within
Stash and other Morgan Stanley frameworks.
kdb+
Therefore, my project involved the creation of a modern web
portal to be used for the analysis of information regarding au-
tomated trading engines. This information was accessible
through multiple instances of KDB+ databases and displayed
onto an old web portal which allowed stakeholders to view it in
the form of statically defined reports.
As the financial expectations of the firm are chaning rapidly,
there was a need for a portal where reports can be dynamically
created and where information can be processed and dis-
played using a custom query.
vs