Reflecting on PressBot
By Liliana Terry
This semester I had the incredible opportunity to work on a cross-disciplinary team of Computer Science and Journalism majors. Over the course of three months, we built a product that will help The Dallas Morning News cater to their existing audience as well as drive more people to subscribe.
The majority of Computer Science courses set pre-defined guidelines for projects. While there are many ways to solve these tasks, there is very little room to explore design options or create your own MVP. The experience I’ve had in the Innovation Capstone course has taught me how to navigate a nebulous project with almost no boundaries or conditions. In this environment, I learned how to organize and develop a project from our initial client consultation straight through to a fully functional product.
Our team learned how to communicate with our client. To deliver the best possible result, we had to understand what their needs were and what type of product would fit best with their existing work flow instead of prescribing a well-formed but ultimately ill-fitting solution. We bounced ideas back and forth; proposed various solutions, different platforms and technologies; and finally settled on a plan that suited both our technical abilities and their goals.
After solidifying our end goal, we had to plan our course of action over a three month period. We created our roadmap by working backwards from our presentation date and over-estimating how much time each portion of the project would take. Plans shifted (as predicted) and we deviated from the initial roadmap, but it remained as a living document we could all refer to as we moved through the development process.
During development, we all strengthened the skills needed to perform in our respective team roles. For me, it was a matter of learning a new programming language (Node.js), how to create a conversation with Dialogflow, and how to design for scale with AWS servers and databases. My code hygiene and structure also improved substantially because my coding partner is one of the cleanest, most organized developers and, in order to have a readable codebase, we both had to stick to a consistent style. Our partnership also challenged me to break our larger goal into pieces and plan out a schedule where we could both work concurrently and not depend on the other partner’s work to get a functionality up and running. Previous to this semester, I had two internship experiences at major tech companies, but my projects were always fleshed out before I arrived and were largely independent of the other developers on my team. This semester’s work gave me a taste of what it would be like to lead a team and coordinate the interleaving of development tasks.
Experiences like this are not unique to the Journalism department and I am aware I could have gained these leadership skills elsewhere. There are courses in the Computer Science department, such as Software Engineering with Dr. Downing, that walk you through the development process from end to end, but teams in these courses are exclusively CS majors. However, in a proper development team there are tech leads, project managers, designers, individual contributors and other disciplines depending on the product. From personal experience, I know it is challenging to communicate effectively in such a diverse group of minds. And most CS majors will not learn these communication skills until they are already in the work force. For many, this is a barrier in the way of management promotions. I also think it’s valuable to learn to appreciate and honor the work of non-technical members of a team. Developers are commonly arrogant and think that their work is of utmost importance. The most common argument I hear from my peers is “well, if it weren’t for my code, we wouldn’t even have a product”. Well, if it were not for my marketing partner, we wouldn’t have a marketing plan to sell, advertise, and get people using the product; we would not have gained valuable feedback from user research; and we would not have had a fantastic 20-paged manual on our research, design, future plans, and technical documentation. If it were not for my design partner, our bot would be able to communicate but it would not have a voice and our development would not have been tailored so precisely for our target, sports-fan audience. As it is, our bot delivers exactly what football fans want and nothing more. These two team members ensured that when we brought our finished bot to The Dallas Morning News, it looked professional, we looked professional, and our pitch had impact.
Overall, I’m extremely proud of my team and what we accomplished this semester. Our final presentation at The Dallas Morning News was a truly special opportunity to celebrate all of our hard work and show how passionate we were about what we had created. We were lucky enough to present in front of the Editor, Managing Editor, Director of Digital Strategy, Assistant Managing Editor of Sports, Sports Hub Editor, Sr. Computational Journalism, Director of Digital Products and many more! They were all extremely enthusiastic about the future of our bot and the implications it would have for the growth of their readership. Throughout the semester, I had been so focused on reaching our deadline and hitting all of our MVP goals that I hadn’t really taken time to reflect on the real-world effects of our efforts. It wasn’t until we were fielding all of their eager questions that I realized we had actually made something with real potential and purpose.
We’ve since handed PressBot over to the folks at The Dallas Morning News and now it’s time to relax and stand-by for the public release next year!