Another Week, Another Sprint

I am a big fan of Scrum. I think it is very easy to do Scrum, but very hard to do well.  If you are just starting in Scrum, take a look at http://www.scrumprimer.org/scrumprimer20_small.pdf

This project I am doing 1 week sprints, Monday to Sunday, with the weekends for integration. Just a habit I have had for a long time. My sprints would be one week, and then the weekends were for integration and planning the next weeks sprint.

This weeks sprint is

[1] Get the first Android app up and running for the company that shall remain nameless.

[2] Get the API in  respectable shape

Advertisements

Study: A Simple Surgery Checklist Saves Lives

Sticks and stones may break your bones — but if you need surgery, the right words used in the operating room can be more powerful than many drugs. New research published today in the New England Journal of Medicine found that when surgical teams…
Study: A Simple Surgery Checklist Saves Lives

Using the apiary.io Mock Server

For agile development in the API space, I think a mock server is essiential. When you are revving quickly, waiting for others to update the API to test can be a real pain.

With a mock server, you can rev the API and keep development running. Without one, you start getting into dependancy issues.

Our goal here is to keep the Scrum sprints on schedule and that leads me to apiary.io. They have a mock server when you define the API. It kills two birds with one stone in that in writing the documentation, you are also writing the mock server.

Will this work ? I don’t know this is the first time I am using their service, but time will tell by the end of this sprint.

Checklist as a Simple Business Process Improvement Tool

I wanted to share an article on using a checklist to improve your business process.

There is one superior way to make our work at home and in the office simplified and easy and that is with the use of a checklist. No matter what your job is, or whatever tasks you do at home; a checklist is an important tool useful in checking what needs to be done or what things are lacking to complete certain tasks. Aside from finalizing your what-to-do lists, it can also be utilized as a daily reminder of appointments, errands to do, schedule of events, and where problems encountered can be noted. Here are some other ways to use checklists in your business.

Checklist: Simple Business Process Improvement Tool

 

Mongodb.js vs Mongoose, Why we chose Mongodb.js

NODE.JS AND THE API

For the contract I am currently working on, we are building an API using node.js, express.js and mongodb. For node.js to access data in a Mongodb database,  you need to have an library. There are several ways including the native mongodb driver, Mongoose, Mongolian Dead Beef, MongoSkin and I am sure there are tons I did not mention.

USING MONGOOSE

Mongoose brings schema’s and models to Node.js / Mongodb. Yes, it brings a schema to a NoSQL database. I think it makes no sense to do that. If you wanted models and schemas, go ahead and use MySQL.  Taking a database and putting schemas on top actually defeats the purpose.

One of the complaints I hear is that using Mongodb.js , developers have a problem with the joins and the schema. This is a problem with the developer, not with Mongodb or NoSQL databases in general.

DIFFERENCE BETWEEN THE TWO

Mongoose is higher level interface to Mongodb and actually uses mongodb.js,  the MongoDB driver. The question is not really which one is better or worse, the question for us is

Do the benefits of an ODM in Mongoose outweigh the drawbacks?

If you’re looking for an object modeling (ODM) tool so that you do not have to learn a lot about the way Mongodb works, then Mongoose is probably for you. If you want a fast driver and really get the most out of Mongodb, then use the native driver. We know our way around Mongodb so Mongoose would have slowed use down and our app.

BOTTOM LINE

If you are having a problem using schemas ( or complaining about joins )  in any NoSQL database, it is time to stop and spend a little bit more time understanding NoSQL databases and why they work the way they do.

Some of the things you get from Mongoose, validation, etc are good uses, I just think there are a lot better ways to do it in javascript than wrapping a NoSQL database in schemas.