# Hello Fellow Developers

This guide is created to help out developers to kick-start development in IBS member frontend. It will briefly explain
how components and certain features work in the system. 

It is a moral obligation to us developers to draw a path to our fellow contributors, leaving a footprint of superior ethics
and a level of professionalism that advocates the quality and standards of their ancestors craftsmanship in this project.

With the consideration of an enterprise working environment, we together must push to pursue a level of pride
that withholds our dignity to the generations to come. The stones carved inch by inch shell be perceived as master piece
 of craftsmanship that resonates the blood, sweat and hard work that was put in by the creators.

Full of wisdom and learning from the masters, this project was created in a challenging environment where time was a ticking bomb.
We have faced many demons but still we did not loose our sanity. We denied to be sucked into the dark whole. We fought back
when ever we slipped from our trail. Learned our lessons and become wiser.

The tales of the contributors will last for the generations to come.

## Passing wisdom - Developer mindset

We as developers has our specialities and weaknesses. We have a natural behavior to calculate in a logical concept and time to
time come across of insensible obstacles that slows us down. The main key is to find a balance. The challenge is to fuse
emotions and logic. We developers are the mediators to translate ideas into binary. This demands a wide imagination and creativity.

The job we have is more like an artist, painting a picture based on a description. The craftsmanship should start with a 
drawing pencil and slowly progress into a solid artwork. In the process there will be some erasing and cleaning up, hence we have
to make sure the outcome never looses its key feature and characteristics.

It's the artists who is the master of creation and he who controls the brush, colors and features. The results are presented 
to the audience. The artist has no authority to control the judgment of the audience like vice the audience the not have 
control over the production process. Hence the painter is fully in-charge and dose not have any need to discuss or disclose 
the processors involved in creation. If there needs to be a change in the final output, it should be a moral responsibility 
for the audience to give a verdict as soon as possible. This process is delicate, but it's the perfect recipe.

The mindset for developers is to maintain a programing discipline where the best practices and applied patterns are followed 
to best of ability without compromising quality of the code, unless the situation is fatal. In case of a fatal scene, the 
code should be revisited right after the situation has subside. This means, code clean and follow the predefined processes. 
The developer should also keep calm in all situations, analyse before execution, then execute with diligence.


## Principles - from Agile Manifesto
We follow these principles:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

- Welcome changing requirements, even late in  development. Agile processes harness change for  the customer's competitive advantage.

- Deliver working software frequently, from a  couple of weeks to a couple of months, with a  preference to the shorter timescale.

- Business people and developers must work together daily throughout the project.

- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

- Working software is the primary measure of progress.

- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant 
pace indefinitely.

- Continuous attention to technical excellence and good design enhances agility.

- Simplicity--the art of maximizing the amount of work not done--is essential.

- The best architectures, requirements, and designs emerge from self-organizing teams.

- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
