Agile Software Management Showdown

This is a continuation of a previous post on Choosing a Project Management Platform for Agile Development

As a part of my evaluation of various Agile/Scrum Management systems, I will be installing three platforms on my Windows machine.  As noted in the previous post (see above), there are a few requirements: it should be locally installable, and it should have updated support and forums.  I will be evaluating three platforms: IceScrum, ScruWorks and JIRA + GreenHopper

 IceScrum

Homepage: http://www.icescrum.org/en/

License: GNU Affero GPL V3

Platform: Web Portal (Tomcat with HSQLDB backend)

Pros:

  • Great graphics for storycards and tasks
  • Clearly laid out workflow (Planning -> Sprint -> Release)
  • Auto-generated charts that are clear and undertandable
  • No limitation on maximum number of users or installs
  • Does one thing and does it well
  • Has a well defined roadmap with active contributors

Cons:

  • Huge memory hog.  I was barely able to work on e-mail or surf the net while running this
  • Installation can range from easy (*.bat auto-run) to hard (configure Tomcat).  Hard is a relative term here because nobody in the office has used Tomcat or java servelets before
  • Not a lot of supporting documentation on how to use this tool.

Summary:

I quite liked IceScrumm.  It had very nice graphics, it was very easy to get up and running.  However, much of the usage instruction relies on forums and direct contact with the developers.  While it is nice, I like to know that there is solid documentation available to the average user.  With that said, I was still able to get up and running in ~15 minutes, and after about an hour of fiddling around with it I managed to figure out the basic workflow.

ScrumWorks

Homepage: http://www.collab.net/community/scrumworks/

License: Free for first 10 users.  More users will require a per-user, per year payment plan.

Platform: Desktop and Web Portal (Tomcat and MySQL backend)

Pros:

  • Easy install
  • Fairly robust Desktop and Web Interfaces
  • Clearly defined modes, sections and stories
  • Slick web interface
  • Good documentation on installation and usage (for both web and desktop apps)
  • Integrates with multiple systems (JIRA, Bugzilla, SVN, etc)

Cons:

  • Dated and confusing Desktop GUI
  • The Web interface has less powers than the Desktop app, and vice versa
  • If you go beyond the initial 10 users, the pricing scheme is expensive and restrictive

Summary:

While ScrumWorks has a novel approach of using two interfaces, it ends up being a confusing hassle to manage both.  While the Desktop GUI is more powerful, it has a confusing GUI.  The web interface is well thought out, but it offers basic SCRUM management abilities. Furthermore, the pricing scheme is cost-prohibitive for a small company with tight budgets.  The pricing scheme itself is on a per-year basis, so if at any time you want to stop paying, it feels like your projects are held hostage. On the plus side, ScrumWorks does have some great documentation and integration with other subsystems; but of the set of subsystems, our company only uses JIRA

JIRA

Homepage: http://www.atlassian.com/software/jira/ and http://www.atlassian.com/software/greenhopper/

License: $20 or donation for first 10 users.  More users will follow a per-user payment scheme.

Platform: Web Portal (JVM and MySQL backend)

Pros:

  • Simple install
  • Highly customizable
  • Front-to end coverage (repository, issue tracking, feature management, etc)
  • Large userbase with lots of exposure
  • Add-on plugins
  • Excellent documentation and support

Cons:

  • Drab interface and weak graphical representation of the planning board
  • Everything is an “issue”
  • Agile planning is weak and feels hacked together

Summary:

JIRA by itself is an issue management system.  Originally it was designed to manage defects, but over the course of time Plugins were created to fill various gaps in the software development process: Confluence, GreenHopper, Crucible, and more.  By using JIRA + various plugins, JIRA has become a popular choice for companies of different shapes and sizes.

For my tests, I used JIRA with GreenHopper for agile planning.  In comparison to ScrumWorks or IceScrumm, the planning board nowhere near as graphical, neat or easy to understand.  The overall setup felt “hacky”.  GreenHopper converts a “standard” issue into various agile planning elements: epics, stories and tasks.  While GreenHopper does its best to create graphical representations of each, everything is still an “issue”.  And while there is a logical and visual hierarchy of Stories > Tasks, there is none for Epics > Stories.  For a plugin that can cost in excess of $800, you’d think they’d at least get that straight.   Furthermore, Sprint management isn’t as simple as either ScrumWorks or IceScrum

