Guidelines for developers on quality software making [Business Daily (Kenya)]
(Business Daily (Kenya) Via Acquire Media NewsEdge) Africa is increasingly being run by computer instructions (code) in numerous distributed servers. This growth is evidenced by the adoption by government, businesses and individuals of software based services to meet varied demands.
We have also in the past seen many banks put out notices for system upgrades and most recently, Safaricom of M-Pesa fame have announced that they have found a vendor who will rebuild the mobile money platform from scratch to allow it better meet the demands of the consumer and minimise downtime.
A question raised to me after the M-Pesa platform rewrite announcement was "How would you go about it, what would your process be "
First, I believe that every "builder" should choose their tools of trade and have a process that they have refined over time to deliver quality software.
The tool discussion is broad as everyone has their take on their tools of choice from development frameworks, databases, and development language.We subscribe to an agile development practice that is adapted to the needs of the project at hand.
Agile development boasts 12 principles, that guide the software development, which unknown to many does not consist of having only engineers and programmers hack away. I will share my personal favourites in the process.
The first is to always work towards customer satisfaction by delivering timely value. Many times we want to deliver a fully developed platform whose additional features the market may not currently need.
Embrace scope creep Most often we are afraid of a change in scope, as it has obvious implications on time and budget. Anticipating it and creating mechanisms to manage it will result in a lot less tension across all departments engaged.
Deliver frequently but make sure it works. Building of platforms is hardly ever 100 per cent complete. Assimilating customer feedback sees a continuous iterative process of changing user interfaces, features and even architecture as I believe the new M-Pesa software will have to do.
Simplicity in both the consumer facing and backend elements is key. If the consumer can do it in two steps instead of five, if the task in the backend can be completed by five lines of code instead of a whole page, go for it.
Communication is the other element that is assumed but never adhered to. Working in silos internally and externally in relation to the consumer is a recipe for disaster. It doesn't have to happen face to face, but it must be both consistent, deliberate and well managed.
There are a number of methodologies that borrow from the agile process of development and may have different forks and interpretations of the 12 principles.
Bottom line, refine and tweak your process for consistent delivery with the consumer at the heart of your focus.
Njihia is CEO of Symbiotic. Twitter - @mbuguanjihia.
(c) 2013 Nation Media Group. All Rights Reserved. Provided by Syndigate.info an Albawaba.com company
[ Back To Technology News's Homepage ]