Libby completed her Prelim review of her doctoral research on Friday. Her committee really put her through the ringer, but her project was approved and she’s excited about getting going. They did want to nail down some of her specific goals which she’ll be working on starting this week. Congratulations to Libby!
Until recently, the decisions about what features to implement next were not always centralized. In general, the future investment and large-scale features were decided by my CEO while anything else people wanted implemented was fixed based on a ‘squeaky wheel gets the grease’ mentality.
Almost a month ago, my development manager started reading about Scrum. The Scrum development model has a number of really neat features that I won’t attempt to summarize here with the exception of the Product Owner role. Instead of the developers listening to the ‘squeaky wheels,’ the Product Owner serves as the broker in between. All of the company are encouraged to bring User Stories to the Product Owner that they’d like impelmented. The Product Owner then prioritizes these stories based on the information they have and seek out additional information to make informed decisions.
In this new role, I’ve begun to pick up new methods of teasing details out of those who need the software to do things it currently does not. I’ve gotten better at helping people realize what they need from the software, and prioritizing the needs of people here at the office, the customers, and the systems needs (typically represented by the developers and the systems team).
We’ve tried to make certain that the way in which people describe their features leads to a solution to their ultimate problem. For example, a story that indicates “make feature that can do X” might be too specific and doesn’t enough embody the goal as a story resembling “User Y can solve problem Y by doing A,B,C.” The latter specifies the goal to ensure the development team is on the same page and isn’t limited to the precise implementation discussed by the suggestor.
Considering each new feature in terms of it’s potential for revenue generation and customer retention sounds straight-forward but these are often many layers in betwen. For example, something that frustrates the support department probably also frustrates the customers. By applying effort to such a feature we can help the customers understand. Consequently, we can also help our support department dedicate their resources and energy to other customers.
The most suprising part of all of this has been the lack of resistance to this shift from the business. In fact, suggestions for features are coming in at a rate far exceeding that of the past. There’s been little/no quibbling over what is most important and why.
[tags]scrum, agile development[/tags]
Lily went back under the knife yesterday at the NC State Veterinary Teaching Hospital to remove more soft tissue to get more of a margin on her mast-cell tumor. By getting ‘clean margins’ the chance of the tumor recurring can decrease from 40% down to 5%. Everything went very well in surgery and they succeeded in getting a full 2cm margin around the tumor. This has caused some strange shifts in her posterior anatomy that will probably correct themselves, but most importantly the surgeons hopefully got all of the tissue containing the mast cells. Lily’s sleeping here at my office today looking a bit frightening, but happily sleeping on her bed.
Every widely distributed PHP application has its home grown installer that looks for depedencies, sets up a database, and checks permissions. Since PHP is interpretted, has no language support for namespaces, and no stored application state–simply defining how a PHP application gets installed is a non-trivial function.
There have been a attempts to create a common PHP application installer. They’ve faced lack of adoption, the same loose coupling and installation as the problem it attempts to solve,
I propose an extension to PHP, or even to Apache which allows the adding, upgrading, and removing of web applications in a fashion similar to the maintenance of WAR files for Tomcat. This will allow applications to ensure their needs are met, depdendencies installed, and allow the distribution of component libraries for supporting installations. I only hope this can enable the easy distribution of open-source applications like NSIS (Nullsoft’s Installer) has done for desktop open-source applications in Windows.