Foreseen Software

Foreseen Software

[caption id="attachment_306" align="alignnone" width="300"] Foresight[/caption] We’ve all seen advice by pundits not to build software features or capabilities that are “only foreseen.”   One company decided to build software to assist with certain of its transactions. The software wasn't needed at all when development began!  The entire project was essentially meant to build merely "foreseen" software. The software still wasn’t critically needed when development was complete. The management team made a decision to forge ahead, adopting the software.  In less than one to two months’ time employees became trained up and completely accustomed to using the software.  It turns out that sales volume of the company grew in parallel with that effort... After about four months --maybe it was fewer-- the company stepped back for a periodic assessment and realized something very interesting.  In retrospect, hardly…
Read More
When You Know You’re Going to Need It

When You Know You’re Going to Need It

Picture a team tasked with building a new product, like so many of the teams we’ve formed or assisted.   One team member assigned is known for an ability to envision how an entire system will work end-to-end ... sometimes in only a few moments.  Early in the process, the team identifies the features or “stories” of the product that should be built first and development begins.   But after a short time we notice something odd: one of the in-house engineers who is less experienced but by all prior accounts personally productive, is basically following behind the most-senior person and deleting her work. This enthusiastic and energetic developer says,  “you aren’t going to need it”  (“YAGNI”). The conversation goes something like this: The algorithm to do the analytics on incoming data feeds…
Read More
Agility

Agility

[caption id="attachment_299" align="alignnone" width="300"] Agility[/caption] We recently wrapped up a smallish project for a client that all started with an email.  There were a couple of phone calls getting started.  Partway through development we needed to discuss details in an area of our client's expertise; a little lengthier phone call with an exchange of concrete illustrations did the trick. While engaged in the work we corrected defects that we found in some pre-existing code and handled a few small requests for additional work “while we were at it.”   We feel confident our client now has something significantly better than before the project began (including the pre-existing code).  The software is now running as desired and we’re pleased to have executed the project. Here are things we didn’t do:  We didn’t have…
Read More