Conclusion

If I was free to choose whatever platform I wanted, I would choose IceScrum.  Its a bit of risk going OpenSource, but IceScrum has some very strong graphical elements that makes the entire SCRUM process easy to understand.  Its also a breeze to manage.  While it does not come with fancy support for SVN, defect tracking or built-in wikis, it does one thing  only and it does it well.

However, being a company with multiple ongoing projects, I admit that we ended up going with JIRA + GreenHopper. There are two reasons for this:

  1. Another team has already decided on JIRA as a general issue tracking system.  Because of this, there was significant pressure to join them and use a unified system for all our product lines.  Since our two teams share multiple (human) resources, its even more important to share a single management system.  We don’t want people to learn and use two different systems depending on the time of day!
  2. The existing project is working with an aging defect management + source control system.  We need to migrate our code, and if its going to be anything, might as well use JIRA (for reason #1 above)

As of this blog post, we’ve been using JIRA + GreenHopper for 2 weeks now.  The team is still getting used to it, and we’re learning new things everyday.  For now we are happy, so we’ll see how things go!

 

 

 

Posted in General, Mangement | Tagged , , , , , , , , , , | Leave a comment

Choosing a Project Management Platform for Agile Development in an Enterprise Environment

Having recently pushed out a new release of our core software product (WYSIWYG R27 if anyone’s interested), the minor downtime between releases has given me an opportunity to reflect on my team’s software development process.  After some deliberation (and for reasons which I won’t go into here), we decided to move towards a more agile approach using SCRUM.

Individuals and interactions over processes and tools

It is for this reason alone that agile teams have traditionally relied upon a small arsenal of whiteboards, sharpies, post-it notes and index cards.  Kelly Walters at All About Agile has a great blog post about it here: The Power of a Whiteboard.  To summarize, the whiteboard is visible, flexible, low-effort, and social.

But what happens when this is simply not possible? What happens when the QA and SDev teams are physically separated from each other?

Currently, my company policy requires QA Analysts to perform basic Tier 1 and Tier 2 technical support on a day-to-day basis.  With phones ringing off the hook, analysts talking to clients, and constant back-and-forth conversations between Technical Support and QA; placing QA next to SDev would deprive developers of much needed peace and quiet.

While some would argue for a drastic change in company policy; such things require time, money and willpower, all of which are in short supply.  The alternative, then, is to select a software solution.

A Software Solution

Choosing an appropriate software platform is, at best, a difficult task.   When selecting a software platform for agile project management you want to pick something that is:

  • Robust, easy to use and easy to understand: At the end of the day, you don’t want to pick a software platform that will require you to spend 90% of your time babysitting it.  Don’t let the tool drive your process. 
  • Well maintained: Any piece of software is bound to contain bugs, and project management software is no exception.  Pick a platform that will be supported 6 months down the road when run into trouble
  • Can be locally installed : Depending on the level of paranoia in your company, this may or may not be a crucial factor. Nowadays, cloud applications are still viewed with an understandable level of distrust.  If at all possible, we want to reduce the risk of leaking business-crucial features and development details into the public eye.  Having a local platform will greatly reduce this risk.

Next Time: Agile Planning Showdown: IceScrum, CollabNet ScrumWorks, JIRA + GreenHopper

Posted in General, Mangement, Tech | Tagged , , , , , , , , | 2 Comments

Review: Django JavaScript Integration: AJAX and JQuery

My first experience with “designing” web pages was in the early 90s.  I was still in elementary school and HTML was the “big” thing; those were simpler times filled with gifs and <marquee>. Fast forward to the late 2000s…to say that web development technologies have “changed” would be an understatement.   All of a sudden I was using Django as a server-side framework and HTML + jQuery + AJAX for client-side rendering.  It is by no means a unique combination, but I spent a lot of time learning each individual technology in order to accomplish simple things like autocomplete or setting up a test framework.

With that said, my only wish is  that I had access to Johnathan Hayward’s book on Django JavasScript Integration: AJAX and jQuery much earlier in my dealings with web app development. At the very least it would have given me more of an idea on how to integrate these technologies!

What I Liked

The book starts out with a general overview of some of the fundamental technologies discussed in the book: Django, Javascript, JQuery and AJAX.  While the discussion was edging on the overly technical aspects of each technology, I felt like it was a good overview of what was yet to come.

In the later chapters, Hayward goes on to discuss some more practical solutions regarding topics such as: searching, authentication, auto-complete, and CSS customization.  These chapters are decently written and they offered more insight into the tools that I take advantage of every day.

Gripes

First, let’s deal with the aesthetics. If you’re considering buying this book, do not get it in ePub format.  The text shows up fine, but a lot of the code examples ran off-screen when loaded onto my Sony Daily Edition e-reader.

Second, this is definitely not a book for beginners.  If you’re interested in learning web development, this book will fly over your head.  I would only recommend this to someone who is an intermediate-level user of Django and is interested in learning about alternate methods of development.  This book will not tell you about how to set up a Django project, create Django apps, or how to reference link js or css files into your project.  In fact, one of the major roadblocks to understanding this book is figuring out where these snippets will fit into your personal projects.  Without the context of a typical Django project as percieved by Hayward, its difficult to envision these snippets in the context of your own project.

Another major point of concern is on the topic of testing.  Having worked QA and having worked on an agile project where unit testing is integral, I felt that Jonathan should have dedicated a chapter to creating a test framework to handle this mosaic of technologies.  Individually each technology has its own testing system.  Django has its own unittest system; while HTML, AJAX and jQuery can be tested vial Selenium.  However, putting those technologies together to create a sustainable test environment for these integrated technologies is a much more difficult task, and I felt that more time should be devoted to that.

Conclusion

A decent book for intermediate Django users; it drills down to the core functionality while giving you sufficient background information.   It is highly technical at points and a bit more time could be spent on the testing aspect.  I give it a 3/5

Posted in Django, Tech | Tagged , , , , , , | Leave a comment

Django JavaScript Integration: AJAX and jQuery by Jonathan Hayward

First, a bit of news.

Because of my prior experiences with Django, I’ve been contacted by the wonderful guys at Packt Publishing.  They’ve been generous enough to offer me a first-hand preview of a new book, Django JavaScript Integration: AJAX and jQuery by Jonathan Hayward

I’ll be doing a review of the book very soon, so keep an eye out for that.  But in the mean time, you can take a sneak peak at his work:

Chapter 10: Tinkering Around: Bugfixes,Friendlier Password Input, and a Directory That Tells Local Time

https://www.packtpub.com/sites/default/files/0349OS-Chapter-10-Django-JavaScript-Integration-AJAX-and-jQuery.pdf?utm_source=packtpub&utm_medium=free&utm_campaign=pdf
Posted in Django, News, Tech | Tagged , , , , , , , , | Leave a comment

Back and Nerdy as Ever

Hi all!

I’ve been pretty quiet for a while and that’s mostly because I’ve been terribly busy with work.  I’ve been assistant product manager, product manager, trade show manager, tech expert, the list goes on.  When you work for a small company, your title means nothing. If you asked me a year ago if I’d be doing what I’m doing now, I would say hell no.

Alas, with all of these “pros” there are “cons”.  I’ve been programming less and less over these past months, and frankly I miss it.  Managing a softdev team is one thing, diving into the code and creating something for yourself is quite another.

To address this issue, I’ve jumped back into django programming.  With the help of my fellow teammate at ProjectWin Industries *ahem*Derek*ahem*, I’ve been getting back into the game with Django, Git and other cool tech.

Hopefully I’ll find some time to share some of my “lessons learned” from being a project manager.  Its a tough job to do, and its made even harder by the fact that you know a bit about software development.

J.

Posted in News | Leave a comment