One of the nice things about launching a tool is the opportunity it allows in talking to our users. Over the last 3+ months we have spent a great deal of time talking to development teams about Architexa, and have gotten a great deal of insight not only into what they like and don’t like about Architexa, but more importantly, what pains they have felt. The consensus is clear: while developers do need to focus on coding on a day-to-day basis, to be successful on a long term they need to worry about the parts of the system that are shared between team members. These worries where what we focused on for the most recent release (v2) or Architexa.
A New Focus
When trying to dive into what developers wanted with these shared parts, we learned that they wanted to be effective with two things: their ‘environment’ – the frameworks and libraries that all the developers on the team need to use but typically don’t modify, and the ‘common’ – all the parts of the code that are modified by two or more people. Developers wanted better support with the code architecture.
For developers, dealing with the code architecture means that they not only need to design parts of new features, but also easily understand, describe, and manage the architecture. In such situations the big technologies of the day (like UML or Collaboration) often end up slowing developers by forcing to many requirements on them. When teams are large enough to have a Software Architect, then the Architect is able to help in some of the software architecture tasks, but at the end of the day it is often more than he can handle.
At Architexa we have been examining these developer needs a lot and trying to see where we can do our bit to help. When it comes to designing features – often a whiteboard works well in making sure that every team is on the same page. But when developers need to implement the features, fix bugs, or just improve performance in a manner consistent with what they have – developers often need to spend *alot* of time just going through code. And beyond making sense of the project, developers often need to communicate changes to other team members – both developers as well as the business guys. We have been hearing that developers need help working with the architecture of the code that they already have – in both understanding it quickly and documenting that understanding for others.
Building an easy-to-use tool suite for helping developers understand and document their code was our first goal with Architexa. Not only did we make sure to provide easy code exploration with our class diagrams and sequence diagrams, but we also made sure to provide layered architectural diagrams built straight from the code with support to easily dive into details just by double clicking. As we built those we realized that software development is inherently collaborative, and we added support to allow developers to share diagrams straight from their IDE using a very simple collaboration server.
As we made the above capabilities available to users, we found developers using Architexa on larger codebases than we had initially planned. Our recent release therefore focused on improving performance. We improved indexing performance by over 50% and added sophisticated build filtering and scheduling mechanisms. We also received requests from developers for supporting additional collaboration options amongst team members, and have therefore also included many features to make sharing diagrams even easier.
- E-Mail Based Collaboration – You can now share diagrams with multiple users via email. Archtiexa also keep tracks of e-mail addresses in an address book so that you access common addresses easily.
- Team Server – Beyond being able to share diagrams on our secure team server, you now have the option to also have the Architexa server running inside your company’s network for use by your teams.
- Easier Code Review – Architexa now provides source repository integration (SVN/ CVS) to easily document new features or review code. When making changes, you can ask Architexa to make a diagram based on any your changes.
We are eager for more feedback. How can we make Architexa better suite your needs?