Skip to content

Latest commit

 

History

History
125 lines (87 loc) · 7.78 KB

README.md

File metadata and controls

125 lines (87 loc) · 7.78 KB

Purpose of FutureWorkz Playbook

This document attempts to describe how FutureWorkz employee behaves together as an organization - how we think, how we talk, how we respond, etc. The main purpose is to align everyone in FutureWorkz to work together, be happier and spend more meaningful time in work while producing a profit to sustain and grow the company.

FutureWorkz is a company and like every company, FutureWorkz needs profits in order to survive and grow. FutureWorkz relies heavily on the people working in it in order to generate a sustainable profit.

We strongly encourage any employee of FutureWorkz to improve this playbook by submitting a pull request (for coders) or raise an issue (for non-coders).

This playbook is not made for you, it is made from you.

Vision

To be a happy software development firm
with happy employees
for happy customers
by happy bosses

Who We Are

ar·ti·san

noun
a worker in a skilled trade, especially one that involves making things by hand.

We are no different from a coffee barista or a carpenter who rely on their skill and experiences to create a beautiful and functional coffee or chair for their customer.

We create web/mobile app through our Agile thinking, coding and design craftsmanship. We are craftsmen, creators, partners, consultants and sometimes saviors to our clients. The final product launched on the web or in mobile store represents who we are and our craftsmanship.

We are app artisan.

How We Make Money?

We accumulate knowledge capital and skills in startup industry in areas of marketing, UX design, IT development and technologies.

We then sell this knowledge and skills to clients as business consultants, project management, design and development.

Through this cycle of learning and applying, we grow into Asia thought leaders and a world class development firm.

Clients will then naturally engage us over other competitors despite our premium fees.

Learning Culture

As our industry is a fast learning and ever-changing industry, a learning culture between management, staff and client is a necessity to our survival.

Learning is not just accumulating knowledge. We apply them, experiment them, play with them until we understand them. A learning culture is not just a culture with lots of presentations to attend. It also encompass the curiosity to experiment and the dare-ness to fail.

Management has the understanding that mistakes must be made in order to learn new things while employees take the initiatives to learn, experiment and share new things in FutureWorkz.

While we have our daily work and deadlines to meet, we strive to learn on the job (eg. trying a new Ruby gem) or spend after-work time (eg. attend a Ruby Meetup) to advance ourselves.

We also constantly strive to present what we have learned so that others may benefit from us.

Organisation Culture

Curious and dare to try new things

There is always a better and newer thing in the Internet. We should not stay entrenched in yesterday’s thinking. It is okay in FutureWorkz to try something new and fail horribly. In fact, we know that most of the time, the newer things will probably fail but that once in every while, we will find something that is really great!

Learn and share with each other

We are active learners and do not shy from anything new. We also recognise that the best way to learn is to teach. Through teaching, we share our knowledge. We are not afraid that our knowledge is wrong or too low. We are only afraid that our mind is closed from learning.

Strive to be the best in the world

Without vision, we are lost. In whatever we do, we always strive towards being the best in the world. We love best practices, best ideas, best methods, etc. We actively research and adopt best-er practices in our work to improve our skills.

Disciplined

No knowledge in the world is useful until it can be applied. To apply knowledge, we need discipline in our work and in our life. While we can be crazy and unorthodox in our thinking, we exert discipline in our execution and conduct.

Common Working Behaviors

To give you a better sense of how we work in FutureWorkz, here's some things you can do:

  • Things are always changing internally due to improvements, so get used to new ways of working
  • You can share our opinions openly and honestly
  • You can talk back to your bosses because they value your ideas and opinions
  • You should take initiatives to improve yourselves, the company and the world
  • You can talk loudly and even laugh loudly in the office
  • If you solve a huge coding issue, share your success with others by proclaiming loudly in the office
  • If you want coffee, ask others (including your bosses) and order together

Project Engagement Rule

FutureWorkz will only engage a project if

  • the project will enhance our reputation in the industry
  • the project enhance our knowledge capital in terms of implementing new technologies
  • the project is profitable to the company

Sustainable Development and Working

We do not believe in rushing for project and working overtime. We believe in working sustainably and balanced so that we are a happy bunch of sane workers.

Software requires good brains to create good codes and good processes. Working overnight destroy productivity, happiness and quality. Why should we produce low quality product for our clients?

Dress Code

Dress as you like - nudes are welcome too.

Coding Standard

We have high regards for code quality in FutureWorkz. Code quality affects speed of development, maintainability and coder's happiness.

To maintain high quality coding standard in our app, we do regular code review. We also conduct a Ruby evaluation test every alternate Saturday 9am.

Problem Resolution

If stuck, google by yourself for 10 mins. If no solution found, ask someone. If a solution is found, implement it but don’t waste more than 30 minutes to implement the solution (it may not be the correct solution). If you found a really great solution, share it!

Intellectual Property Security

Client hires us to develop their best ideas. We should ensure that the code and other intellectual properties are not leaked to the public or worse, client’s competitors.

While it is important to be secure, it should be balanced off with productivity and efficiency. We believe in our employee's integrity and professionalism. As such, we maximise productivity while keeping the intellectual property secured.

Some basic rules we practise are:

  • Never push project source code to public repository
  • We can share snippets of code but not all of the code with other parties
  • We can discuss what we learn with others but never reveal exactly how it works

Role of Product Owner (a.k.a. our client)

The product owner is the person who is in charge of making the decision for the app. This is generally our client. In the event where our client has a team of more than one person, we would ask for a single point of contact from the client's team and that person will be the product owner.

Ideally, the product owner should be available via mobile or online during development hours. Practically, we ask for at least one hour a day with us.

The product owner is expected to:

  • Clarify requirements
  • Test and approve/reject developed stories/design in Pivotal Tracker
  • Guide us in decisions on the app business direction

We believe client should know how to manage their own IT assets so we require the product owner to register any needed services by themselves such as Amazon Web Services, Google Analytics, etc.

Keep Yourself Updated

We are continuously improving and changing - so is this playbook.

To keep yourself updated with this playbook, you can star this repository and you will be able to receive updates on this playbook.