I thought agile is about schedule only?
It is not just planning
not just planning. Agile software developmentAgile software development is more about being a evolutionary development and a time-boxed iterative delivery with adaptive planning which encourages flexible response to changes requested by product owner.
Or am I designing incorrectly (with UML) - does anyone design by pseudocode?
In my experience charts are much easier to understandcharts are much easier to understand from a client stand perspective. They are visually appealing and many times very colorful and easy to follow. However, it is very hard to maintain charts due to the nature of disconnect with the actual application code. Every time a change is made in the application the developer has to take the time to update all documentation including charts. HoweverHowever, that problem can be easily eliminated once there is a BA in the team or company, who understands client business process well and can manage the UML diagrams.
Tools like UML can make this process easier but only works well with object oriented programming. Pseudo code is much easier for technical teams.
Pseudo code is much easier for technical teams. The process of creating this code greatly increases the speed of the actual programming language development phase.
There are some other alternatives that you may look as well:
- Data Flow Diagrams
- State Diagrams
- Process Flow Charts
Good references to look: Software Design Tutorials. In addition, i would personally advice to read a good blog on Pseudocode or Code? posted by Coding HorrorCoding Horror - my favorite blog to read :)my favorite blog to read :)
All in all, there are some trade-offs that you need to consider.