We are living in the world with extreme cases.
On one hand, IT companies at Silicon Valley are really living to the saying “to improve is to change; to perfect is to change often”; they use SCRUM and interactive development to expedite development cycles. On the other hand, in big MNC having outsourced its IT system delivery and maintenance, it’s easy for management team to get nervous and postponed the change, if there are no detailed multi-dimensional requirements fully captured for a new IT system. The former one is to simplify things by setting limit and accepting unknown; the latter is to sort out the complexity once-and-for-all. Both of them are talking about Return-On-Investment, but in totally different fashions. I was always wondering if and how we can use the former approach into a complex MNC environment.
My husband got a Raspberry Pi (single-chip computer) recently and installed Linux there. I am expected to contribute some ideas to make use of it. “An automatic Job Opening Alert “, an idea came to my mind. It can benefit anyone who wants to keep an eye on new career opportunities. We always have to go to different websites to search for opening, which is tedious and time-consuming. It would be very helpful if we can get automatic email alert when the target employer publishes an opening perfect for our background, considering the fact that recommendation from agent or Linkedin does not work that well.
I was trying to figure out what is User Story in Scrum that week. Since the best way to learn new thing is to use it, I drafted below user stories and handed it over to him.
He squeezed some spare time and gave me the first version one week later. The email functionality works perfect. The only issue here is that he used the searching engine in the website of the employer itself in his program. Such a short-cut approach normally does not lead to accurate result, but feed me with a lot of irrelevant openings. However, on my husband’s side, it’s a safe approach so that we would not miss any potential opportunity. To find a solution is not very difficult; he just added another layer of filter, by the job title or job category.
We stop developing such a product when we happen to find there is already similar product in the market like Ziprecruiter, which is a useful tool for both employers and jobseekers.
The experience helps me understand more for the concept SCRUM and iterative development; and how they can be used in a complex corporate environment. It’s still about trade-off as well as agility-to use different approaches in different context under the same roof.
User story of Scrum has a lot of hidden assumptions and details in the rows. For example, it assumes what I want is exactly equal to what the code will achieve; and it assumes what I want is the best way to do it. That is the point of Agile; the expectation would keep changing and we can never help each other 100% understand the other side in one-goal; therefore, it keeps the design-develop-test cycle short enough to get closer to the near-ideal product, in every cycle, without wasting too much resources.
In traditional corporate environment, there are too many stakeholders involved – sales and marketing, finance, IT, 3rd party service providers, just to name a few; every single move needs to be carefully scrutinized, to avoid causing disturbance to the stable business and organization. It’s like making new cloth for the giant, every part has to be checked otherwise constant measuring-and-modification will cost too much. So they, somehow, has to trade off agility with safety.
The detailed multi-dimensional development approach is a safe choice, for the corporate and its service providers, no matter the product is for internal use or external customers. However, its lack of efficiency and flexibility can just kill the new product. If we look at the business itself, for any brand-new business model, majority of the corporates embark on the pilot-and-proof-of-concept journey; such a model would have different KPIs and management approaches, compared to stable business. Therefore, the door is not closed for SCRUM and iterative development at all; but the IT departments and the management team need to adjust them, to use different approaches in different context.
For me, frankly, I cannot simply use the whole SCRUM and iterative development in my current job, but I can borrow its concept and ways of working to handle the complexity of our business itself. I create below simple framework to help me decide which approach to use.
Balance of Yin and yang is never easy to achieve. But as always, we can do better.