A minimum viable product (MVP) is the simplest system you can build to validate the fundamental concept of what you want to build. An MVP sequence is a series of systems of gradually increasing complexity that take you slowly towards a more complex system that supports more features. There is no absolute way of determining what an MVP should be as it depends on the domain, what you are trying to build, what the stakeholder needs are and so on. However, if you are building lots of components that do not work independently and are looking to hook them together later in order to build a complex system then you are probably doing things wrong.

Due to my designated partner not being around today I ended up working in a three again. Since we were all at different stages we dedided to start again and follow the MVP approach, focussing on really getting the essential functionality down and not worrying about speed.

This way of working really suits me. I’ve realised I love TDD and getting to consider the logic of each baby step, and writing a good test and getting it to pass is very gratifying! Even if it your program doesn’t do that much yet it’s great knowing you have the foundations of something that has the potential to be awesome.

I’ve hashed a few things together in my time. My attempt to learn javascript last year resulted in some very cool hand-coded things such as image carousels and jquery nav bars. I was thrilled to have created them on my own, but I never really knew if the code I’d written was any good or followed any decent design principles (Nikesh cheerfully confirmed to me in my Makers interview that it definitely didn’t). I’m just happy I’ve now got the opportunity to sort this all out.

Nat x

Motivational thought of the day!