Wednesday, February 24, 2010

Thoughts for the Perfect Development Environment

What if your Development Environment helped you prioritize what you needed to work on?

I've never been very good at project management, and my memories of Microsoft Project aren't fond ones, but it is really helpful to know "what to work on when" in order to meet your scheduling goals.

I do the lion's share of my development work with a Model Driven Environment these days... so from the outset of my projects I have a high-level diagram of the components that need to be implemented in order to satisfy the client's requirements.

What if each component of the Model could be assigned and scheduled by the Project Manager, and I could see that schedule right in my Development Environment?

Let's take that a bit further... I am a big fan of  Test Driven Development, so lets give the Project Manager the ability to schedule the day on which my Component should pass a specific Test.  Give me plenty of warning so I can organize my own work, and give the PM the ability to run the Test on the scheduled day.  That way the PM will know whether or not I'm really on track.

Being a big fan of Iterative Development, I'd go further and give my PM the ability to schedule a series of Tests (increasing functionality over time) to guide each iteration of the project.  My Development Environment would let me know which tests had to be passed each day... giving me clear guidance on what really needs to be done in the right order.

Good development methodologies, like Test Driven Development and Iterative Development, can make a dramatic impact on your ability to produce solutions on schedule, so why not build them into our Development Environments?  Transform the static Gantt Charts of the Project Managers into Actionable Tasks in the Developer's workspace, and I think we'll get a whole lot better at delivering solutions on schedule.

No comments:

Post a Comment