Print Story

Sujata Regoti
5 min readApr 24, 2018

A girl named Shizuka, a fresher who recently joined ThoughtWorks.

After awesome Pathashala and TWU(ThoughtWorks University) training, she was excited to apply her new learnings.

Luckily, she got assigned to project immediately. But here are some of her project characteristics :

  • Big team ==> 60+ people
  • Very tight deadline
  • Deliver more and more story points
  • Work, Work, Work
  • More importantly :( ==> NO PAIRING

This was different world than what she imagined. Now its been 6 months, she is working on this project. She want to share her story. Lets see :)

__________________________________________________________________

BA : Hey, We have to implement new feature — Print

Tech Lead : Is it like a print option that we have on our Expensify.

BA : OO..Great. Good example. Yes similar to that but dynamic. User can choose which parts on webpage they want to print. I think you are frequent user of Expensify ;) reimburse a lot.

Tech Lead : Haha. Yup. Coming to print feature, we need to do spike. So maximum how much pages it can be.

BA : We can ask to PO.

PO : It can go more that 100 pages.

Tech Lead : Ok. We will think about approach.

Shizuka was also standing there, just hearing discussion and thinking —

How exciting this print feature is!

___________________________________________________________________

After a day -

Tech Lead : Spike is done. As data is huge, we will do it from server side. UI will make request to print server. Print server will collect all required data. Generate HTML and return back to UI. Similar to Expensify, in a new tab html response will be rendered and print popup will be opened.

BA : Ok. Go ahead, Shizuka you will work on designing that print pages.

Shizuka : Yes. Sure. why not :D

BA : Ok. I assigned a story to you to print PART I,II of PAGE 1.

Shizuka : Sure, I will do it.

___________________________________________________________________

After 3 days :

Shizuka : Done. :)

BA : Oh. Thats great. One more story I assigned story to print PART III, IV

Shizuka : Oh.. ok

___________________________________________________________________

After few days :

Shizuka : Done.

BA : Oh.. Good. As you have context, I assigned print story for PART V to VIII

Shizuka : ok :(

___________________________________________________________________

After few day :

BA : I know you are done. Now this is last story, I promise.. no more print stories for you :)

Shizuka : Oh..really. Last one. Then ok. :)

___________________________________________________________________

After few days, new discussion started — new UI dev joined our team:

UI Dev : Why are we not doing print on UI side?

btw here, many categories of developers : UI Devs(who have good experience of working on frontend), Devs working on UI(Freshers who work on frontend as per need), Backend Devs(Only work on backend)

BA : As data is so huge, it may affect on performance of UI.

UI Dev : Data of table on page can only go to large. How many rows max?

BA : Max 500 rows.

UI Dev : Oh.. Then why are we not doing on UI. We are repeating ourselves. We are writing logic on UI and similar logic at print side too. Not following DRY. Printing on UI, will save lots of efforts.

BA : Oh. Then thats great then. For other pages, we will follow this approach. Shizuka have more context so she will pair with UI dev and do spike for print.

Shizuka(Inside) : Ohhh, Again Print :( :( :(

___________________________________________________________________

Shizuka paired with UI dev named Zack and Completed spike. Simultaneously completed print story of one more page. Given context to Zack.

BA : Oh. great work. Shizuka, you are now free. I got Zack now. Zack, you will do print for page3, page4……..

Shizuka(Inside) : OHHH…This print story never ends.. !!!! But finally I escaped.

___________________________________________________________________

Shizuka : Hello, everyone. My states during print stories — excited => bored => no more print story please. But I learned a lot. In projects like these, because of client pressure and such deadlines, BAs have to assign similar story to a same developer even they know context sharing is important. BAs try their best. Tradeoff always there. There were so many features to develop and time was ‘like a Usain bolt — running and running’. Yes initially, we took wrong approach for print. Changing print approach later was not easy decision as we had to pay cost for it — again spike and time investment. But with new approach, all other print stories went smooth.

Amazing experience. Great team. After this, everyone where calling me ‘Printer’ ;). All’s Well That Ends Well.

Hope you enjoyed her print story :)

Do share context and switch stories. Are you working on new feature, then did you explored, discussed and analyzed all approaches well??? Just make sure of it. :D.

--

--