Presentation in ProductTank Helsinki 3rd meetup about how our process was made much more agile and how we improved quality while renewing our core technology at PlanMIll Oy.
http://www.meetup.com/ProductTank-Helsinki/
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Â
Renewing a mature software product from outside in - experiences from an API project
1. Renewing a mature software product from outside in
- experiences from an API project
By Marjukka Niinioja and all the great characters at PlanMill Oy
2. PlanMill is a web based ERP, PROJECT and CRM software
Customizable, Cloud, On-premise – been used since 2001 by 100+ customers in Finland, Europe and overseas
4. In the beginning there
were lots of false
presumptions and missing
information – but luckily a
shared goal!
Let’s make our
process faster,
better, bug free,
and renew our
application one
step at a time –
starting with API!
Buttons as embodiment of our strategy
created in our staff day in 05/2014
5. GET /research
Pilot application with really new
technologies to understand the
possibilities better and to see what we
can use along our current system.
Built Jackson + Hibernate + Drools +
AngularJS 1 app / 1 business module
pilot to see how to replace our Java
+ XSL + MS SQL 20 module system.
7. Hardest part of creating a
backlog was to eliminate
the “unknown” and to
accept that plans can
change.
Team
estimated how
many hours
they would
have for the
next 2 week
sprint and
created
backlog items
and estimated
them roughly.
8. “As a project
manager I
want to create
new projects”
POST /projects
{name: “My first project”,
Start: “2014-01-01T00:00:00Z}
CONNECT /teams?via=API
UI team tests and gives feedback of emerging API while developing UI
9. RAML as joint specification
RAML is a new standard for writing API specifications. It has a documented syntax and lot’s of good tools. It helped our team, to speak the
same “language” in designing the API endpoints, error messages and content. It was understandable by both UI and backend teams.
10. And suddenly there were tests…
Integration tests with RESTAssured UI tests with Thucydides and JBehave
11. GET /customers
GET /partners
Renewing our system API first has given as
an opportunity to use our customers as
our “co-developers”. They are building
apps for themselves and sharing ideas
and helping us to get ideas what we
should incorporate in our product.
12. Thank you!
Marjukka Niinioja @Mniinioja
Senior Consultant & Manager
PlanMill Oy @PlanMill
www.planmill.com
Check out our API at:
http://api-
portal.anypoint.mulesoft.com/planmill/
api/planmill-rest-api-15