Feature branching is a technique to work on multiple units of work in parallel. Say we have a sales application and we’re in the process of working on features to support selling cars, bikes and boats. And we’re working on each of these in parallel, likely over an extended period of time: So we have three feature branches in development.…
Month: February 2015
Code usability testing
Software professionals spend a lot of time creating, reading and maintaining code. Because so much time is spent using code, it can be a good idea to invest in the design of the code itself, in terms of usability. Take a look at most TVs these days, TV manufacturers seem to be pouring tons of money into making buttons blend…
Simplicity can be easy
Simplicity is desirable whenever possible, especially in business. People often claim it isn’t easy to achieve. As if it were some elusive art. In the context of a project, when simplicity is hard it’s a sign of neglect in some other aspect of the project. Often that aspect is in determining a clear objective upfront. An objective that states a…
Customer alignment
Revenue / profit targets alone neglect to consider the one factor that actually leads to revenue and profit: happy, satisfied customers. Imagine how successful you would be if you align your goals with what makes your customer successful. Otherwise, even if you are successful in the short term, you won’t be successful in the long term if you’re harming and…
Value Centered Design
User centered design is a valuable approach in creating software: User-centered design (UCD) is a process (not restricted to interfaces or technologies) in which the needs, wants, and limitations of end users of a product, service or process are given extensive attention at each stage of the design process. http://en.wikipedia.org/wiki/User-centered_design It requires putting yourself in the shoes of your users…
Sticker shock is a good thing
Sticker shock, finding out the price of something you want to buy, is something firms tend to avoid. That’s why hourly billing is so prevalent. It puts off the hard part of engaging an external partner. One of the reasons I price upfront is to get the money part of the conversation out of the way, so we can get…
Let teams use the tools and practices they want
It’s easy to get caught up in wanting consistency in practices and tooling across an organization. Consistency has many benefits. But, when consistency adds unreasonable delay in making decisions, then it can cause harm. Instead of adopting practices that pay substantial dividends, the organization stagnates for months and possibly years trying to make the right decision. If it’s hard to…
The revenue will follow
Many organizations obsess over measuring revenue. Both historically to see how much actual revenue was generated and estimations for how much revenue may be generated in the future. Objectives are set to increase revenue. And people lose sleep when expectations aren’t met. Which only leads to more measuring. Organizations also obsess over cash flow issues, especially timeliness of invoicing and…
Software development challenges can be opportunities for improvement
Monday I spoke with The New York XP & Agile Meetup Group and a question came up that alluded to the fact that sometimes we have challenges that seem insurmountable. For example, what if we work with highly sensitive information and we need to create databases that contain realistic, but not real information. At first glance, this seems like yet…
Fat or muscle?
When it comes to personal fitness some people want to lose fat, some people want to gain muscle and some people want to do both. Of course there are other priorities but fat loss and muscle gain are pretty common. What’s interesting is when people want to both lose fat and gain muscle simultaneously. Pulling that off is challenging to…