“When the Great Tao prevails, the world is shared by all.
The worthy and capable are chosen as leaders, trust is fostered and goodwill is cultivated. Thus, people do not only regard their own parents as parents, nor do they only regard their own children as children. The old are cared for until death, the adults are gainfully employed, and the children are nurtured. Widowers, widows, orphans, childless seniors, the disabled and diseased are all taken care of. Men have their proper roles, and women have their families. While people hate to see a resource thrown away, they do not necessarily keep it for their own use.
Not contributing one’s efforts is abhorred, the same as devoting them purely for one’s own self-interests. Therefore, conspiracies do not thrive; robberies, thefts and criminal activities do not occur. And so, there is no need for doors to be shut.
This is called the Great Unity.”
– Book of Rites(Liji), Great Unity
I was holding the role of General Manager in Titansoft when I first encountered Agile in 2014 – and I felt as though Agile (Agile development, Agile management) depicted an ideal world. Just take as an example, the most popular Scrum framework in agile methodology: there is no Team Leader in Scrum teams and projects are completed through the division of labour. Members have the option to choose the task they want to work on rather than having a supervisor assigning work. Team members are motivated and strive to perform, with results shared by the entire team. (Note: Product Backlog is decided by the Product Owner but the team determines the best way to perform the job)
In other words, it is similar to the presentation of an ideal society in communism which reads “from each according to his ability, to each according to his needs.”
After a full month at Titansoft as interns, we have come to learn more about Titansoft’s Agile culture. So, what is Agile software development?
Agile is often compared to the traditional Waterfall methodology where a linear approach is taken with software development; each stage is generally finished before the next one can begin. On the contrary, Agile methodology emphasizes the rapid delivery of an application in complete functional components, with a high commitment level from the client throughout the project. With Agile, all tasks are “time-boxed” into phases called “sprints”.
In Titansoft, each sprint lasts a week within which a running list of deliverables planned at the start of the sprint is completed. Deliverables are prioritized according to their value as agreed by the stakeholder and product owner. If all planned tasks for the current sprint cannot be completed in time, work is reprioritized and the information is used for future sprint planning.
What comes to your mind when you are deciding which organization to work for? Every organization has its own benefits and it is also one of the major aspects that people will look at when deciding where to go for a job.
In this sense, we polled our own staff to find out what are the top 3 benefits that Titansoft offers (in no particular order)!
Training & Development
While training and developing the skills of each individual is pretty much in every organization. In Titansoft, we believe that everyone should Never Stop Improving, which is also one of our organization’s core value.
In Titansoft, anyone can suggest to attend a training, conference or workshop to their manager. These could be relevant to one’s job role or simply to learn out of interest (of course, there is a need to tie-up personal interest with the organization’s interest). In addition, the company would identify training that may be relevant to anyone within the organization and even open up the opportunity to all. Some examples include the Certified Scrum Master course (where even our HR can attend), User Experience etc.
Learning doesn’t stop after the training either. Participants who have attended any of the above are also invited to provide a sharing to the rest of us, allowing knowledge sharing and opportunities to gain new perspectives from the others!
Unlike two years ago, when my HR colleague attended a Scrum Master course, the reactions from other participants wasn’t this great when I attended the Scrum Master course about two months ago. I guess simply because Agile practices are becoming more widespread and also, it was an internal training where we invited Daniel Teng (from Odd-E) to conduct this workshop.
Although Agile has been around for a pretty long time and has flipped the entire waterfall model on its head, it hasn’t really made headway in very traditional or highly regulated practices (such as HR, Financial services, Healthcare, etc).
While there are plenty of reasons why Agile adopters can fail, that doesn’t mean traditional services cannot become Agile. From what I have learned at the Scrum Master course, I am beginning to see a clearer picture of the ‘perfect world’ where Agile HR resides. As I am a HR practitioner, the perspective that I would like to share would (naturally) be limited to this context.
Let’s look at it from a Product angle
HR does many things for an organization, some administrative, others strategic. With the importance and ever-increasing popularity of HR business partners, we can actually consider the organization as our customers.
What if the HR service is a product? And it’s features (i.e. Recruitment, Payroll, etc) are there to resolve the needs of our customers? So for example, if it comes to the end of the month and payroll needs to be done, the entire teamwill do what it takes to accomplish it at the end of the sprint. If the customer requires a fix to an employee engagement problem, then the team will seek to understand the situation (again doing whatever it takes – research, interviews, etc) and come up with a MVP (minimum viable policy/procedure/process) to tackle it. From real users’ feedback, the team can then iterate and improve on it.
We have embarked on a new journey with a lofty dream to have all (yes, all) of our staff to be able to have a mentor to guide them through the ups and downs of work life in Titansoft. The mentor would act as a consultant, advisor, mirror and friend to his/her mentee, providing additional perspective and help bring out ideas to form resolutions to problems faced at work. To be able to do so, we have rolled out a mentorship program.
We call this program “Pathfinder“. You’ll see why.
The Discovery of Pathfinder
Pathfinder came about upon identifying certain trends in our Titaners through our T.Exchange program. We have come to realize that some of our Titaners are feeling a loss of direction with their role in the organization back in the second-half of 2016.
Realizing the potential magnitude of this issue, a task force was formed to work on it. Interestingly, while this could be easily passed on as a HR project to work on, we had a senior Product Developer on board with clear intentions to help his colleagues to grow.
The task force began by identifying the objective and milestones of the program over a 2 year time period. The overall goal was to instill a sense of direction in 70% of our staffwithin 2 years (Yes, it does seem hard to measure, but I will get to it later). And from here, Pathfinder has begun…
As James Shore says of pair programming in his eponymous blog, “It’s more fun than it sounds: two programmers at one computer. One drives; the other navigates. Switching roles fluidly, they constantly communicate. Together, they accomplish better work more quickly than either could alone.” Teamwork never sounded so poetic.
Titansoft is an Agile organisation and we have been practicing pair programming since 2014. And having experienced the benefits of this practice, we are extending it to out Recruitment process. Having a programming session with a potential candidate is only one part of the hiring puzzle, but it’s often the most important one. Rather than looking at the CV and asking a long list of questions, which may not be as effective, we get around recruitment for our Senior Software Developers by holding a pair programming session. We believe that the pair programming process creates a better opportunity to showcase a coder’s skill.
“Through pair programming, our developer can know more about how the candidate behaves during real work such as his working style, coding preference, discussion etc. In addition, we are also able to show the candidate the way our company people code.”
Ji Zhoubo – Senior Software Developer in Titansoft
Finding the perfect combo. Some stuff just goes well with each other. Peanut butter and jelly, pizza and beer, Batman and Robin, we can go on and on. But what about Nutella and fries? Gin and raspberries? And here’s one that is one of the most debatable in our field – Agile Development and UX Development.
It may sound wrong and make you feel uncomfortable if you mix them together, but eventually it can turn out pretty well!